| name | reticulum-utilities |
| description | Comprehensive guide to Reticulum's command-line utilities for network management, diagnostics, identity operations, file transfer, and remote execution |
| triggers | ["rnpath","rnprobe","rnir","rnid","rncp","rnx","rnstatus","rnsd","path inspection","network probe","identity recall","file transfer","remote execution","network status","reticulum daemon","announce database"] |
Reticulum Utilities
Reticulum provides a comprehensive suite of command-line utilities for network management, diagnostics, identity operations, file transfer, and remote execution. These utilities form the operational toolkit for managing and interacting with Reticulum networks.
Overview of Utilities
Reticulum includes the following core utilities:
- rnpath: Path discovery and management
- rnprobe: Network probing and RTT measurement
- rnir: Identity Recall (announce database inspection)
- rnid: Identity management and cryptographic operations
- rncp: File transfer using the Resource API
- rnx: Remote command execution
- rnstatus: Network status and interface statistics
- rnsd: Reticulum daemon for running as a service
rnpath - Path Discovery and Management
The rnpath utility manages path discovery and routing table inspection in Reticulum networks.
Basic Path Request
Request and display a path to a destination:
rnpath c89b4da064bf66d280f0e4d8abfd9806
Display Path Table
View all known paths in the routing table:
rnpath --table
rnpath --table --max 2
rnpath --table c89b4da064bf66d280f0e4d8abfd9806
Example output:
<3e12fc71692f8ec47bc5> is 1 hop away via <3e12fc71692f8ec47bc5> on AutoInterface[eth0] expires 2026-01-15 14:23:19
<94b08f2d39ee12cf0922> is 2 hops away via <3e12fc71692f8ec47bc5> on AutoInterface[eth0] expires 2026-01-15 14:25:41
<c89b4da064bf66d280f0> is 3 hops away via <3e12fc71692f8ec47bc5> on AutoInterface[eth0] expires 2026-01-15 14:20:08
Announce Rate Information
Monitor announce rates and rate violations:
rnpath --rates
rnpath --rates c89b4da064bf66d280f0e4d8abfd9806
Example output:
<c89b4da064bf66d280f0> last heard 2 minutes ago, 4.5 announces/hour in the last 3 hours
<3e12fc71692f8ec47bc5> last heard 30 seconds ago, 12.0 announces/hour in the last 2 hours, 2 active rate violations, new announces allowed in 45 minutes
Drop Paths
Remove paths from the routing table:
rnpath --drop c89b4da064bf66d280f0e4d8abfd9806
rnpath --drop-via 3e12fc71692f8ec47bc5
rnpath --drop-announces
Remote Management
Query path tables on remote Reticulum instances:
rnpath --table -R 9fb6d773498fb3feda407ed8ef2c3229 -i ~/.reticulum/identities/mgmt_id -W 15
rnpath --rates -R 9fb6d773498fb3feda407ed8ef2c3229 -i ~/.reticulum/identities/mgmt_id
JSON Output
Export path information in JSON format for scripting:
rnpath --table --json
rnpath --rates --json
Common Options
--config PATH
-w SECONDS
-v, --verbose
rnprobe - Network Probing and RTT Measurement
The rnprobe utility sends probe packets to measure round-trip time (RTT) and verify connectivity.
Basic Probe
Send a probe to a destination:
rnprobe lxmf.delivery c89b4da064bf66d280f0e4d8abfd9806
Probe with Options
Configure probe parameters:
rnprobe -n 5 lxmf.delivery c89b4da064bf66d280f0e4d8abfd9806
rnprobe -s 128 lxmf.delivery c89b4da064bf66d280f0e4d8abfd9806
rnprobe -n 10 -w 2 lxmf.delivery c89b4da064bf66d280f0e4d8abfd9806
rnprobe -t 30 lxmf.delivery c89b4da064bf66d280f0e4d8abfd9806
Verbose Output
Show detailed path information:
rnprobe -v lxmf.delivery c89b4da064bf66d280f0e4d8abfd9806
Probe Statistics
When sending multiple probes, statistics are shown:
rnprobe -n 10 lxmf.delivery c89b4da064bf66d280f0e4d8abfd9806
Exit Codes
rnprobe returns meaningful exit codes for scripting:
- 0: All probes successful
- 1: Path request timed out
- 2: Some packets lost
- 3: Probe packet exceeds MTU
Common Options
-s SIZE
-n COUNT
-t SECONDS
-w SECONDS
-v, --verbose
--config PATH
rnir - Identity Recall (Announce Database)
The rnir utility runs a simple Identity Recall service, making the announce database available for inspection. This is primarily used for diagnostic purposes.
Start Identity Recall Service
rnir
rnir --config /path/to/config
rnir -v
rnir -q
The Identity Recall service maintains the announce database, allowing other utilities and applications to query received announces and recalled identities. This is automatically handled by the Reticulum daemon in most deployments.
Purpose
The rnir utility serves these functions:
- Maintains the announce database
- Makes identity information available for recall
- Provides network-wide identity distribution
- Enables destination lookups by identity hash
In practice, rnir functionality is usually provided by rnsd (the Reticulum daemon), and this utility is mainly used for testing and debugging announce propagation.
rnid - Identity Management
The rnid utility provides comprehensive identity management, including key generation, import/export, signing, encryption, and destination operations.
Generate New Identity
rnid --generate ~/.reticulum/identities/my_identity
rnid --generate ~/.reticulum/identities/my_identity --force
Import and Export
rnid --import 7a2b9c... --write ~/.reticulum/identities/imported_id
rnid --import ARF3t4w... --base64 --write ~/.reticulum/identities/imported_id
rnid --import K4HGL... --base32 --write ~/.reticulum/identities/imported_id
rnid -i ~/.reticulum/identities/my_identity --export
rnid -i ~/.reticulum/identities/my_identity --export --base64
rnid -i ~/.reticulum/identities/my_identity --export --base32
Display Identity Information
rnid -i ~/.reticulum/identities/my_identity --print-identity
rnid -i ~/.reticulum/identities/my_identity --print-identity --print-private
Calculate Destination Hashes
rnid -i ~/.reticulum/identities/my_identity --hash lxmf.delivery
Announce Destination
rnid -i ~/.reticulum/identities/my_identity --announce lxmf.delivery
File Signing and Verification
rnid -i ~/.reticulum/identities/my_identity --sign document.pdf
rnid -i ~/.reticulum/identities/my_identity --validate document.pdf.rsg
rnid -i ~/.reticulum/identities/my_identity --sign document.pdf --write signature.rsg
rnid -i ~/.reticulum/identities/my_identity --validate signature.rsg --read document.pdf
File Encryption and Decryption
rnid -i c89b4da064bf66d280f0e4d8abfd9806 --encrypt sensitive.txt
rnid -i ~/.reticulum/identities/my_identity --decrypt sensitive.txt.rfe
rnid -i c89b4da064bf66d280f0e4d8abfd9806 --encrypt sensitive.txt --write encrypted.rfe
rnid -i ~/.reticulum/identities/my_identity --decrypt encrypted.rfe --write decrypted.txt
rnid -i ~/.reticulum/identities/my_identity --decrypt encrypted.rfe --force
Identity Recall from Network
rnid -i c89b4da064bf66d280f0e4d8abfd9806 --request --print-identity
rnid -i c89b4da064bf66d280f0e4d8abfd9806 --request -t 30 --print-identity
Common Options
-i, --identity PATH
-g, --generate PATH
-m, --import DATA
-x, --export
-p, --print-identity
-P, --print-private
-H, --hash ASPECTS
-a, --announce ASPECTS
-e, --encrypt FILE
-d, --decrypt FILE
-s, --sign FILE
-V, --validate FILE
-R, --request
-t SECONDS
-f, --force
-r, --read FILE
-w, --write FILE
-b, --base64
-B, --base32
-v, --verbose
-q, --quiet
--config PATH
rncp - File Transfer
The rncp utility provides secure file transfer capabilities using Reticulum's Resource API.
Send File
rncp document.pdf c89b4da064bf66d280f0e4d8abfd9806
rncp --silent document.pdf c89b4da064bf66d280f0e4d8abfd9806
rncp --phy-rates document.pdf c89b4da064bf66d280f0e4d8abfd9806
rncp --no-compress large.zip c89b4da064bf66d280f0e4d8abfd9806
rncp -w 60 large_file.dat c89b4da064bf66d280f0e4d8abfd9806
Example output:
Path to <c89b4da064bf66d280f0e4d8abfd9806> requested
Establishing link with <c89b4da064bf66d280f0e4d8abfd9806>
Advertising file resource
Transferring file ⢁ 45.2% - 1.81 MB of 4.00 MB - 125.30 KBps
Receive Files (Listener Mode)
rncp --listen
rncp --listen -a c89b4da064bf66d280f0e4d8abfd9806 -a 3e12fc71692f8ec47bc5
rncp --listen --no-auth
rncp --listen --save ~/downloads
rncp --listen --save ~/downloads --overwrite
rncp --listen -b 300
rncp --listen -b 0
Fetch File from Listener
rncp --fetch /path/to/remote/file c89b4da064bf66d280f0e4d8abfd9806
rncp --fetch /path/to/remote/file c89b4da064bf66d280f0e4d8abfd9806 --save ~/downloads
rncp --fetch /path/to/remote/file c89b4da064bf66d280f0e4d8abfd9806 --overwrite
Listener with Fetch Permission
Allow authenticated clients to fetch files:
rncp --listen --allow-fetch --jail /shared/files -a c89b4da064bf66d280f0e4d8abfd9806
Print Listener Identity
rncp --print-identity
Authentication Configuration
Create an allowed identities file:
mkdir -p ~/.config/rncp
cat > ~/.config/rncp/allowed_identities << EOF
c89b4da064bf66d280f0e4d8abfd9806
3e12fc71692f8ec47bc5
94b08f2d39ee12cf0922
EOF
Alternative locations (checked in order):
/etc/rncp/allowed_identities
~/.config/rncp/allowed_identities
~/.rncp/allowed_identities
Common Options
-l, --listen
-f, --fetch
-F, --allow-fetch
-j, --jail PATH
-s, --save PATH
-O, --overwrite
-C, --no-compress
-a HASH
-n, --no-auth
-p, --print-identity
-b SECONDS
-w SECONDS
-P, --phy-rates
-S, --silent
-v, --verbose
-q, --quiet
--config PATH
rnx - Remote Execution
The rnx utility enables secure remote command execution over Reticulum networks.
Execute Remote Command
rnx c89b4da064bf66d280f0e4d8abfd9806 "uname -a"