Amiga-Z Wiki

“Modern tools for old-school communities.”

User Tools

Site Tools


robin_net:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
robin_net:start [2026/03/11 15:33] – [Future Components] freedomotterrobin_net:start [2026/03/14 13:58] (current) – [Planned Features] freedomotter
Line 1: Line 1:
-====== RobinNet ======+{{:robin_net:grok-image-22e2e382-7dde-49d7-b0c3-3d284f61ec05.jpg?200 |}}====== 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 communications +  * emergency communications 
-  * Preparedness infrastructure+  * preparedness infrastructure
  
-The system allows independent nodes to exchange messages and bulletins through a simple synchronization protocol. +Each node stores messages locally and synchronizes them with peer nodes.
- +
-Each node stores messages locally and forwards them to peers.+
  
 ----- -----
Line 17: Line 15:
 ===== Design Philosophy ===== ===== Design Philosophy =====
  
-RobinNet was designed with the following principles:+RobinNet was designed with these principles:
  
-  * **Low bandwidth friendly** +  * low bandwidth friendly 
-  * **Offline capable** +  resilient networking 
-  * **Store-and-forward messaging** +  * offline capable 
-  * **Simple architecture** +  * store-and-forward messaging 
-  * **Runs on small hardware** +  * simple architecture 
-  * **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 systems+  * 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 interface |
 | 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 maintenance worker |
  
 ----- -----
  
-===== Architecture Overview =====+===== Documentation =====
  
-RobinNet nodes communicate using a lightweight HTTP API.+^ Section ^ Description ^ 
 +| [[robinnet:install]] | Installing and deploying RobinNet 
 +| [[robinnet:testing]] | Local testing workflows | 
 +| [[robinnet:cli]] | Command line interface | 
 +| [[robinnet:api]] | API documentation | 
 +| [[robinnet:db]] | Database layer | 
 +| [[robinnet:models]] | Message models | 
 +| [[robinnet:sync]] | Synchronization engine |
  
-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:
  
------+  initialize node 
 +  add peers 
 +  test peer connectivity 
 +  post bulletins 
 +  synchronize nodes 
 +  - inspect messages and trace history
  
-===== Documentation =====+Example:
  
-^ Section ^ Description ^ +<code bash> 
-| [[robinnet:install]] | Installing and deploying RobinNet | +python -m robinnet.cli --db ./data/alpha.db init-node --name alpha --operator "Rich" 
-| [[robinnet:testing]] | Testing workflows | +python -m robinnet.cli --db ./data/alpha.db add-peer --name bravo --url http://127.0.0.1:8082 
-| [[robinnet:api]] | Full API documentation |+python -m robinnet.cli --db ./data/alpha.db peer-test --peer-id 1 
 +python -m robinnet.cli --db ./data/alpha.db post-bulletin --title "Test" --body "Hello" 
 +python -m robinnet.cli --db ./data/alpha.db sync-all 
 +</code>
  
 ----- -----
  
-===== Source Modules =====+===== Planned Features =====
  
-^ Module ^ +Future development includes
-| [[robinnet:db]] | + 
-| [[robinnet:models]] | +  * Cardinal graphical interface 
-| [[robinnet:cli]] | +  * Chikadee terminal interface 
-| [[robinnet:sync]] | +  * packet radio transport layer 
-| [[robinnet:main]] | +  * mesh networking integration 
-| [[robinnet:daemon]] |+  * 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:old_notes|RobinNet Old Notes]]+Cardinal will communicate with RobinNet using the API.
robin_net/start.1773243222.txt.gz · Last modified: by freedomotter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki