A resilient, local-first community communications and information network that operates without internet or central servers, built on the Reticulum Network Stack.
NeighborNet is designed for neighborhoods, local communities, and emergency response teams to stay connected when conventional telecom and internet infrastructure fails. It combines an ultra-efficient native cryptographic networking engine written in Rust with a clean, intuitive cross-platform Flutter application.
NeighborNet operates on an asymmetric, hierarchical topology:
ISP / MUNICIPAL NODE (Optional Backbone)
│
┌────────┴────────┐
│ │
Community Pi Community Pi (Always-on Transport Nodes)
/ \ / \
PC Phone PC Phone (Edge / Leaf Nodes)
- Asymmetric Roles: Mobile devices (iOS & Android) operate strictly as Edge / Leaf nodes with opportunistic store-and-forward sync to respect OS background suspension and battery limits. Raspberry Pis, home servers, and PCs act as backbone transport/storage relays.
- Underlying Protocol: Reticulum Network Stack (RNS) cryptographic substrate (Ed25519 identity, X25519 link encryption, 128-bit destination hashes).
- Application Layer: Signed Directed Acyclic Graph (DAG) for conflict-free, partition-tolerant store-and-forward replication of messages, bulletin posts, and emergency alerts.
- Zero Simulation: No fake or simulated peers. All nodes on the network are real cryptographic entities verified with asymmetric signatures.
neighbornet_core/: Native Rust crate providing:- Reticulum cryptography and identity management (
reticulum-rs). - Automatic UDP broadcast discovery (
0.0.0.0:42424). - Store-and-forward DAG sync engine.
- C FFI dynamic library export (
neighbornet_core.dll/.so/.dylib). - Standalone headless node daemon (
neighbornet_node) for Raspberry Pis and headless servers.
- Reticulum cryptography and identity management (
neighbornet_app/: Cross-platform Flutter desktop & mobile application:- Real-time reactive Dart FFI bridge.
- 6 community chat channels (General, Emergency, Neighborhood, Help, Buy/Sell, Technical).
- Persistent Community Bulletin with urgent/emergency alerts and local filtering.
- Cryptographic People & Nodes directory.
- Offline Emergency & Disaster Survival Guides with one-tap SOS broadcast.
- Rust (1.75+ or newer recommended)
- Flutter SDK (3.10+ or newer)
cd neighbornet_core
cargo build --releaseTo run a headless community relay node (e.g. on a Raspberry Pi or server):
# cargo run --release --bin neighbornet_node -- [port] [node_name] [--transport]
cargo run --release --bin neighbornet_node -- 42424 "Community_Pi_Relay" --transportCopy or link the compiled dynamic library into the app directory or system path, then run:
cd neighbornet_app
flutter pub get
flutter run -d windows # or macos, linux, android, iosAll core cryptographic operations, FFI bindings, and store-and-forward network partition sync behaviors are validated by comprehensive automated test suites:
# Run Rust unit, FFI, and partition recovery tests
cd neighbornet_core
cargo test
# Run Flutter FFI bridge and UI tests
cd ../neighbornet_app
flutter testThis project is licensed under the MIT License.