3.1 KiB
Reticulum-Go
Go implementation of the Reticulum Network Stack. It strengthens existing networks and brings Reticulum to more devices. It is not a replacement for the Python reference.
Available on rngit: NomadNet node 132f67e79d9b24aad014e93015fb858f:/page/index.mu
git clone rns://06a54b505bb67b25ef3f8097e8001edc/public/Reticulum-Go
Features
- Wire-compatible with Python RNS (links, resources, channels, IFAC, transport)
- Single
reticulum-gobinary (daemon plus status, id, probe, path, cp, and related tools) - Static, portable builds including legacy Windows via go-legacy-win7 / go-legacy-winxp
- Interfaces: UDP, TCP, Auto, I2P, Backbone, Pipe, Local, Serial, Modem73, SDR, WebSocket, QUIC, WebTransport, DNS rendezvous, VSOCK, HTTPS
- WebAssembly, librns C ABI, and language bindings (see docs)
- Default OS sandbox, vendored deps, cosign release attestations
Status detail: docs/en/overview.md and COMPATIBILITY.md.
Install / Build from source
Requires Go 1.26.5 or later. Dependencies are vendored (GOFLAGS=-mod=vendor).
Install a release binary (and optional init units):
curl -fsSL https://raw.githubusercontent.com/Quad4-Software/Reticulum-Go/master/install.sh | sh
curl -fsSL https://raw.githubusercontent.com/Quad4-Software/Reticulum-Go/master/install.sh | sh -s -- --source
From a git checkout, use Make, Task, or plain Go:
# Make
make build
make install # PREFIX=/usr/local (binary, tool symlinks, man pages)
make install-service # INIT=auto|systemd|openrc|runit|dinit|all
make test
# Task (go-task on some distros: alias task='go-task')
task build
task install
task test
# Manual
mkdir -p bin
CGO_ENABLED=0 go build -ldflags="-s -w" -o bin/reticulum-go ./cmd/reticulum-go
CGO_ENABLED=0 go install -ldflags="-s -w" ./cmd/reticulum-go
go test -v ./...
go run ./cmd/reticulum-go
Packages: make package-deb, make package-rpm, make package-arch (output in dist/). Arch/CachyOS: quad4-arch.
More targets, cross-compiles, WASM, and librns: docs/en/getting-started.md and docs/en/development-and-testing.md.
Docs
- English docs: docs/en/
- Getting started: docs/en/getting-started.md
- API and examples: docs/en/api-reference.md, docs/en/examples.md
- Reticulum manual (protocol/API authority): https://reticulum.network/manual/reference.html
Contributing
See CONTRIBUTING.md. Branch from dev. Prefer make check / task check before opening a PR.
Security
Report issues privately (see SECURITY.md). Sandbox is on by default (enable_sandbox = no to disable). Release assets carry cosign attestations (cosign.pub).
License
Apache License 2.0. See LICENSE.
Credit: Mark Qvist for the reference Reticulum Network Stack.