-
Notifications
You must be signed in to change notification settings - Fork 0
OffGridComm is a decentralized, low-bandwidth communications platform built for ham radio frequencies. Inspired by classic BBS systems and modern mesh networks, it is designed for asynchronous, legally compliant communication in offline and grid-down environments.
License
GeorgeCottrell/OffGridComm
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# OffGridComm **OffGridComm** is a decentralized, low-bandwidth communications platform built for ham radio frequencies. Inspired by classic BBS systems and modern mesh networks, it is designed for asynchronous, legally compliant communication in offline and grid-down environments. --- ## 🎯 Purpose OffGridComm enables licensed amateur radio operators to: * Send and receive direct or group messages * Participate in Usenet-style interest-based discussion boards * Relay messages node-to-node using amateur radio frequencies (no internet required) * Operate with a clean, ANSI-art capable text-based interface (TUI) * Ensure message authenticity through callsign-based identity * Support mouse and keyboard navigation via modern terminal emulators (e.g. PuTTY, SyncTERM) --- ## 🔐 Legal Compliance OffGridComm is designed in full alignment with **FCC Part 97** regulations: * No encryption is used * All messages are tied to valid amateur radio callsigns * All content is non-commercial * Supports only licensed operators as authenticated users --- ## 🚧 MVP (Minimum Viable Product) ### ✅ Phase 1 Goals: * [ ] TUI interface with ANSI display and mouse/keyboard navigation * [ ] Callsign-based login and identity system * [ ] Message composition, viewing, and local storage * [ ] Group message board system (like Usenet) * [ ] RF packet exchange between nodes (via AX.25 or other modes) * [ ] Local deduplication and message propagation system * [ ] Static offline callsign database verification ### 🔜 Phase 2 Goals: * [ ] Internet-connected nodes can fetch up-to-date callsign databases * [ ] Online nodes compress and sign these updates * [ ] Offline nodes receive updates via RF from trusted peers * [ ] Support international callsign data via modular country-specific importers * [ ] RF-safe distribution of additional resources (weather, bulletins, software updates) --- ## 🧱 Architecture Overview OffGridComm provides **two user interfaces** built on the same backend system: * **ANSI Terminal Interface (TUI)**: For classic BBS-style navigation via terminal clients (PuTTY, SyncTERM) * **Built-in Web Server**: Offers a retro-themed browser-based interface inspired by AOL and CompuServe Both interfaces share the same core logic and data store, ensuring: * Seamless access to messages and boards regardless of client * Consistent authentication and identity tracking * Unified user experience whether connecting via RF terminal or local browser Each **OffGridComm Node** includes: * TUI frontend with ANSI support (`ratatui`) * Message system (direct, group) * Identity/auth engine (callsign + password) * RF interface layer (Direwolf, soundmodem, etc.) * Node sync protocol (custom, store-and-forward) * Optional internet module to fetch and rebroadcast trusted data updates The built-in web server also supports **initial configuration mode**, allowing operators to: * Set their callsign, location, and license details * Detect and configure connected RF hardware * Review logs and monitor synchronization status * Manage local storage and network preferences This configuration mode is accessible from a local browser (e.g., via `http://192.168.0.1:8080`) and optionally supports **embedded PHP pages** served by the built-in file handler for users familiar with that environment. > Future versions will support automated scheduling, message compression, and regional relays. --- ## 🛠️ Built With * Rust 🦠 (core logic + TUI) * `ratatui`, `crossterm`, and `tui-input` (terminal UI) * `serde`, `serde_json`, `ron`, and `toml` (serialization and config) * `sqlx` and `rusqlite` (SQLite database support) * `tokio`, `axum`, `tower`, `hyper`, and `tokio-tungstenite` (async runtime and web stack) * `argon2`, `blake3`, `uuid`, and `rand` (crypto and identity) * `flate2`, `lz4_flex`, and `zstd` (compression) * `reqwest` and `dotenvy` (HTTP and environment handling) * `serialport` and `ax25` (RF transport, serial interface) * `tracing`, `anyhow`, and `thiserror` (logging and error handling) --- ## 📡 Supported Transmission Modes OffGridComm is designed to be transport-agnostic. Supported RF communication modes include: * **AX.25 (1200/9600 baud)** — Reliable and open * **VARA FM** (optional) — Fast, soundcard-based modem up to 25 kbps * **JS8Call / FreeDV / FT8** (planned) — Ultra-low-bandwidth for extreme conditions * **Microwave Mesh (HamWAN / AREDN)** — High-speed regional links > Note: VARA FM is proprietary software and requires a license for full-speed operation. ### 🔁 Multi-Mode Interoperability Nodes can operate multiple transmission modes in parallel, depending on available hardware and configuration: * A single node can send and receive via **AX.25**, **VARA FM**, and other modes simultaneously * Messages can be routed intelligently based on bandwidth, reliability, or intended recipients * Broadcasts may be sent redundantly over multiple modes to maximize reach This architecture allows interoperability between modern and legacy packet systems while enabling performance scaling across a diverse RF environment. ### 🔊 What About Voice Communication? While OffGridComm is designed primarily for asynchronous text-based messaging, higher-quality **two-way audio communication** is under consideration for supported modes: * **VARA FM (full license)** and **FreeDV** offer potential for intelligible low-rate voice * Quality will depend on mode, SNR, and hardware setup Planned voice support: * Push-to-talk style audio exchange * Optional voice mail-style asynchronous clips * ID tagging and callsign framing for FCC compliance These will be opt-in features for compatible nodes with voice-capable configurations. --- ## 🔄 Callsign Verification Strategy OffGridComm uses a hybrid approach: * A static snapshot of a public callsign database (FCC or other) * Optional self-attestation or license submission during setup * Optional download of updated databases by internet-connected nodes * Propagation of updates over RF using signed and timestamped update packages This ensures: * Fully offline verification capability * Legal operator compliance * Prevents impersonation or rogue node behavior International support is provided via modular importers for country-specific licensing databases. --- ## 🔏 Password Handling and FCC Compliance OffGridComm does not transmit or share passwords over RF. All passwords are: * Used only for **local login authentication** * Stored securely on-device using modern password hashing (e.g., Argon2) * Never transmitted, encrypted or otherwise, in compliance with FCC Part 97 Operator identity over the network is established via: * Publicly visible callsigns * Optional node-origin signatures (plaintext verifiable) This design ensures both user accountability and regulatory compliance without compromising privacy or system integrity. --- ##⚠️ Legal Notice You must be a **licensed amateur radio operator** to use OffGridComm over RF bands. Unauthorized or encrypted use over amateur frequencies is **prohibited** and may violate local or national laws. --- ## 📜 License This project is licensed under the [MIT License](LICENSE), unless otherwise stated. --- ## 🤝 Contributions Pull requests, feature proposals, and bug reports are welcome — especially from licensed hams, emergency radio operators, and radio hackers. --- ## 📱 Stay Tuned OffGridComm is in active development. Future versions will support: * Automated propagation scheduling * RF beaconing and mesh discovery * Custom protocol modes for extreme QRP conditions * Print/PDF field deployment guides Join the wave of resilient, decentralized communication.
About
OffGridComm is a decentralized, low-bandwidth communications platform built for ham radio frequencies. Inspired by classic BBS systems and modern mesh networks, it is designed for asynchronous, legally compliant communication in offline and grid-down environments.
Topics
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published