MeshCore Ninja Alpha
All software

MeshCore MQTT Live Map

Tool Stable

Self-hosted real-time MeshCore traffic map that decodes MQTT packet feeds and visualizes nodes, routes, peers, activity heat, coverage, line-of-sight and propagation data in an installable web app.

Screenshots

Live nodes, routes and mesh activity
Route history and network analysis tools

Details

Kind
Tools
Maturity
Stable
Maintainer
yellowcooln
Languages
python, javascript
Licensing
Open source
License
GPL-3.0-only
Latest version
1.9.3 · 2026-06-09

Capabilities

Platforms

dockerweb

Interfaces

WebAPIHeadless

Connections

MQTTWebSocketHTTP

Capabilities

MonitoringTelemetryPacket analysisMapping

Install

Releases

from GitHub · updated 2026-06-23
  1. v1.9.3 # Latest 15 days ago · 2026-06-09 00:32 UTC

    This release focuses on security hardening and dependency maintenance.

    Security

    • Fixed issue #74 by hardening frontend rendering against stored-XSS style payloads from untrusted MeshCore/MQTT fields.
    • Node names, peer names, route labels, search results, permanent labels, node popups, Peers rows, Route Details, History popups, and Coverage popups now escape displayed HTML before rendering.
    • Map behavior is unchanged: public keys, coordinates, QR payloads, copy actions, route handling, peer selection, and filters continue using the original data.

    Maintenance

    • Updated backend dependencies:
      • fastapi==0.136.3
      • uvicorn[standard]==0.49.0
      • httpx==0.28.1
    • Added httpx2==2.3.0 for dev tests so FastAPI/Starlette TestClient runs without the deprecated-httpx warning.

    Testing

    • 98 passed, 2 skipped

    What's Changed

    Full Changelog: https://github.com/yellowcooln/meshcore-mqtt-live-map/compare/v1.9.2...v.1.9.3

  2. v1.9.2 # 27 days ago · 2026-05-28 02:14 UTC

    v1.9.2 - Route History Fixes, LOS Coordinates, and Peers Panel Cleanup

    Highlights

    This release fixes Route History disable behavior, improves LOS point entry, and cleans up the Peers panel with feedback from the community.


    Added

    • Added direct latitude/longitude entry to the LOS panel Related: #71

    • Added per-pin LOS height input for above-ground-level values Related: #71

    • Added PEERS_DEFAULT_OPEN=false so admins can choose whether the Peers tool starts active on page load Related: #72

    • Added a MQTT-only filter beside the MQTT online legend item

      • Shows only MQTT-online nodes

      • Hides:

        • Non-MQTT markers
        • Trails
        • Routes
        • Hop markers
        • Route details
        • Peer lines
      • Does not save to browser storage

      • Is not included in share links


    Changed

    • Improved LOS point editing so pins can be:

      • Added
      • Selected
      • Dragged
      • Updated directly from the coordinate editor Related: #71
    • Kept LOS and Propagation as separate tools so obstruction checks and RF coverage planning remain independent workflows Related: #71

    • Reworked the Peers panel layout based on ideas and testing from Stormlove / @beachmiles Related: #72

    • Moved Clear peers into the Peers panel header beside Minimize Related: #72

    • Updated the Peers panel title to use the selected node name, with the 24h window displayed underneath Related: #72

    • Updated Incoming/Outgoing headings to display:

      • Rx/Tx packet totals
      • Unique peer counts
      • Blue/purple line hints
    • Updated peer row stats to display:

      • Count
      • Percent
      • Distance
    • Tuned Peers panel scrolling so long peer lists scroll inside capped Incoming/Outgoing sections instead of forcing the full panel height on mobile Related: #72


    Fixed

    • Fixed Docker Compose deployments not passing Route History environment variables into the container Related: #68

    • Fixed ROUTE_HISTORY_ENABLED=false so it now fully disables:

      • History button
      • History panel
      • /snapshot history payloads
      • WebSocket history payloads
      • Route-history file growth from live traffic
    • Fixed Peers counts going empty when Route History was disabled and older history buckets expired Related: #68

    • Peers now use dedicated rolling peer-history buckets, so peer counts continue updating from live routes even when Route History is disabled Related: #68


    Credits

    Thanks to Stormlove / @beachmiles for the Peers panel cleanup ideas, testing, and follow-up feedback in #72.

    What's Changed

    Full Changelog: https://github.com/yellowcooln/meshcore-mqtt-live-map/compare/v1.9.1...v1.9.2

  3. v1.9.1 # 2 months ago · 2026-05-08 19:15 UTC

    Fixed

    • Fixed issue #68: ROUTE_HISTORY_ENABLED=false now disables Route History end-to-end instead of only stopping new history recording

    • When Route History is disabled:

      • The History tool button is removed
      • The History panel does not load
      • history=on in the URL no longer re-enables the feature
      • /snapshot no longer returns history_edges or a nonzero history window
      • The realtime WebSocket snapshot no longer publishes history payloads

    Behavior Change

    ROUTE_HISTORY_ENABLED now behaves as a true feature flag for both:

    • Backend history payloads
    • Frontend History tool/UI

    This makes it practical to disable Route History entirely on:

    • High-volume meshes
    • Lower-resource deployments

    Config

    Use:

    ROUTE_HISTORY_ENABLED=false

    This now fully disables:

    • History tool UI
    • History snapshot payloads
    • History panel activation
    • Hidden frontend history state

    Validation

    • pytest -q tests/test_api_auth.py tests/test_websocket_snapshot.py

      • 13 passed
    • node --check backend/static/app.js

    • python3 -m py_compile backend/*.py

    What's Changed

    Full Changelog: https://github.com/yellowcooln/meshcore-mqtt-live-map/compare/v1.9.0...v1.9.1

Show all 20 releases →

Project signals

popularity 2026-06-23 verification 2026-06-23
GitHub stars
74
Forks
13
Watchers
1
Open issues
0
Contributors
8
Latest downloads
0
Source available
Yes
Releases available
Yes
Signed releases
No
CI builds
Yes
Documentation
Yes
  • Supports MQTT over TCP or WebSockets with optional TLS and production token protection.
  • The Greater Boston deployment is the reference instance; several community meshes operate independent deployments.

Tags