Reticulum Network Stack in Go
  • Go 90.2%
  • Python 6.2%
  • JavaScript 2.7%
  • Makefile 0.4%
  • Nix 0.2%
  • Other 0.3%
Find a file
2026-03-22 14:21:30 +03:00
.gitea/workflows fix(workflows): update Python environment setup in go-test workflow for improved compatibility and clarity 2026-03-15 16:17:33 +03:00
cmd refactor(codebase): replace interface{} with any in multiple using go fix 2026-03-22 14:21:30 +03:00
docker chore: update base image in Dockerfile to busybox with sha256 2025-12-30 23:46:16 -06:00
examples/wasm chore(tests): clean up test files by removing trailing whitespace and update vector generation for resource request and hashmap update formats 2026-03-11 02:45:39 -05:00
internal refactor(codebase): replace interface{} with any in multiple using go fix 2026-03-22 14:21:30 +03:00
misc/wasm cleanup(codebase) remove bearer and outdated or useless comments 2026-03-15 13:42:32 +03:00
pkg refactor(codebase): replace interface{} with any in multiple using go fix 2026-03-22 14:21:30 +03:00
tests/crossref refactor(codebase): replace interface{} with any in multiple using go fix 2026-03-22 14:21:30 +03:00
.dockerignore chore: add node_modules to .dockerignore and .gitignore 2026-01-18 16:31:39 -06:00
.gitignore chore(.gitignore): add reticulum-ref directory for cross-reference tests 2026-03-11 02:46:08 -05:00
CONTRIBUTING.md update CONTRIBUTING.md 2026-03-13 02:18:31 -05:00
CONTRIBUTORS chore: add CONTRIBUTORS file to document project contributors and their contributions 2026-01-01 13:10:55 -06:00
go.mod chore(deps): update Go version to 1.25.0 and golang.org/x/crypto to v0.48.0 2026-03-10 23:23:53 -05:00
go.sum chore(deps): update Go version to 1.25.0 and golang.org/x/crypto to v0.48.0 2026-03-10 23:23:53 -05:00
LICENSE chore: update copyright year in LICENSE file to 2026 2025-12-31 20:44:31 -06:00
Makefile chore(Makefile): add cross-reference test command and update benchmark command to run only on empty tests 2026-03-11 02:46:03 -05:00
README.md update(README) point badges to the master branch 2026-03-15 14:06:43 +03:00
revive.toml update revive linter rules 2025-11-20 21:46:15 -06:00
SECURITY.md chore(deps): update golang.org/x/crypto to v0.48.0 for improved cryptographic support 2026-03-10 23:24:01 -05:00
Taskfile.yml fix(Taskfile): update crossref test command to accept CLI arguments 2026-03-15 13:15:40 +03:00

Reticulum-Go

Revive Lint Go Build Go Test Security Scans

A high-performance Go implementation of the Reticulum Network Stack.

Overview

Reticulum-Go provides full protocol compatibility with the Python reference implementation while leveraging Go's concurrency model for improved throughput and latency. The implementation targets cross-platform deployment across legacy and modern systems.

Goals:

  • Full protocol interoperability with the Python reference implementation
  • Cross-platform support for multiple architectures (old and new)
  • High performance via Go's concurrency model
  • Improved privacy and security features that do not break compatibility with the Python reference implementation

Requirements

  • Go 1.25 or later

Quick Start

Build

make build

Output: bin/reticulum-go

Install

Install to system path (default /usr/local/bin):

make install

Custom install prefix:

make install PREFIX=/opt/reticulum

Run

make run

Test

make test

Makefile Reference

Target Description
make / make all Build release binary
make build Build release binary (stripped, static)
make install Build and install to PREFIX/bin
make uninstall Remove installed binary
make clean Remove build artifacts
make test Run all tests
make test-short Run short tests only
make test-race Run tests with race detector
make coverage Generate coverage report
make bench Run benchmarks
make fmt Format code
make vet Run go vet
make lint Run revive linter
make check Run fmt, vet, lint, test-short
make deps Download and verify dependencies
make run Run with go run
make debug Build debug binary
make build-linux Cross-build for Linux (amd64, arm64, arm, riscv64)
make build-windows Cross-build for Windows
make build-darwin Cross-build for macOS
make build-all Cross-build for Linux, Windows, macOS

Taskfile (Alternative)

The project also provides a Taskfile for extended automation. Install Task and run task --list for available targets.

task build
task install
task test

Note: On some systems, use go-task instead of task; add alias task='go-task' to your shell config if needed.

Development

Nix

With Nix installed, use the development shell for a preconfigured environment:

nix develop

Code Quality

make fmt
make vet
make lint
make check

Cross-Platform Builds

make build-linux
make build-windows
make build-darwin
make build-all

WebAssembly and Embedded

Build WebAssembly binary (requires Task):

task build-wasm
task test-wasm

For embedded systems and TinyGo builds, see the tinygo branch. Requires TinyGo 0.37.0+.

Experimental Features

Green Tea GC

Build with experimental Green Tea garbage collector (Go 1.25+):

task build-experimental

License

0BSD. See LICENSE.