▓██ ██▓ ▄▄▄ ███▄ ▄███▓ ██████
▒██ ██▒▒████▄ ▓██▒▀█▀ ██▒▒██ ▒
▒██ ██░▒██ ▀█▄ ▓██ ▓██░░ ▓██▄
░ ▐██▓░░██▄▄▄▄██ ▒██ ▒██ ▒ ██▒
░ ██▒▓░ ▓█ ▓██▒▒██▒ ░██▒▒██████▒▒
██▒▒▒ ▒▒ ▓▒█░░ ▒░ ░ ░▒ ▒▓▒ ▒ ░
▓██ ░▒░ ▒ ▒▒ ░░ ░ ░░ ░▒ ░ ░
▒ ▒ ░░ ░ ▒ ░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░
░ ░
Yet Another Meshtastic Server
Inspired slightly by MeshInfo, MeshSense, Network-Managment-Client, and others
I was unhappy with all of these in some way. They're really good for getting a awesome overview. but I'm a bit of a whore for nice stats and data. This project serves as all that + a full historical backend of a meshtastic network.
What it does (currently)
- Logs meshtastic packets
- Saves them to a database
- Shows nodes in a ugly egui frontend
- Shows distance to the connected node
What it doesn't (currently)
Rough order of how much I want to add support.
- Working tiling UI (in progress!)
-
Shows Historical Data as a nice graph
-
SNR (both individual neighbours and overall)
- RSSI is done per packet, instead of in nodeinfo. this seems... clunky.
- We're gonna have to log packets coming directly from neighbours, and store the rssi. it seems like that might be the only way to actually get neighbours?
- potentially show helpful guides on why each node is bad quality. (https://sensing-labs.com/f-a-q/a-good-radio-level/) ?
- Messages per day?
- Number of Nodes seen
- Channel Util
- any valid SQLite query?
- Location History
- Battery
- Sensor Statisics
-
SNR (both individual neighbours and overall)
-
Live Map of positions
- Can we show the potential nodes that don't have GPS?
-
Can we use heard traceroutes to map out neighbours in the mesh?
- Can we send out some traceroutes every few hours to map it if we don't? (some people don't like meshsense for this reason)
- Generates a nice public dashboard (static http, once every hour?)
- Supports anything other than TCP Connection.
- Bluetooth (how? wtf? i hate bluetooth!)
-
Direct Serial (this seems easy?)
- Serial support can be cheated, ser2net works fine.
- MQTT for extra nodes?
- Lets you send messages/packets
- Supports multiple meshtastic nodes
- Runs meshtastic (you still need a meshtastic device)
- Runs ON the meshtastic device (you need a separate device)
- Maybe in the future we can have this compiled down to wasm, runs in browser and saves the db in browser. hosted on the esp32 itself.
- Is it small enough once compiled to wasm?
- Is there support for local database saving?
Installation
You can install this multiple ways.
Docker
- use
/docs/docker-compose.yaml
-
docker compose up -d
to run it
Native
git clone
cargo run
Documentation & Support
make a pr for /docs
or a wiki i guess.
Contributing
make a pr
License
AGPL - don't be a dick, keep it open source.
Credits
Me Me from the past who wrote this idea down Me from the future for completing this project (HA!)