reticulum @ 1.3.9
integrity
- size
- 12.2 MiB
- downloaded
- last checked
release notes
Critical Security Update: This release fixes a severe security flaw in rnsh. Due to the nature of the issue, I will not disclose any further details for the time being. Once operators have had time to update, I will provide a full report for transparency. If you use rnsh, update right now.
Important: The new version of rnsh changes default identity file locations, and these will now be sourced from ~/.rnsh/identity (initiator) and ~/.rnsh/identity.default (listener). Make sure you copy your old files to this directory, or specify a custom identity path using the command line arguments. The --config argument has also been renamed to --rnsconfig, and the --config argument will now specify the rnsh configuration directory instead of the RNS configuration directory, bringing the behavior into alignment with other RNS utilities.
Additionally, this release includes automated blocking of fast-flapping clients on BackboneInterface listeners (see the Interfaces chapter of the manual for details), and a number of improvements to resource handling. The logging system has also been improved, and path and destination information moved to a new LOG_PATHING loglevel, to decrease log noise.
Changes
- Fixed a critical security issue in
rnsh - Added automated blocking of fast-flapping clients to
BackboneInterface - Added new
LOG_PATHINGloglevel, improved logging - Added ability to make internal-mode interfaces discoverable
- Added ability to get discoverable interface location from external script
- Added
RESOURCE_RCLsignal on resource receiver cancel - Improved resource handling and reliability
- Updated
rnshconfig args to work similarly to other RNS utilities
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
curl -fL -o 1.3.9.zip https://ratatoskr.space/pkg/reticulum/1.3.9.zip
printf '%s %s\n' '687089974acbbb7de69b4daf32218d30a0071cb1a19aa70a8811e6b95adbcafb' '1.3.9.zip' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/reticulum/1.3.9.zip"
$out = "1.3.9.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "687089974acbbb7de69b4daf32218d30a0071cb1a19aa70a8811e6b95adbcafb") { throw "sha256 mismatch" }
curl -fL -o 1.3.9.tar.gz https://ratatoskr.space/pkg/reticulum/1.3.9.tar.gz
printf '%s %s\n' 'ea4ba4fbee91d99ebd06b8c578bbdd5099a3202960198d456a1e609ea3a67449' '1.3.9.tar.gz' | sha256sum -c -
$url = "https://ratatoskr.space/pkg/reticulum/1.3.9.tar.gz"
$out = "1.3.9.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "ea4ba4fbee91d99ebd06b8c578bbdd5099a3202960198d456a1e609ea3a67449") { throw "sha256 mismatch" }
download via yggdrasil mesh
curl -fL -o 1.3.9.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/reticulum/1.3.9.zip
printf '%s %s\n' '687089974acbbb7de69b4daf32218d30a0071cb1a19aa70a8811e6b95adbcafb' '1.3.9.zip' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/reticulum/1.3.9.zip"
$out = "1.3.9.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "687089974acbbb7de69b4daf32218d30a0071cb1a19aa70a8811e6b95adbcafb") { throw "sha256 mismatch" }
curl -fL -o 1.3.9.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/reticulum/1.3.9.tar.gz
printf '%s %s\n' 'ea4ba4fbee91d99ebd06b8c578bbdd5099a3202960198d456a1e609ea3a67449' '1.3.9.tar.gz' | sha256sum -c -
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/reticulum/1.3.9.tar.gz"
$out = "1.3.9.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "ea4ba4fbee91d99ebd06b8c578bbdd5099a3202960198d456a1e609ea3a67449") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| 1.3.9.zip | zip | 12.3 MiB |
blake3-24 b3941b543ffa6d9860ae260da42d3bb69d2e80e14679748d
sha256 687089974acbbb7de69b4daf32218d30a0071cb1a19aa70a8811e6b95adbcafb
sha1 17c8e389fa914dd90cfbc160fa1d47b7b65a08ec
|
| 1.3.9.tar.gz | tar.gz | 12.1 MiB |
blake3-24 7bf513ac8867495f94414ddabf7c725b7a7a479e66cd4933
sha256 ea4ba4fbee91d99ebd06b8c578bbdd5099a3202960198d456a1e609ea3a67449
sha1 6b09b1eb0a8286f021c1d2d1d2f19fb0471ee41a
|
install
http_archive(
name = "reticulum",
urls = ["https://ratatoskr.space/pkg/reticulum/1.3.9.tar.gz"],
integrity = "sha256-6kuk++6R2Z69BrjFeLvdUJmjIClgGY1Fah5gnqOmdEk=",
strip_prefix = "reticulum-1.3.9",
)
.url = "https://ratatoskr.space/pkg/reticulum/1.3.9.tar.gz",
install via yggdrasil mesh
http_archive(
name = "reticulum",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/reticulum/1.3.9.tar.gz"],
integrity = "sha256-6kuk++6R2Z69BrjFeLvdUJmjIClgGY1Fah5gnqOmdEk=",
strip_prefix = "reticulum-1.3.9",
)
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/reticulum/1.3.9.tar.gz",