Building a Decentralized Mesh Network in Rust: GhostWire
GhostWire is an open protocol and reference implementation for resilient peer-to-peer communication. It is built in Rust with libp2p, XChaCha20-Poly1305, X25519/ML-KEM hybrid post-quantum key exchange, delay-tolerant networking, and AI-assisted routing.
Why GhostWire exists
Most communication systems assume a working internet, centralized servers, and stable identities. GhostWire assumes the opposite: intermittent connectivity, untrusted infrastructure, and real physical threats. It is built for disaster responders, rural communities, privacy advocates, and developers who need communication that still works when the normal stack fails.
What works today
- Encrypted P2P messaging over libp2p
- Forward secrecy with a symmetric ratchet
- Peer discovery with mDNS, DHT, and bootstrap peers
- Delay-tolerant store-carry-forward routing
- Post-quantum key encapsulation (ML-KEM)
- Terminal UI and Axum-based REST API
- 200+ passing tests
Protocol stack
Application: messaging, knowledge ark, ghost channels API: REST, WebSocket, CLI, TUI Services: block store, mailbox, social, Sphinx AI routing: LightGBM -> Gemma 4 -> GNN -> PRoPHET Crypto: XChaCha20-Poly1305, X25519, ML-KEM-768 Transports: TCP, WebRTC, BLE, LoRa, obfs4, Reticulum Mesh: libp2p GossipSub, Kademlia DHT, DTN Quick start
git clone https://codeberg.org/PHANTOMOJO/GhostWire-secure-mesh-communication.git cd GhostWire-secure-mesh-communication/ghostwire cargo run --release The node starts on http://127.0.0.1:8080. Mesh networking activates with --mesh-port.
Build on it
GhostWire is a protocol, not just an app. Use it as a Rust crate, REST API, or implement the spec in another language.
Read the spec: docs/spec/
GitHub/Codeberg: https://codeberg.org/PHANTOMOJO/GhostWire-secure-mesh-communication
Website: https://www.ghostwire.cc/
Contribute
We welcome code, tests, docs, security review, and field testing. Good first issues and help-wanted labels are being prepared now. If you work on mesh networking, privacy, DTN, or Rust crypto, your review would help.