Skip to content
 
 

Latest commit

 

History

39 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-reticulum

Go port (parity-focused) of the original Reticulum project.

This repository is maintained as a practical parity port: behaviour and public utilities are compared against the Python Reticulum reference, and remaining differences are tracked in PARITY_*.md. A significant part of the work was/is done with AI assistance (Codex/LLMs) for reading the reference implementation, creating parity TODOs, writing tests, and porting examples/CLI tooling.

The port is developed by a single maintainer with assistance from ChatGPT 5.1/5.2. Even though the project is covered with unit tests, integration tests, and smoke checks, unstable areas may still exist; if you run into one, please open an issue or contact the maintainer.

Goals

  • Port Reticulum to Go with maximum behavioural parity.
  • Keep the project testable: unit tests and selected integration tests.
  • Provide CLI utilities compatible in spirit with the original ones (rnstatus, rnpath, rnid, etc.).

Repository layout

  • rns/ — core library (network stack and protocols).
  • cmd/ — CLI utilities (the Go equivalents of Reticulum’s “official” tools).
  • examples/ — ports of Python examples (small demo programs).

How to run

Requires Go (recommended: current stable version).

How to use

Prefer using prebuilt binaries from Releases if you don’t want to build from source.

Quick start (local shared instance)

  1. Start the daemon (shared instance):
go run ./cmd/rnsd -v
  1. In another terminal, view status:
go run ./cmd/rnstatus -a

If you use a non-default config directory, pass it to every tool:

CFG="$HOME/.reticulum-go"
go run ./cmd/rnsd -config "$CFG" -v
go run ./cmd/rnstatus -config "$CFG" -a

CLI utilities (cmd/*)

Quick run without building:

go run ./cmd/rnsd --help
go run ./cmd/rnstatus --help

Tools overview

Build a single tool:

go build -o ./bin/rnstatus ./cmd/rnstatus
./bin/rnstatus --help

Examples overview

Quick run:

go run ./examples/minimal --help
go run ./examples/link --help

Parity & docs

  • PARITY_*.md files contain the remaining parity TODOs vs Python Reticulum (no unrelated wishlists).
  • Ideally, each parity item is closed by a code change plus a test/verification step.
  • Note: the Python Reticulum supports “external interfaces” by loading <Type>.py modules from interfacepath. The Go port does not execute/load those Python modules; if such a file exists, startup will error to avoid silently running with a placeholder interface.

Disclaimer

This is a work-in-progress port: APIs, protocols, and CLI behaviour can change as parity improves.

Support & Donate

  • Monero: 41uoDd1PNKm7j4LaBHHZ77ZPbEwEJzaRHhjEqFtKLZeWjd4sNfs3mtpbw1mcQrnNLBKWSJgui9ELEUz217Ui6kF13SmF4t5

License

MIT – see LICENSE.

About

Port reticulom from python

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages