eagle5.network/clients
Clients
"The badge is the modem. This is where you pick the brain."
Your Eagle 5 is an RNode TNC, a radio modem. It doesn't run Reticulum; a client does that and drives the badge over USB. Match the job to the tool, then grab it for your OS.
rn* utilities in the rns package. Bring a laptop.
Pick by platform
| You're on… | Early messaging challenges | Read the BBS (pages) | The forced-path challenges (rn* CLI) |
|---|---|---|---|
| Android phone | Sideband or Columba (badge via USB-OTG) | Not really. A laptop reads pages best. | No, desktop-only. Pair with a laptop. |
| iPhone / iPad | Retichat (App Store) | Use a laptop. | No. Pair with a laptop. |
| Mac / Windows / Linux | Sideband, or rnsd + a client | rBrowser (web UI) or NomadNet (TUI) | Yes: pip install rns. Where the chain finishes. |
| Nothing installed | None | Badge tools only: serial / flash.eagle5.network | None |
What the jobs are
Every tool below does one or more of these. Pick by the job:
| Job | What it means | For the CTF |
|---|---|---|
| messaging | Send / receive LXMF messages. | The early challenges. Message schwartz to start. |
| pages | Browse the nomadnet BBS that Mr. Coffee & Mr. Radar serve. | The riddle, the R201 trail, the briefings. |
| radio | Drive or provision the RNode itself. | The shared rnsd every other tool rides on. |
| cli | Drive Reticulum from the command line: trace paths, probe destinations, run remote commands, copy files. | The backbone of the chain. See below. |
| sniff | Capture raw LoRa packets off the air. | Watching announces; the cross-protocol challenge. |
| flash | Write firmware / provision the badge. | Recovery and re-provisioning. |
The tools at a glance
Off-domain links are marked with ↗.
| Tool | Job(s) | Platforms | How it connects | Get it |
|---|---|---|---|---|
| Sideband | messaging · radio | Android (F-Droid/IzzyOnDroid or APK, not Google Play), macOS, Windows, Linux. No iOS (see Retichat). | Owns the badge directly: RNode over USB. | GitHub↗ · pip install sbapp (desktop) |
| Columba | messaging · radio | Android (APK on GitHub, still beta). | RNode over USB or TCP. (Also a phone-to-phone BLE mesh between Columba apps, no badge.) | GitHub↗ |
| rBrowser | pages | Any desktop with Python 3.7+ (or Docker). | Its own RNS. Give it a TCP interface to the mesh. | GitHub↗ · pip: reticulum flask waitress |
| NomadNet | pages · messaging · host | Windows, macOS, Linux (pip/pipx/Docker). Android via Termux. | Shared local rnsd (or its own config). |
GitHub↗ · pip install nomadnet |
rns (the rn* CLI tools) |
radio · cli | Any desktop (Python). | It is the connection. Add the badge as an RNodeInterface in ~/.reticulum/config, then drive it with rnsd, rnstatus, rnpath, rnprobe, rnx, rncp, rnsh, rnid, rnodeconf. |
GitHub↗ · pip install rns · manual↗ |
| LoRaMon | sniff | Any desktop. | Drives the RNode in promiscuous mode (the KISS port); single radio is exclusive. | unsigned.io↗ · pip3 install loramon |
| Retichat | messaging (the iPhone option) | iOS / iPadOS (also Apple-Silicon Mac), App Store. | Native LXMF; RNode-over-LoRa support is "very early," so plan a companion path. | App Store↗ |
| Eagle 5 web tools | flash · radio · no install | Desktop Chromium only (Chrome / Edge / Opera / Brave / Arc). Not Safari or any iOS browser. | Talk to the badge directly over the Web Serial API. No Reticulum stack on the host. | serial / flash.eagle5.network |
The Reticulum CLI utilities (the part that finishes the chain)
A messaging app waves you past the gate; after that, the Schwartz wants you on a keyboard.
These challenges hand you a destination and make you use Reticulum's own
command-line tools to finish. They all ship in the rns package:
pip install rns gets the whole set. Full reference:
reticulum.network/manual/using.html↗.
| Tool | What it does | Where it shows up |
|---|---|---|
rnsd | Runs the Reticulum stack as a daemon: brings up interfaces and routes traffic. | Start it first; the shared radio every other tool attaches to. |
rnstatus | Shows interfaces, link status, and known paths. The "is it working" command. | Confirm the badge and a path before you chase a destination. |
rnpath | Traces (and can drop/re-request) the path to a destination across the mesh. | Locate: finding your way to a destination. |
rnprobe | Probes a destination and measures the round-trip: reachability and signal. | Also Locate: confirming the target you found. |
rnx | Remote command execution over Reticulum. | Luggage: drive a remote shell to get what you're after. |
rncp | File copy over Reticulum: scp for the mesh. | Mega Maid and pulling the movie: files you copy over the air. |
rnsh | Interactive remote shell: the persistent-session sibling of rnx. | When a remote node wants a real shell, not one-shot commands. |
rnid | Identity tool: generate, inspect, and manage identities and their hashes. | Identities and the addresses derived from them. |
rnodeconf | Configure / provision an RNode: firmware, region, parameters, EEPROM. | Setting up or recovering the badge (the web flash tool wraps this). |
pip install rns drops every
rn* command on your PATH. Point them at the badge as an
RNodeInterface in ~/.reticulum/config (or let a shared
rnsd own the radio), then rnstatus to prove you have a path.
The ones worth a few words
Messaging
Sideband is the flagship LXMF messenger (Mark Qvist): chat,
telephony, situational awareness, owns the badge's radio directly over USB. Use it
for the early messaging challenges; it won't do rn* challenges
(see above) and is a poor page browser. Use rBrowser or NomadNet
for the BBS. Columba is the lean native-Android alternative: LXMF,
voice calls, identity QR share, offline maps, plus its own phone-to-phone BLE mesh
between Columba apps (no badge). Same deal: messenger, not a page browser.
iPhone & iPad (the iOS story, in one place)
Retichat (New Endian) is the only shipping iOS / iPadOS client:
native LXMF chat, App Store, free. Use it for messaging, but don't count on the phone
owning the radio: RNode-over-LoRa support is "very early." Plan a companion path, a
nearby rnsd/TCP gateway or a laptop. Sideband has no iOS build; the
community fork SidebandiOS↗
is stuck on a closed TestFlight. Web Serial doesn't run on any iOS browser. iOS is
messaging-only. Pair it with a laptop for pages and flashing.
Sniff & flash
LoRaMon is Mark Qvist's LoRa sniffer: tcpdump for
the air. Drives the badge's RNode in promiscuous mode and dumps raw packets to the
console or a file. Two caveats: no sync-word option, so it only hears RNS traffic
(0x1424); for foreign protocols use the badge's own
radio sniff. Also, the single radio is exclusive, so quit your other
client first. Run:
loramon /dev/cu.usbmodemNNN3 --freq 915000000 --bw 125000 --sf 9 --cr 5 -C
The Eagle 5 web tools are browser-native: nothing to install, no Reticulum stack on the host. They talk to the badge directly over the Web Serial API:
- serial.eagle5.network: a terminal on the badge's CLI (the
EAGLE-5 ›prompt). - flash.eagle5.network: flash RNode firmware and provision the EEPROM.
rnodeconf -a, in a browser.
Under the hood
Three patterns for attaching a client to the badge, all over USB. No Bluetooth path to a host; phones use a USB-OTG cable. Knowing which pattern your tool uses tells you what can go wrong:
| Pattern | How it works | Used by |
|---|---|---|
| App owns the radio | The client opens the RNode directly as an RNodeInterface over USB. The phone/laptop is the host. |
Sideband. |
Shared local rnsd |
Run the badge as a system-wide interface via rnsd, then point any RNS app at it. One radio, many apps. |
rBrowser, NomadNet, any rns app. |
| Raw KISS TNC | The firmware also speaks plain KISS, so anything that drives a KISS modem uses the badge as a dumb radio. No Reticulum. | Custom scripts, the Eagle 5 custom-frame path. |
Two USB-CDC ports: the lower-numbered is the CLI (for serial / the manual), the higher-numbered is the KISS interface clients attach to. Don't type into the KISS port; it expects bytes, not keystrokes. See the_manual.
← the_manual · next: ctf