Setup guide / Mac ↔ Linux
Two radios.
One useful link.
This first test connects a Mac named wopr to a Linux workstation named naamah. SSH uses your existing network to start the session. Mosh then carries the terminal traffic over goTenna.
Substitute your own hostnames and login. You need two powered-on goTenna Mesh radios, two USB data cables, both packages installed, and working SSH from the Mac to Linux.
Install both ends.
Check the ordinary SSH path.
Follow the installation instructions on each computer. Plug in one radio per computer. On Linux, ensure the SSH service is running:
sudo systemctl enable --now sshFrom the Mac, test your existing network connection:
ssh adam@naamahAccept a host key only after checking it belongs to your workstation. If the name is not resolvable, use its LAN address or an SSH config alias. Log out before continuing. For connections in the opposite direction, enable Remote Login in the Mac’s System Settings.
Give the radios
a shared network.
On the Mac, open Goblin Modem → Radios & addresses… → Radio. On Linux, run goblin-modem and choose This Linux computer.
| Setting | Mac | Linux |
|---|---|---|
| Computer name | wopr | naamah |
| Radio / serial port | Select the attached radio | Select the attached radio; Rescan if needed |
| Radio identity (GID) | Keep this radio’s unique identity | Use a different identity from the Mac |
| Shared network key | The same 64 hexadecimal characters on both | |
| Create an IP interface | On | On, so the workstation can receive Mosh |
| SOCKS5 port | 1080 | 1080 on this computer |
| Share Internet | Off for the first local test | Off for the first local test |
The apps generate fresh keys, but independently generated keys will not match. Generate one for this collection and paste it into both GUIs:
python3 -c 'import secrets; print(secrets.token_hex(32))'Keep this key private. Leave the discovery radius at six link traversals and leave pacing at its default. Save the settings, then Connect on each computer. Connection settings require disconnecting before edits; Internet settings can be applied while connected.
Find the other computer.
No address book required.
Wait for Other computers to list the peer. On the Mac you should see naamah.mesh, its IPv4 and IPv6 addresses, and whether it has an IP interface. Linux should see wopr.mesh.
Addresses derive from the shared network key and radio identity. The mesh name resolves inside the local SOCKS proxy; it is not a general DNS name for the browser or your normal SSH client. Use IPv6 or the copied mesh name if the GUI reports an IPv4 collision.
Check that both radios are connected, keys match, identities differ, and the peer’s IP interface is enabled. Allow time for discovery. If USB has disappeared, Rescan after reconnecting or power-cycling the radio, then Connect again.
Open Mosh.
Let the radio carry the shell.
In the Mac peer list, set the destination SSH user to adam, leave SSH setup → Existing network · local radio test selected, and click Open Mosh beside naamah. The Linux GUI’s Mosh command button supplies the equivalent command for the selected computer.
For the example names, this is the Mac command with a generous five-minute startup timeout:
/usr/local/libexec/goblin-radio-mosh --ipv6 --connect-timeout=300 \
--proxy=127.0.0.1:1080 --peer=naamah.mesh -- adam@naamahThe launcher connects the saved radio profile if needed, waits for authenticated peer discovery, starts the server through ordinary SSH, and sends Mosh UDP through the local radio proxy. Keep the existing SSH network available during setup. Type a short command:
printf 'hello over goTenna\n'
hostnameWatch the radio counters and queues in both GUIs. Expect seconds of latency. Radio mode uses small packets and conservative pacing; repeatedly launching new sessions or flooding large output makes diagnosis harder. Exit the remote shell normally when finished.
Connected radios, but Mosh does not open?
Confirm that ssh adam@naamah still works and that both packages have the current Goblin Mosh dependency. Check the destination advertises an IP interface and that its firewall allows the Mosh UDP port on the mesh interface (normally 60000–61000). Check the GUI error and retry counters; “discarded” also includes filtering and is not a measured radio loss rate.
The separate Radio only · experimental setting also carries SSH setup through the radio. Start with the existing-network test above; the SSH handshake is expensive on this link.
A few Internet links.
One collection of radios.
For N radios with M Internet-connected computers, enable Share Internet on those M computers only. Their uplinks can be Wi-Fi, modem, or Ethernet. Keep sharing off elsewhere.
Other computers discover the gateway advertisements and select by priority, then hops, then GID. A lower priority number wins. Preferred gateway lets you choose one explicitly while it is available.
Point selected applications at their own computer’s SOCKS5 proxy. For an HTTP check through the advertised gateway:
curl --socks5-hostname 127.0.0.1:1080 --max-time 150 -I http://example.comSharing permits access to destinations reachable by the gateway, including its LAN. Share the network key only with computers you intend to admit. Goblin Modem does not move your computer’s ordinary default route to the radio.
Watch a small terminal do real work ↗