yggvault ratatoskr-space connected via regular web
Color theme
also available via yggdrasil mesh http://[203:b338:2a84:a18f:986:47ae:1a4:d8d3]/pkg/reticulum/1.6.0
vault / reticulum / 1.6.0

reticulum @ 1.6.0

integrity

size
16.5 MiB
downloaded
last checked
source https://github.com/markqvist/Reticulum · available · github

release notes

This major release of Reticulum brings significant improvements to resource consumption, performance, stability and resilience, especially for constrained devices and nodes.

Memory & Performance Improvements

A new, SQLite based storage backend has been implemented, and is now the default. All legacy file-based storage will be auto-migrated to the database-backed store on the first start. If you are using an esoteric system that does not support the sqlite3 module, Reticulum will automatically fall back to using the file-based storage system.

The memory management system has been completely reworked, and significantly improved. For long-running transport nodes, this cuts memory consumption by approximately 50%, and for non-transport instances, standalone applications and appliance devices by up to 80%.

Path Table Sharding

This release implements the initial transport awareness and mechanisms for emergent path table sharding. Transport instances will no longer attempt to hold full inter-network path tables in memory, but keep only paths relevant to the nodes they are transporting traffic for. Unused paths are now kept for much shorter periods of time, and used as a rolling pool that potential new traffic corridors can form into. The system is entirely passive, and adds no inter-node coordination or additional protocol mechanics. The current release brings the foundation, and the upcoming 1.6.x releases will tune, improve it and add the remaining pieces of the functionality.

Network Stamps

The stamp system, first introduced in LXMF, where it was tested and refined over the last two years, has now been brought into the core of Reticulum to help protect against spam and network abuse. All the relevant core primtives now support stamp generation and verification:

The stamp functionality and requirements will be deployed in a phased transition, so both network operators and application developers have time to update their systems, and any potential bugs and issues can be worked out before the full deployment:

The 1.6.0 and 1.6.1 releases will be an important time for observing the on-network behaviour, functionality and stability of the system, and to make any potential adjustments or fix problems before the final transition to 1.6.2. If you're operating a transport node, please help out by reporting any problems or issues you discover.

For application developers, there is no immediate refactoring or changes required application-side. Simply updating RNS to 1.6.0 is sufficient to transparently enable all the new functionality and improvements. It is very much recommended, however, to familiarize yourself with the new API methods for specifying link request costs and destination values, as these are configurable on a per-destination basis, and might warrant specific configuration for your intended use-case.

Changes

Verified Retrieval You can retrieve and verify this release over Reticulum using the built-in rngit release utility. To retrieve only the installation .whl package, and the release manifest for future updates, you can use:

rngit release rns://7649a50d84610232d1416b41d2896aff/reticulum/reticulum fetch "latest:rns-*.whl" --signer bc7291552be7a58f361522990465165c

To download all artifacts, including the documentation and source archive, you can use the following command:

rngit release rns://7649a50d84610232d1416b41d2896aff/reticulum/reticulum fetch latest:all --signer bc7291552be7a58f361522990465165c

Release Signatures Release artifacts include a signed rsm release manifest and rsg signature files that can be validated against the RNS release signing identity <bc7291552be7a58f361522990465165c> using rngit or rnid. To perform an offline verification of all release artifacts using a manifest:

rngit release rns_*.rsm verify --signer bc7291552be7a58f361522990465165c

To verify release artifacts using individual rsg files, while also verifying the manifest itself, download the rsm and rsg signatures, make sure they are in the same folder as the release artifact, and run rnid signature verification with the release identity as the required signer:

rnid -i bc7291552be7a58f361522990465165c -V rns_*.rsm *.rsg

The rnid utility will then verify the signatures, and display whether they are valid. If the signature cannot be verified, the release has been tampered with and should be discarded.

download

unix · zip
curl -fL -o 1.6.0.zip https://ratatoskr.space/pkg/reticulum/1.6.0.zip
                    printf '%s  %s\n' '4ab46d2df9f896ea3e558e81daa505a7eba90600a44245ef67c8784043a3381d' '1.6.0.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/reticulum/1.6.0.zip"
$out = "1.6.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "4ab46d2df9f896ea3e558e81daa505a7eba90600a44245ef67c8784043a3381d") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o 1.6.0.tar.gz https://ratatoskr.space/pkg/reticulum/1.6.0.tar.gz
                    printf '%s  %s\n' 'd544d631c08f52a2b515e31e08e845876b838156ed9e1568b30c9794d28405a5' '1.6.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/reticulum/1.6.0.tar.gz"
$out = "1.6.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "d544d631c08f52a2b515e31e08e845876b838156ed9e1568b30c9794d28405a5") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o 1.6.0.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/reticulum/1.6.0.zip
                    printf '%s  %s\n' '4ab46d2df9f896ea3e558e81daa505a7eba90600a44245ef67c8784043a3381d' '1.6.0.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/reticulum/1.6.0.zip"
$out = "1.6.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "4ab46d2df9f896ea3e558e81daa505a7eba90600a44245ef67c8784043a3381d") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o 1.6.0.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/reticulum/1.6.0.tar.gz
                    printf '%s  %s\n' 'd544d631c08f52a2b515e31e08e845876b838156ed9e1568b30c9794d28405a5' '1.6.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/reticulum/1.6.0.tar.gz"
$out = "1.6.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "d544d631c08f52a2b515e31e08e845876b838156ed9e1568b30c9794d28405a5") { throw "sha256 mismatch" }
artifact format size hashes
1.6.0.zip zip 16.6 MiB
blake3-24 a6fe8547b839b64e947eb98bc750c198826fac4b78a6cae9
sha256 4ab46d2df9f896ea3e558e81daa505a7eba90600a44245ef67c8784043a3381d
sha1 be8af5e8f84426209620d59faa402c604cf2daae
1.6.0.tar.gz tar.gz 16.4 MiB
blake3-24 089a22e17aadd6e086610c9af247b7288242afd709044573
sha256 d544d631c08f52a2b515e31e08e845876b838156ed9e1568b30c9794d28405a5
sha1 2eaf6a139f564055d0f25ce2f133cb9cae74321b

install

bazel
http_archive(
    name = "reticulum",
    urls = ["https://ratatoskr.space/pkg/reticulum/1.6.0.tar.gz"],
    integrity = "sha256-1UTWMcCPUqK1FeMeCOhFh2uDgVbtnhVoswyXlNKEBaU=",
    strip_prefix = "reticulum-1.6.0",
)
zig
.url = "https://ratatoskr.space/pkg/reticulum/1.6.0.tar.gz",
install via yggdrasil mesh
bazel
http_archive(
    name = "reticulum",
    urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/reticulum/1.6.0.tar.gz"],
    integrity = "sha256-1UTWMcCPUqK1FeMeCOhFh2uDgVbtnhVoswyXlNKEBaU=",
    strip_prefix = "reticulum-1.6.0",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/reticulum/1.6.0.tar.gz",
1.5.5 →