<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.amigaz.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.amigaz.org/feed.php">
        <title>Amiga-Z Wiki - robinnet</title>
        <description>“Modern tools for old-school communities.”</description>
        <link>https://wiki.amigaz.org/</link>
        <image rdf:resource="https://wiki.amigaz.org/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-04-12T04:04:44+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.amigaz.org/doku.php?id=robinnet:api&amp;rev=1773242847&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.amigaz.org/doku.php?id=robinnet:cli&amp;rev=1773243938&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.amigaz.org/doku.php?id=robinnet:daemon&amp;rev=1773242988&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.amigaz.org/doku.php?id=robinnet:db&amp;rev=1773242874&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.amigaz.org/doku.php?id=robinnet:install&amp;rev=1773244094&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.amigaz.org/doku.php?id=robinnet:main&amp;rev=1773242967&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.amigaz.org/doku.php?id=robinnet:models&amp;rev=1773242897&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.amigaz.org/doku.php?id=robinnet:sync&amp;rev=1773242945&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.amigaz.org/doku.php?id=robinnet:testing&amp;rev=1773244275&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.amigaz.org/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>Amiga-Z Wiki</title>
        <link>https://wiki.amigaz.org/</link>
        <url>https://wiki.amigaz.org/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.amigaz.org/doku.php?id=robinnet:api&amp;rev=1773242847&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-11T15:27:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>api</title>
        <link>https://wiki.amigaz.org/doku.php?id=robinnet:api&amp;rev=1773242847&amp;do=diff</link>
        <description>RobinNet API

The RobinNet API is used by:

	*  peer nodes
	*  CLI tools
	*  future UI applications
	*  testing tools

Base path:


/api/v1/


----------

Health Check

Endpoint:


GET /api/v1/health


Returns local node information.

----------

List Messages</description>
    </item>
    <item rdf:about="https://wiki.amigaz.org/doku.php?id=robinnet:cli&amp;rev=1773243938&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-11T15:45:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cli</title>
        <link>https://wiki.amigaz.org/doku.php?id=robinnet:cli&amp;rev=1773243938&amp;do=diff</link>
        <description>cli.py

The RobinNet CLI is the primary operator tool for managing a local node.

It provides commands for:

	*  initializing a node
	*  inspecting node information
	*  adding and removing peers
	*  testing peer connectivity
	*  posting bulletins
	*</description>
    </item>
    <item rdf:about="https://wiki.amigaz.org/doku.php?id=robinnet:daemon&amp;rev=1773242988&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-11T15:29:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>daemon</title>
        <link>https://wiki.amigaz.org/doku.php?id=robinnet:daemon&amp;rev=1773242988&amp;do=diff</link>
        <description>daemon.py

Background worker for RobinNet.

Responsibilities:

	*  periodic synchronization
	*  message expiration
	*  maintenance tasks

----------

Example


ROBINNET_DB=./data/node.db \
python -m robinnet.daemon</description>
    </item>
    <item rdf:about="https://wiki.amigaz.org/doku.php?id=robinnet:db&amp;rev=1773242874&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-11T15:27:54+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>db</title>
        <link>https://wiki.amigaz.org/doku.php?id=robinnet:db&amp;rev=1773242874&amp;do=diff</link>
        <description>db.py

Database layer responsible for all SQLite storage.

This module handles:

	*  node identity
	*  message storage
	*  peer storage
	*  trace logging
	*  synchronization tracking

----------

Example


from robinnet.db import RobinDB

db = RobinDB(&quot;./data/node.db&quot;)

db.init_db()</description>
    </item>
    <item rdf:about="https://wiki.amigaz.org/doku.php?id=robinnet:install&amp;rev=1773244094&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-11T15:48:14+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>install</title>
        <link>https://wiki.amigaz.org/doku.php?id=robinnet:install&amp;rev=1773244094&amp;do=diff</link>
        <description>Installing RobinNet

RobinNet is a lightweight Python application designed to run on Linux systems.

It is intentionally simple to deploy and can run on:

	*  Raspberry Pi
	*  home servers
	*  cloud VPS
	*  emergency field nodes
	*  laptops

----------</description>
    </item>
    <item rdf:about="https://wiki.amigaz.org/doku.php?id=robinnet:main&amp;rev=1773242967&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-11T15:29:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>main</title>
        <link>https://wiki.amigaz.org/doku.php?id=robinnet:main&amp;rev=1773242967&amp;do=diff</link>
        <description>main.py

Main RobinNet launcher.

Responsibilities:

	*  start API server
	*  optionally start background sync worker
	*  initialize database

----------

Example


ROBINNET_DB=./data/node.db \
python -m robinnet.main</description>
    </item>
    <item rdf:about="https://wiki.amigaz.org/doku.php?id=robinnet:models&amp;rev=1773242897&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-11T15:28:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>models</title>
        <link>https://wiki.amigaz.org/doku.php?id=robinnet:models&amp;rev=1773242897&amp;do=diff</link>
        <description>models.py

Defines message structures and hashing logic.

This module provides:

	*  message builders
	*  validation helpers
	*  canonical message serialization
	*  SHA256 hashing

----------

Example


from robinnet.models import build_bulletin

msg = build_bulletin(
  origin_node_uuid=&quot;node-uuid&quot;,
  origin_node_name=&quot;alpha&quot;,
  title=&quot;Test&quot;,
  body=&quot;Hello world&quot;
)</description>
    </item>
    <item rdf:about="https://wiki.amigaz.org/doku.php?id=robinnet:sync&amp;rev=1773242945&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-11T15:29:05+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>sync</title>
        <link>https://wiki.amigaz.org/doku.php?id=robinnet:sync&amp;rev=1773242945&amp;do=diff</link>
        <description>sync.py

Handles peer synchronization.

Responsibilities:

	*  peer communication
	*  message comparison
	*  fetching missing messages
	*  importing remote messages
	*  exporting local messages

----------

Example


from robinnet.sync import sync_peer_by_id

sync_peer_by_id(db, peer_id=1)</description>
    </item>
    <item rdf:about="https://wiki.amigaz.org/doku.php?id=robinnet:testing&amp;rev=1773244275&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-11T15:51:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>testing</title>
        <link>https://wiki.amigaz.org/doku.php?id=robinnet:testing&amp;rev=1773244275&amp;do=diff</link>
        <description>RobinNet Testing

This page explains how to test RobinNet locally.

The easiest approach is running two nodes on one machine.

----------

Start Node A


ROBINNET_DB=./data/alpha.db \
ROBINNET_PORT=8081 \
python -m robinnet.main


----------

Start Node B</description>
    </item>
</rdf:RDF>
