docs: update README with layered architecture

Co-authored-by: Zakary Timson
This commit is contained in:
2026-09-21 14:10:55 -04:00
co-authored by Zakary Timson
parent 6f06b1e48b
commit e910855427
+151 -83
View File
@@ -1,83 +1,151 @@
# Multipurpose Radio Server (MRS) # Multipurpose Radio Server (MRS)
--- ---
###### By: Zakary Timson ###### By: Zakary Timson
###### Date: September 16, 2025 ###### Date: September 2026
###### Version: 1.0 ###### Version: 1.0
--- ---
![](https://meshtastic.org/assets/images/lora-topology-2-c80684f1eafdf2a71fbaf26e494fb26d.webp) > Offline-first radio and connectivity hub for service-denied or isolated environments.
> Designed for disaster response, long-range tracking, reconnaissance, and resilient communications.
> Compact communication and information exchange server on Raspberry Pi for service-denied areas.
> Ideal for disasters, unserviced environments, long-range tracking, and offline-first operations. ---
--- ## Architecture Overview
## Table of Contents MRS is now structured around three modular layers:
- [Multipurpose Radio Server](#multipurpose-radio-server-mrs)
- [Description](#description) - **MRS (Core Layer)**: Hardware-focused connectivity and reconnaissance
- [Inspiration](#inspiration) - **OpenCast (Media/Control Layer)**: Screen casting, control panel, remote desktop
- [Capabilities](#capabilities) - **AI-harness (Interface Layer)**: Unified access to AI, knowledge base, and file services
- [Manual](#manual)
- [Setup](docs/setup.md) ---
- [Introduction](#introduction) <!-- Home + Settings page -->
- [Connecting & Wifi](#connecting) ## Core Services
- [Mesh Network](#mesh-network)
- [LoRa Radio](#lora-radio) ### Connectivity
- [FileBrowser](#filebrowser)
- [Desktop Environment](#desktop-environment) - **900 MHz / 2.4/5 GHz Mesh WiFi** via B.A.T.M.A.N. routing (1 km+)
- Services - **LoRa Radio** communication (Meshtastic node, 1-100s of km)
- [AI Assistant](#ai-assistant) - **HaLow integration** for long-range WiFi mesh connectivity
- [Archive](#archive)
- [ATAK](#atak) ### Hardware Interface
- [Maps](docs/maps.md)
- [Messaging](#messaging) - **TV/Display connection** via OpenCast for live data visualization
- [Pentesting](#pentesting) - **Meshtastic LoRa node** for field operations and tracking
- [SDR](#sdr) - **Radio frequency tools** (SDRAngel for spectrum analysis)
- [SSH](#ssh)
- [VPN](#vpn) ### Reconnaissance & Security
- [Todo](#todo)
- [License](LICENSE) - WiFi & Bluetooth reconnaissance (Bettercap, nmap, masscan)
- Red team operations (aircrack, nikto, Metasploit)
--- - Radio frequency recon (SDRAngel)
- ADS-B plane tracking (tar1090)
## Description
### Networking
### Inspiration
- [A.C.I.D](https://www.youtube.com/watch?v=nSrYmkGq9TM) - Captive portal with QR code connection
- [Offline internet](https://www.youtube.com/watch?v=L5RJZmuRJKA) - Hostapd + dnsmasq integration
- [Meshtastic radios](https://morosx.com/ols/products/xtak-lora-mesh) - Local state feed at `localhost:8088/status`
- [HaLow mesh network](https://www.youtube.com/watch?v=ofR7GFNZzJY) - MCP server for LLM integration
- [Signal Intelligence](https://www.youtube.com/watch?v=Nam87B2u6bo&t=1942s)
---
### Capabilities
## Layered Architecture
**Networking**
- 900 MHz **HaLow** / 2.4 GHz / 5 GHz Mesh WiFi using **B.A.T.M.A.N.** (1 km +) ### MRS Core Layer
- LoRa radio communication (1-100s of kms)
- Connect to AP with QR code using **dnsmasq, hostapd** MRS runs as the foundational service layer, handling all hardware connectivity and reconnaissance tools. It provides:
- Captive portal & device home page + settings page
- Mesh WiFi and LoRa backbone
**Communication** - Reconnaissance tool orchestration
- Offline & federated text/voice/file chat using **Synapse** and **Element** - Hardware telemetry and status
- Built-in LoRa **Meshtastic** node (≈2–15 km) - Local API endpoint for layer communication
- GPS positioning & offline maps using **gpsd, chrony**
- Track people & logistics with **ATAK** ### OpenCast Layer
**Information Archive** OpenCast serves as the control surface and media orchestrator:
- Offline AI/LLM assistant using **Ollama** and **OpenWebUI**
- Offline Wikipedia, Ghetesburg project & more using **Kiwix** - Screen casting to display hardware
- File sharing & syncing using **FileBrowser** and **Rclone** - Control panel for system navigation
- Remote desktop usig **RDP** and **Apache Guacamole** - Built-in VNC remote desktop access
- Puppeteer management via API endpoints
**Recon & Security** - Runs on port 3000
- WiFi & Bluetooth reconnaissance with **Bettercap, nmap, masscan** and more
- Red team operations with **aircrack, nikto, Metasploit** and more ### AI-harness Layer
- Radio frequency recon using **SDRAngel**
- ADS-B plane tracking with **tar1090** The harness provides a unified interface to knowledge and intelligence services:
## License - Offline AI assistant (Liter + Gemma4-e2b)
- ZIM archive access (Kiwix)
This project is licensed under the [MIT License](LICENSE). - File hosting and management
- Notes and data management
- Replaces legacy Ollama/OpenWebUI and FileBrowser
---
## Services
### Screen & Display
- **OpenCast TV**: Connects display hardware to MRS data streams
- **Blur/Sticky UI**: Persistent blur effect over idle data feeds
- **Notification overlay**: System alerts and event notifications
### Media & Casting
- **Puppeteer casting**: Web page "casting" to display
- **Image gallery**: Fallback to random images or local photo selection
- **Remote desktop**: VNC integration via OpenCast backend
### Intelligence & Tools
- **AI Assistant**: Gemma4-e2b-powered offline AI
- **ZIM Archive**: Kiwix offline knowledge base
- **Recon Suite**: Network, radio, and hardware scanning tools
- **File Management**: Harness-integrated file hosting and editing
---
## Quick Start
```bash
# Clone and install
git clone https://git.zakscode.com/ztimson/mrs
cd mrs
# Install base dependencies
npm ci
# Start services
# - MRS core: defaults to port 8088
# - OpenCast: defaults to port 3000
# - AI-harness: defaults to port 3001
```
---
## Documentation
- [Setup Guide](docs/setup.md)
- [Mesh Network](docs/mesh.md)
- [Maps & Geolocation](docs/maps.md)
- [API Documentation](docs/api.md) - Coming soon
---
## Todo
- [ ] Finalize service separation across layers
- [ ] Publish API contracts between MRS, OpenCast, and harness
- [ ] Add telemetry endpoint for remote monitoring
- [ ] Implement automated OTA update mechanism
- [ ] Add more recon tools to the core suite
---
## License
This project is licensed under the [MIT License](LICENSE).