No description
Find a file
2026-04-28 14:34:26 +03:00
.claude rns parity 2026-04-28 00:15:03 +03:00
.github Update FUNDING.yml 2026-03-29 18:42:24 +03:00
.vscode First view 2025-12-27 01:20:02 +03:00
cmd rns parity 2026-04-28 00:15:03 +03:00
configs More tests 2025-12-30 17:07:47 +03:00
examples tests fix 2026-04-25 20:47:10 +03:00
internal/cmdtest integrations update 2026-04-11 11:07:18 +03:00
rns drift fix 2026-04-28 14:34:26 +03:00
tests tests fix 2026-04-28 01:11:55 +03:00
.gitattributes Initial commit 2025-12-26 22:40:53 +03:00
.gitignore rnid test ok 2026-04-14 00:04:50 +03:00
compare_rnid_two_nodes_tcp_py_vs_go.sh new test structure 2026-04-16 10:21:06 +03:00
go.mod RPC fix 2026-04-14 20:46:38 +03:00
go.sum RPC fix 2026-04-14 20:46:38 +03:00
go_channel_helper integration tests + bug fixing 2026-04-10 12:42:53 +03:00
go_link_helper bug fix 2026-04-09 17:46:28 +03:00
go_packet_helper integration tests + bug fixing 2026-04-10 08:24:17 +03:00
go_request_helper bug fix 2026-04-09 17:46:28 +03:00
go_resource_helper integration tests + bug fixing 2026-04-10 12:42:53 +03:00
LICENSE Initial commit 2025-12-26 22:40:53 +03:00
PORTING_1.1.4_BACKLOG.md transport → 1.1.4 parity 2026-04-02 00:59:22 +03:00
README.md Update README.md 2026-04-14 12:03:08 +03:00

go-reticulum

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

This repository is maintained as a practical parity port. The current parity target is Python Reticulum 1.1.5, and the Go implementation is aligned against that version across the core library, bundled CLI utilities, examples, and parity/integration checks currently tracked in this repository. 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 Reticulums “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 dont 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

  • Current parity target: Python Reticulum 1.1.5.
  • PARITY_*.md files track any remaining or newly discovered parity drift vs the Python reference (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.