No description
Find a file
2026-08-29 21:47:16 -05:00
.devcontainer ci: add DX tooling, hooks, templates, and CI path filters 2026-08-22 21:49:37 -05:00
.githooks fix: improve pre-push hook to prevent duplicate checks across multiple push URLs 2026-08-29 21:45:00 -05:00
.github chore: update compatibility to Python RNS 1.5.2 2026-08-29 14:45:19 -05:00
bindings chore: update .gitignore for Rust bindings 2026-08-14 19:50:19 -05:00
cmd feat: add opt-in localhost pprof via RETICULUM_PPROF_ADDR 2026-08-29 21:28:41 -05:00
docker chore: improve cross-compilation support by adding additional targets for various platforms and updating build scripts 2026-08-15 02:39:55 -05:00
docs docs: note known_destinations Python bin-key parity 2026-08-29 21:29:14 -05:00
examples feat: add RNS 1.5.0 inbound queues, IFAC defer, and discovered interfaces 2026-08-22 18:07:33 -05:00
include feat: wire destination ratchets into announce, remember, and SINGLE encrypt 2026-08-13 00:09:12 -05:00
internal feat: wire destination ratchets into announce, remember, and SINGLE encrypt 2026-08-13 00:09:12 -05:00
man feat: introduce rgosh interactive remote shell with compatibility for Python rnsh protocol 2026-07-27 07:56:32 -05:00
microvm feat: introduce Firecracker microvm support with comprehensive build scripts, configuration, and documentation updates 2026-07-16 14:40:14 -05:00
misc/wasm cleanup(codebase) remove bearer and outdated or useless comments 2026-03-15 13:42:32 +03:00
packaging feat: improve sandboxing features with strict mode, profiles, and extra path support 2026-08-13 11:39:52 -05:00
pkg refactor: rename functions for clarity in accounting and stamping processes 2026-08-29 21:47:16 -05:00
scripts feat: add colors to CLI commands and no color. 2026-08-25 16:33:59 -05:00
taskfiles feat: add unit tests for packet class and spam filter functionality 2026-08-17 17:34:42 -05:00
tests fix: defer IFAC unmask on Auto/UDP when transport owns inbound 2026-08-29 21:28:35 -05:00
tools feat: implement batch validation and workblock generation with GPU support 2026-08-29 20:38:26 -05:00
vendor feat: add GPU support for stamp generation and speed up CPU stamping 2026-08-29 20:25:08 -05:00
.dockerignore chore: update .dockerignore and .gitignore 2026-07-17 19:21:28 -05:00
.editorconfig feat: add .editorconfig for consistent coding styles and .github/CODEOWNERS for pull request review assignments 2026-07-17 08:23:43 -05:00
.gitignore feat: add GPU support for stamp generation and speed up CPU stamping 2026-08-29 20:25:08 -05:00
.tool-versions ci: add DX tooling, hooks, templates, and CI path filters 2026-08-22 21:49:37 -05:00
.trivyignore chore(security): update vulnerability scanning and ignore unnecessary directories 2026-07-04 23:21:31 -05:00
.yamllint.yml feat: add YAML linting support and update pre-commit hooks for improved code quality 2026-07-17 08:30:32 -05:00
CHANGELOG.md docs: note known_destinations Python bin-key parity 2026-08-29 21:29:14 -05:00
cliff.toml ci: add DX tooling, hooks, templates, and CI path filters 2026-08-22 21:49:37 -05:00
COMPATIBILITY.md docs: note known_destinations Python bin-key parity 2026-08-29 21:29:14 -05:00
CONTRIBUTING.md feat: improve docs 2026-08-29 20:32:40 -05:00
CONTRIBUTORS chore(CONTRIBUTORS): update contributor entries to include names and emails, removing commit statistics 2026-03-30 12:03:00 +03:00
cosign.pub feat(security): add cosign public key for signature verification 2026-03-30 06:05:37 +03:00
go.mod feat: add GPU support for stamp generation and speed up CPU stamping 2026-08-29 20:25:08 -05:00
go.sum feat: add GPU support for stamp generation and speed up CPU stamping 2026-08-29 20:25:08 -05:00
install.sh feat: add install script for reticulum-go with options for binary and source installation 2026-08-18 15:22:22 -05:00
LICENSE chore(license): replace 0BSD license with Apache License 2.0 2026-04-30 02:08:58 -05:00
Makefile ci: add DX tooling, hooks, templates, and CI path filters 2026-08-22 21:49:37 -05:00
mise.toml ci: add DX tooling, hooks, templates, and CI path filters 2026-08-22 21:49:37 -05:00
NOTICE chore(deps): update golang.org/x/crypto and golang.org/x/sys to v0.52.0 and v0.45.0 respectively 2026-07-04 23:16:07 -05:00
README.md feat: improve docs 2026-08-29 20:32:40 -05:00
reticulum-go.rsm docs: note known_destinations Python bin-key parity 2026-08-29 21:29:14 -05:00
revive.toml chore(linting): fix revive configuration with new rules and arguments 2026-04-19 17:32:51 -05:00
SECURITY.md chore(docs): update 2026-08-18 15:22:15 -05:00
staticcheck.conf ci: add DX tooling, hooks, templates, and CI path filters 2026-08-22 21:49:37 -05:00
Taskfile.yml ci: add DX tooling, hooks, templates, and CI path filters 2026-08-22 21:49:37 -05:00

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-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
  • 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

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.