robin_net:start
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| robin_net:start [2026/03/11 15:33] – [Future Components] freedomotter | robin_net:start [2026/03/14 13:58] (current) – [Planned Features] freedomotter | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== RobinNet ====== | + | {{: |
| RobinNet is a lightweight **store-and-forward messaging network** designed for: | RobinNet is a lightweight **store-and-forward messaging network** designed for: | ||
| - | * Local LAN nodes | + | * local networks |
| - | * Mesh networking | + | * mesh networks |
| - | * Low-bandwidth packet radio links | + | * low-bandwidth packet radio links |
| - | * Emergency | + | * emergency |
| - | * Preparedness | + | * preparedness |
| - | The system allows independent nodes to exchange messages and bulletins through a simple synchronization protocol. | + | Each node stores messages locally and synchronizes |
| - | + | ||
| - | Each node stores messages locally and forwards | + | |
| ----- | ----- | ||
| Line 17: | Line 15: | ||
| ===== Design Philosophy ===== | ===== Design Philosophy ===== | ||
| - | RobinNet was designed with the following | + | RobinNet was designed with these principles: |
| - | * **Low bandwidth friendly** | + | * low bandwidth friendly |
| - | * **Offline | + | |
| - | * **Store-and-forward messaging** | + | * offline |
| - | * **Simple | + | * store-and-forward messaging |
| - | * **Runs on small hardware** | + | * simple |
| - | * **Easy to audit** | + | * easy auditing |
| Nodes can run on: | Nodes can run on: | ||
| Line 30: | Line 28: | ||
| * Raspberry Pi | * Raspberry Pi | ||
| * Linux servers | * Linux servers | ||
| - | * Small home lab machines | + | * home lab machines |
| - | * emergency | + | * field deployments |
| + | |||
| + | ----- | ||
| + | |||
| + | ===== System Architecture ===== | ||
| + | |||
| + | A RobinNet node contains: | ||
| + | |||
| + | * SQLite message database | ||
| + | * HTTP API server | ||
| + | * synchronization engine | ||
| + | * optional background daemon | ||
| + | |||
| + | Nodes exchange messages using a lightweight HTTP protocol. | ||
| ----- | ----- | ||
| Line 37: | Line 48: | ||
| ===== Core Components ===== | ===== Core Components ===== | ||
| - | ^ File ^ Purpose | + | ^ File ^ Description |
| | db.py | SQLite database layer | | | db.py | SQLite database layer | | ||
| | models.py | Message structures and hashing | | | models.py | Message structures and hashing | | ||
| - | | cli.py | Command line interface | | + | | cli.py | Command line operator |
| | api.py | HTTP API server | | | api.py | HTTP API server | | ||
| | sync.py | Peer synchronization engine | | | sync.py | Peer synchronization engine | | ||
| | main.py | Node launcher | | | main.py | Node launcher | | ||
| - | | daemon.py | Background worker | | + | | daemon.py | Background |
| ----- | ----- | ||
| - | ===== Architecture Overview | + | ===== Documentation |
| - | RobinNet | + | ^ Section ^ Description ^ |
| + | | [[robinnet: | ||
| + | | [[robinnet: | ||
| + | | [[robinnet: | ||
| + | | [[robinnet: | ||
| + | | [[robinnet: | ||
| + | | [[robinnet: | ||
| + | | [[robinnet: | ||
| - | Flow example: | + | ----- |
| - | * Node A creates a bulletin | + | ===== Example Workflow ===== |
| - | * Node A stores it locally | + | |
| - | * Node B requests summaries | + | |
| - | * Node B fetches missing messages | + | |
| - | * Node B stores them locally | + | |
| - | This allows asynchronous propagation across the network. | + | Typical operator workflow: |
| - | ----- | + | |
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | - inspect messages and trace history | ||
| - | ===== Documentation ===== | + | Example: |
| - | ^ Section ^ Description ^ | + | <code bash> |
| - | | [[robinnet:install]] | Installing and deploying RobinNet | | + | python -m robinnet.cli --db ./ |
| - | | [[robinnet:testing]] | Testing workflows | | + | python -m robinnet.cli --db ./ |
| - | | [[robinnet:api]] | Full API documentation | | + | python -m robinnet.cli --db ./ |
| + | python -m robinnet.cli --db ./ | ||
| + | python -m robinnet.cli --db ./ | ||
| + | </ | ||
| ----- | ----- | ||
| - | ===== Source Modules | + | ===== Planned Features |
| - | ^ Module ^ | + | Future development includes: |
| - | | [[robinnet:db]] | | + | |
| - | | [[robinnet: | + | * Cardinal graphical interface |
| - | | [[robinnet: | + | * Chikadee terminal interface |
| - | | [[robinnet: | + | * packet radio transport layer |
| - | | [[robinnet: | + | * mesh networking integration |
| - | | [[robinnet: | + | * moderation tools |
| + | * node discovery | ||
| + | * optional encryption | ||
| ----- | ----- | ||
| - | ===== Future Components | + | ===== Cardinal |
| - | Planned additions: | + | Cardinal will be the future graphical interface for RobinNet. |
| - | * Cardinal UI (PyQt6) | + | Goals: |
| - | * RF transport | + | |
| - | * message moderation | + | * friendly node management |
| - | * node discovery | + | * peer monitoring |
| - | * mesh support | + | * message browsing |
| - | * optional encryption | + | * sync visualization |
| + | * network status | ||
| - | [[start: | + | Cardinal will communicate with RobinNet |
robin_net/start.1773243222.txt.gz · Last modified: by freedomotter
