DAPPS¶
Distributed Asynchronous Packet Pub-Sub - an asynchronous messaging overlay for packet-radio networks. Apps queue messages destined for app@CALLSIGN, DAPPS finds a path and delivers when it can. Real-time connectivity is not a goal; think of it as packet mail for application developers, with proper delivery semantics and a modern app interface.
What this manual covers¶
- Getting started - what DAPPS is, why you might want it, and a 10-minute tour from install to first message.
- Install - Linux/systemd, Docker, Windows, macOS.
- Configure - every operator-tunable knob, set via environment variable or the dashboard.
- Connect a node - wire DAPPS up to your packet node. BPQ via AGW and XRouter via RHPv2 supported today; MeshCore in flight.
- Run - what each background loop does and how to watch it.
- Tune - airtime budgets, probe strategies, fragment thresholds, routing algorithm.
- Discovery & routing - channels, beacons, probes, neighbours, route hints.
- Operate - dashboard,
/Healthand/Operational, MQTT heartbeat. - Audit log - persistent record of every transmission, with the reason for it.
- Update - banner, one-click apply, MCP-driven, rollback.
- MCP for assistants - let an AI assistant drive the operator surface.
- App developers - concepts, tutorial, reference, sample gallery.
- Troubleshooting - common failure modes and how to diagnose.
- Glossary - terms.
Bearer-agnostic by design¶
DAPPS does not require BPQ. The default setup guide is BPQ because that's where the on-air ecosystem lives today, but DAPPS talks to the bearer through a small interface - anything that exposes an AGW-compatible session bearer works the same way. RHPv2 (Remote Host Protocol v2) is already in tree alongside AGW: XRouter operators set DAPPS_NODE_BEARER=rhpv2 and DAPPS uses RHPv2 instead. A non-stream bearer is also in tree (UDP datagram, used as the test stand-in for what MeshCore will become). The bits that change per bearer are isolated; the rest of the system doesn't care whether your link is 1200-baud VHF AX.25 or LoRa mesh.
Status¶
- Protocol: DAPPSv1 specified end-to-end. App authors want the protocol reference; second-source implementers want Implement DAPPS.
- Implementation: in active development. The versioning policy describes where breaking changes are still fair game versus where compatibility is preserved.
- Bearers: AGW (BPQ today, any AGW host in principle) and RHPv2 (XRouter today; mainline BPQ when it ships RHPv2) are production-quality. MeshCore Companion + KISS are planned, not yet shipped.
If you've never heard of DAPPS before, start here.