All software

MeshCore MQTT Live Map

Monitoring / Management 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.

Maintainer
yellowcooln ↗
Kind
Monitoring & Management
Maturity
Stable
Languages
Python JavaScript
Licensing
Open source
Latest version
1.9.4 · 2026-07-08
License
GPL-3.0-only
Platforms
Docker Web

Screenshots

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

Capabilities

Interfaces

  • Web
  • API
  • Headless

Connections

  • MQTT
  • WebSocket
  • HTTP

Capabilities

  • Monitoring
  • Telemetry
  • Packet analysis
  • Mapping

Install

Releases

from GitHub · updated 2026-07-08
  1. v1.9.4 # Latest 12 days ago · 2026-07-08 19:37 UTC

    This release improves route analysis for upgraded meshes, expands CoreScope integration, and fixes several deployment and UI issues that could prevent new features from appearing after updates.

    Highlights

    Route & History Improvements

    • Route and Route History path-byte filters now support multi-select checkboxes, allowing combinations such as 2-byte + 3-byte paths instead of a single selection.

    • Route Details now displays the correct 2-byte and 3-byte hop prefixes for multibyte paths.

    • Route History now records path-byte metadata for newly ingested routes, enabling byte-specific filtering while All continues to include older history entries.

    • Added configurable default route/history filters with:

      • ROUTE_BYTE_FILTER_DEFAULT
      • HISTORY_BYTE_FILTER_DEFAULT
    • Share links now preserve route-byte selections using parameters such as:

      • route_bytes=2b,3b

    CoreScope Integration

    • Route Details can now link directly to CoreScope node pages using CORESCOPE_URL.
    • Packet links automatically fall back to CoreScope packet pages when a packet analyzer is not configured.

    Map & UI Improvements

    • Added an optional blocked-name filter to hide nodes containing:

      • 🛑
      • 🚫

      Hidden nodes are excluded from snapshots, trails, routes, and history-related map views.

    • Added search and filtering to the Peers panel, allowing peers to be filtered by:

      • Name
      • Public key prefix
      • Role

      Visible peer links stay synchronized with the filtered results.

    Fixes

    • Fixed duplicate-node cleanup so stale records no longer render over newer active nodes.
    • Hardened HTML/template handling to prevent stale placeholders from breaking History or CoreScope links after updates.
    • Fixed Discord/OpenGraph previews for /map?lat=...&lon=... links so they generate preview images just like root map shares.

    Docker & Deployment

    • Docker publishing now runs on dev pushes in addition to releases.

    • Development builds now publish:

      • dev
      • latest
      • Short-SHA tags

    This makes keeping development deployments up to date significantly easier.

    Operator Notes

    New Environment Variables

    • CORESCOPE_URL
    • BLOCKED_NAME_SYMBOL_FILTER_ENABLED
    • ROUTE_BYTE_FILTER_DEFAULT
    • HISTORY_BYTE_FILTER_DEFAULT

    If you use bind-mounted overrides, make sure those files are updated as well. Stale mounted files (such as app.py) can override the updated application code and prevent new features and fixes from appearing after upgrading. **

    What's Changed

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

  2. v1.9.3 # 1 month 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

  3. v1.9.2 # 2 months 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

Show all 20 releases →

Project signals

popularity 2026-07-20 verification 2026-07-20
GitHub stars
78
Forks
14
Watchers
1
Open issues
0
Contributors
8
Release downloads
0
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