{{:robin_net:grok-image-22e2e382-7dde-49d7-b0c3-3d284f61ec05.jpg?200 |}}====== RobinNet ====== RobinNet is a lightweight **store-and-forward messaging network** designed for: * local networks * mesh networks * low-bandwidth packet radio links * emergency communications * preparedness infrastructure Each node stores messages locally and synchronizes them with peer nodes. ----- ===== Design Philosophy ===== RobinNet was designed with these principles: * low bandwidth friendly * resilient networking * offline capable * store-and-forward messaging * simple architecture * easy auditing Nodes can run on: * Raspberry Pi * Linux servers * home lab machines * 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. ----- ===== Core Components ===== ^ File ^ Description ^ | db.py | SQLite database layer | | models.py | Message structures and hashing | | cli.py | Command line operator interface | | api.py | HTTP API server | | sync.py | Peer synchronization engine | | main.py | Node launcher | | daemon.py | Background maintenance worker | ----- ===== Documentation ===== ^ 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 | ----- ===== Example Workflow ===== Typical operator workflow: - initialize node - add peers - test peer connectivity - post bulletins - synchronize nodes - inspect messages and trace history Example: python -m robinnet.cli --db ./data/alpha.db init-node --name alpha --operator "Rich" python -m robinnet.cli --db ./data/alpha.db add-peer --name bravo --url http://127.0.0.1:8082 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 ----- ===== Planned Features ===== Future development includes: * Cardinal graphical interface * Chikadee terminal interface * packet radio transport layer * mesh networking integration * moderation tools * node discovery * optional encryption ----- ===== Cardinal ===== Cardinal will be the future graphical interface for RobinNet. Goals: * friendly node management * peer monitoring * message browsing * sync visualization * network status Cardinal will communicate with RobinNet using the API.