Go implementation of the Reticulum Network Stack. It strengthens existing networks and brings Reticulum to more devices without needing the pure cryptographic primitives. It is not a replacement for the Python reference.
Important: This project is still considered experimental, may not always be up to date with the Python reference, and not ready to be reliably used, we do welcome testers and feedback.
NomadNet Node (rngit): 132f67e79d9b24aad014e93015fb858f:/page/index.mu
git clone rns://06a54b505bb67b25ef3f8097e8001edc/public/Reticulum-Go- Wire-compatible with Python RNS (links, resources, channels, IFAC, transport)
- Portable cross-platform and 32-bit support
- Single reticulum-go binary (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, and RNode.
- WebAssembly, librns C ABI, and language bindings (see docs)
- Native OS sandboxing
- Vendored dependencies for offline source builds
Status detail: docs/en/overview.md and COMPATIBILITY.md.
Requires Go 1.27.1 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 -- --sourceFrom a git checkout, use Make 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
# 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-goPackages: 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.
- 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
See CONTRIBUTING.md. Branch from dev. Run make check before opening a PR.
Report issues privately (see SECURITY.md). Sandbox is on by default (enable_sandbox = no to disable). Release assets carry cosign attestations (cosign.pub).
Reticulum License, the same license as the Python reference implementation since RNS 0.9.4. Earlier revisions carried MIT, then 0BSD, then Apache-2.0. LEGAL.md records the boundary commits.
Python RNS by Mark Qvist is the reference implementation and defines the protocol. If you are new to Reticulum, start there. 75% of donations to this project go to Mark Qvist.