Meshtastic Web Chat is a lightweight, self-hosted web-based chat system that bridges local network users to the Meshtastic mesh network. It allows anyone connected to your local network to participate in mesh chats through a web browser even if they don't have a Meshtastic device.
By connecting a Meshtastic node via USB to your offline/local server, you can instantly provide seamless browser-based access to the mesh.
- π‘ Web-Based Mesh Access β Chat with the Meshtastic mesh using only a web browser.
- π No Device Required β Users on the local network can join the chat without Meshtastic hardware.
- π Offline-First β Fully self-hosted and operates without internet access.
- β‘ Real-Time Updates β Powered by Server-Sent Events (SSE) for instant message delivery.
- π§ Powered by Open Source β Built with Flask, Meshtastic Python API, and other open-source tools.
- Python 3.x
- Flask
- Meshtastic Python API (
meshtastic
) - A Meshtastic node connected via USB
-
Clone the Repository
git clone https://github.com/axlixr/meshtastic-web-chat.git cd meshtastic-web-chat
-
Install Dependencies
pip install flask meshtastic pubsub
-
Connect Your Meshtastic Node via USB
-
Run the Server
python app.py
-
Access the Chat
- On any device connected to the same network, go to:
http://[server-ip]:5000
- Local users access the chat via a web browser and set a username when they join.
- Messages are sent from the browser to the server using simple POST requests.
- The server automatically tags messages with the userβs chosen username before broadcasting them to the Meshtastic mesh via the USB-connected node.
- Messages sent from the mesh (from other nodes) are displayed in the chat with their node name or ID when available.
- New messages (from both the mesh and local users) are pushed to all connected browsers in real-time using Server-Sent Events (SSE).
- This system ensures that all participants can see who is saying what - both web users and mesh users are clearly identified.
GNU General Public License v3.0
Created by Axl.
Disclaimer: This is an unofficial project and is not affiliated with or endorsed by the Meshtastic team.
- Meshtastic β Mesh communication platform.
- Meshtastic Python API β For direct serial communication with the mesh.
- Flask β Lightweight web server and framework.