Amiga-Z Wiki

โ€œModern tools for old-school communities.โ€

User Tools

Site Tools


robin_net:start

This is an old revision of the document!


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
install Installing and deploying RobinNet
testing Local testing workflows
cli Command line interface
api API documentation
db Database layer
models Message models
sync Synchronization engine

Example Workflow

Typical operator workflow:

  1. initialize node
  2. add peers
  3. test peer connectivity
  4. post bulletins
  5. synchronize nodes
  6. 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
  • 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.

robin_net/start.1773244291.txt.gz ยท Last modified: by freedomotter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki