All software

mesh-client

Client Stable

Cross-platform Electron desktop client for Meshtastic, MeshCore and Reticulum (LXMF) on macOS, Linux and Windows. Supports BLE, USB serial, Wi-Fi/TCP and MQTT; keeps local SQLite history, routing diagnostics, 16-language UI, TAK CoT gateway, PKI remote admin, mapping, telemetry and automated CI releases.

Kind
Clients
Maturity
Stable
Language
TypeScript
Licensing
Open source
Latest version
5.24.0 · 2026-07-19
License
MIT
Platforms
Linux macOS Windows

Screenshots

Node list with signal bars and health scores
Interactive map with position trails and layers
Routing diagnostics and mesh health panel
Channel chat with delivery and transport badges

Capabilities

Interfaces

  • GUI

Connections

  • BLE
  • Serial
  • USB
  • TCP
  • MQTT

Capabilities

  • Messaging
  • Contacts
  • Channels
  • Node configuration
  • Remote administration
  • Monitoring
  • Telemetry
  • Packet analysis
  • Mapping
  • Firmware update
  • Automation
  • Notifications
  • Bridging
  • Key management

Node role

  • Companion
  • Repeater
  • Room server

Install

Releases

from GitHub · updated 2026-07-19
  1. v5.24.0 # Latest 2 days ago · 2026-07-19 00:29 UTC

    [v5.24.0] - 2026-07-18

    Highlights

    Reticulum grows into a full comms suite this release: a new Relay Chat (RRC) IRC-style multi-hub client, a Remote tab for rnsh shells and rncp file transfer, watch-folder Nomad hosting with an upgraded Micron renderer, identity slots, propagation-node rename/delete, and much faster Peers at large path-table sizes. A broad protocol-parity pass adds QR generation/scan, lxm:// deep links, GPX export, LoRa signal metering, Meshtastic module event history, and per-send MeshCore flood-scope presets (now behind a split Send button). Messaging is more resilient (one-click location share, chat outbox drain on reconnect, extended reconnect budgets, humanized send-NAK errors), and cold-start BLE is serialized so an RNode connects before the RF radios. MeshCore MQTT now steers non-Colorado users to LetsMesh by default.

    What's Changed

    Features

    • Reticulum Remote tab (rnsh + rncp) — New Remote tab (Shell / Transfer / Saved / Settings) with an xterm shell, file send/fetch/listen, saved address book + inbound policy, and Chat DM rncp controls; trust-boundary hardening (picker-backed save dirs, size/offer caps, allow/block lists) (#692, implements #688, #689)
    • Reticulum Relay Chat (RRC) — IRC-style multi-pane client with up to 8 concurrent hub sessions, Favourites/Discovered hub picker, rooms + nicklist, /-command router, @mention unread badges + tray/toast notifications, and SQLite-persisted room history with retention pruning (#680, fixes #648)
    • Watch-folder Nomad hosting + Micron rendering — Host bounded static Nomad Network sites from a watched folder with auto-restore and filesystem watching; vendored RFnexus Micron parser adds table/anchor/partial support (#683, closes #613)
    • Protocol parity tools — Meshtastic module event history, LoRa signal metering, GPX export, MeshCore MCU temperature parsing, per-send flood-scope overrides, QR generation + camera/file ingest, custom lxm:// deep links, cross-platform camera permissions, and Reticulum identity slots with restart-based switching + contact fingerprint verification (9890611e, fixes #218, #477)
    • MeshCore flood-scope presets — User-managed scope list (seeded from the radio hashtag, cap 20) replacing Colorado/Denver hardcodes; scope now lives behind a chevron split-Send menu instead of an always-visible select (#692)
    • Messaging resilience — One-click chat location share (OSM text + optional Meshtastic waypoint) with outbox enqueue on failure, chat outbox drain on RF reconnect, extended BLE/serial reconnect budgets (8 attempts) with transport-aware "reconnecting N/M" banner, conservative/aggressive Store & Forward catch-up setting, and a hung-only Reticulum sidecar health watchdog (#692)
    • Reticulum propagation node management — Rename/delete remote propagation nodes with confirm dialog and persistence guards (#679)
    • Scale Reticulum Peers — Incremental peers_updated patches, path-table TTL, forced ?refresh=1 dumps, batched Map updates, and retention parity (hard 100k ceiling / 50k user cap) keep the UI responsive at ~50k peers ([#677](https://github.com/Colorado-Mesh/mesh-client/pull/677
  2. v5.23.0 # 6 days ago · 2026-07-14 14:48 UTC

    [v5.23.0] - 2026-07-14

    Important: Reticulum contacts cleanup (one-time)

    If you use Reticulum and see non-contacts (peers / announce-only destinations) listed under Contacts, that comes from an earlier bug that promoted announces into the contact list. This release stops that pollution going forward, but existing bad rows are not removed automatically.

    One-time fix: App tab → Danger Zone (Reticulum) → Clear all LXMF contacts.
    Peers stay on the Peers tab with their names; chat history is kept. Real contacts return when you message someone or use Save as contact.


    Highlights

    Reticulum gets much more reliable LXMF DMs (delivery announces, Direct/path-aware sends, saturation hardening), a safer contacts model, faster Peers at large path-table sizes, and interface UX fixes (TCP/UDP/I2P auto-restart, copy LXMF hash, mic for voice clips). Official macOS builds can now be Developer ID signed and notarized. Chat hop badges for MeshCore and Meshtastic are fixed, packaging/smoke and long-session stability are hardened, and several flasher / i18n / BT PIN nits land with it.

    What's Changed

    Features

    • Apple code signing and notarization — Official macOS artifacts can be Developer ID signed and notarized when repo secrets are set; fork/local builds still skip gracefully (#657)
    • Reticulum interfaces and chat UX — Auto-restart stack after TCP/UDP/I2P/pipe (and host/port) interface changes; copy full LXMF hash from Network identity; microphone permission path for LXMF voice clips; clearer DM egress badges; DM pills promoted into the main chat row; quieter propagation sync (#674)
    • Reticulum DM path reachability — Active DM destination probe / reachability indicator when the stack is live (#672)

    Bug Fixes

    • Reticulum LXMF delivery and inbound receive — Emit LXMF delivery announces, register inbound destinations, prefer Direct/path-aware signed sends, mark stale queued rows failed (#672)
    • Reticulum contacts vs announces — Named announces no longer create contacts; App Danger Zone can clear all LXMF contacts while keeping Peers and chat (#672)
    • Reticulum under transport saturation — Path-request backoff, diagnostics for link/timeouts/share_instance conflicts, stuck Sending → failed, propagation-node Chat notice (#669)
    • Reticulum identity / Peers / Nomad — Restore Reticulum tab on launch; header shows Network display name; faster Peers at large tables and after announces; JSON/msgpack peer name parsing; stack restart race fixes (#672, #666, #667)
    • Reticulum chat polish — Unread badges clear after reading DMs; hop count restoration; identity/announce defaults (#674, #667)
    • Chat hop badges (MeshCore + Meshtastic) — Companion pathLen → hop count; wider raw-log correlation fallback; Meshtastic viaMqtt / hopStart===0 aligned with node/diagnostics semantics (#670)
    • RNode flasher resilience — KISS command timeouts, ESP32/nRF52 stall watchdogs, BT pairing timeout, humanized errors (#664, #665)
    • Packaging / CI smoke — ZIP+DMG verification (mount before validate), AppImage extract cwd, no raw .app CI uploads, CodeQ …
  3. v5.22.0 # 9 days ago · 2026-07-11 15:01 UTC

    [v5.22.0] - 2026-07-11

    Highlights

    This release adds Reticulum RMAP v4 discovery (publish, per-interface controls, and a local discovery map tab), unified Reticulum identity import, and a much more scannable Sniffer tab across all protocols. It also fixes Meshtastic MQTT messages landing on the wrong channel tab, hardens triple-protocol BLE coexistence when Reticulum uses a Noble RNode alongside Meshtastic/MeshCore, and migrates the Colorado Mesh MQTT preset to port 443.

    What's Changed

    Features

    • Reticulum RMAP v4 discovery — Publish enabled interfaces to RMAP v4 using App GPS coordinates; per-interface discoverable toggles for RNode, KISS, BLE peer, I2P, UDP, and pipe; Connection tab status strip and sync badges; default hub sync with skip/repair/add; new Map tab with local discovery map (Leaflet), filters, path-table reachability, and link to rmap.world (#649)
    • Reticulum identity unification and import — Single unified identity apply path in the sidecar; backup JSON and private key import (hex/base64/file) on the Network tab with replace confirmation (#651)
    • Sniffer tab scanability — MeshCore on-air hop chains and path display; Meshtastic collapsed hops and transport/type badges; sortable columns, quick-filter chips, relative timestamps, and hover tooltips across all protocols (#643)

    Bug Fixes

    • Meshtastic MQTT channel routing — Prefer MQTT topic channel name over sender-local MeshPacket.channel slot for inbound text; add @index hint in Connection panel for MQTT-only setups (#644)
    • Triple-protocol BLE coexistence — Suspend Noble for Reticulum RNode pairing on macOS/Windows; paired yield lifecycle so the scan mutex releases on connect, grace expiry, or sidecar stop; reconnect hardening and quieter logs when Meshtastic/MeshCore resume after yield (#645, #653, #655)
    • Colorado Mesh MQTT preset — Align MeshCore broker preset to TLS WebSocket on port 443; migrate saved settings off legacy port 1883 (#647, #651)
    • Reticulum discovery map resilience — Cap discovery rows (2,000) with 7-day TTL eviction; preserve last-good data on fetch failure; clear stores on disconnect; partial-failure toasts for RMAP apply/disable (#650)
    • Meshtastic TCP connect — 20s timeout aligned with other transports; disconnect orphaned sockets on failed connect (#644)
    • Channel PSK validation — Reject keys shorter than 16 bytes; accept 1-byte default PSK and bare decrypt-only lengths consistent with MQTT manager (#646, #651)
    • Reticulum diagnostics — Omit expected SharedInstanceServer runtime note from actionable faults (#652)
    • I2P peer validation — Accept official 60-char testnet .b32.i2p addresses (#649)
    • MeshCore waiting-messages poll — Gate idle 5-minute safety poll; treat silent sync timeouts as empty queue (#655)
    • Connection banner accessibility — Status region labels, decorative reconnect pulse layer, improved contrast (#655)

    Othe

Show all 20 releases →

Project signals

popularity 2026-07-20 verification 2026-07-20
GitHub stars
75
Forks
9
Watchers
1
Open issues
7
Contributors
7
Release downloads
18,461
Latest downloads
327
Source available
Yes
Releases available
Yes
Signed releases
No
CI builds
Yes
Documentation
Yes
  • README lists screenshots in docs/images/; no local screenshots downloaded yet.
  • Multi-protocol client; supports Meshtastic, MeshCore and Reticulum via an AGPL Rust sidecar.

Tags