This guide assumes you're using Debian 11 and have root access to your computer.
Reticulum is "the cryptography-based networking stack for building local and wide-area networks with readily available hardware. It can operate even with very high latency and extremely low bandwidth. Reticulum allows you to build wide-area networks with off-the-shelf tools, and offers end-to-end encryption and connectivity, initiator anonymity, autoconfiguring cryptographically backed multi-hop transport, efficient addressing, unforgeable delivery acknowledgements and more."
In other words, Reticulum does the heavy lifting of figuring out how to reach nodes and then connecting you to them. Reticulum can connect over anything from traditional TCP/IP networks to darknets like Yggdrasil and I2P to exotic networking interfaces like LoRa and packet radio. Reticulum and NomadNet are developed by the same person, but they are two separate projects. This means, in the future, more applications than just NomadNet can connect over Reticulum.
pip, the Python package manager, is installed:
sudo apt install python3-pip
Then install Reticulum:
sudo -H pip3 install rns
Run Reticulum to generate a default configuration:
d on the end is meant to be there. It stands for "daemon".)
Hit Control and C together after a few seconds to stop Reticulum. Then, in your favorite text editor, edit
~/.reticulum/config and add the following to the bottom of the file:
# TCP/IP interface to the Dublin Hub [[RNS Testnet Dublin]] type = TCPClientInterface enabled = yes target_host = dublin.connect.reticulum.network target_port = 4965 # TCP/IP interface to the Frankfurt Hub [[RNS Testnet Frankfurt]] type = TCPClientInterface enabled = yes target_host = frankfurt.connect.reticulum.network target_port = 5377 [[letsdecentralize]] type = TCPClientInterface enabled = yes target_host = letsdecentralize.org target_port = 4242
If you got errors about "possible carrier loss" on one of your network interfaces, either manually specify which network interfaces "Default Interface" should run on:
[[Default Interface]] type = AutoInterface enabled = Yes devices = wlp3s0,tun0 # in this example, Reticulum can use my wireless card (wlp3s0) and Yggdrasil (tun0) # but no Ethernet ports (enp0s25 or eth0) because they are not listed
or just comment out the "Default Interface" section if you only have one network interface (excluding
lo) on your machine. To get a list of network interfaces, run
ip addr in a separate terminal. However, if you comment out or otherwise remove "Default Interface", you may not be able to automatically connect to peers on your local network. For more information, including connecting to peers over I2P, please consult the Reticulum documentation.
Save the file, then run
rnsd again to restart Reticulum with the new peers.
rnsd if it is currently running.
As root, create the file
/lib/systemd/system/reticulum.service and insert the following:
[Unit] Description=Reticulum After=network.target [Service] User=YourUsernameHere Group=YourUsernameHere ExecStart=/usr/local/bin/rnsd TimeoutStopSec=5s LimitNOFILE=1048576 PrivateTmp=true ProtectSystem=full [Install] WantedBy=multi-user.target
Then reload systemd and enable the Reticulum service:
sudo systemctl daemon-reload sudo systemctl start reticulum sudo systemctl enable reticulum
A "NomadNet address" is just a cryptographically-generated peer ID. Like Secure Scuttlebutt, your ID is agnostic of your actual IP address or physical location, and while you can only have that specific identity running on one device at a time, you can easily back up your ID or move it to another device by copying the contents of
~/.nomadnetwork to another machine.
sudo -H pip3 install nomadnet
Despite Nomadnet being a terminal-based program, at the time of writing it does not have keyboard shortcuts for navigating between windows. A mouse and X server are required to navigate between the "Conversations" and "Network" tabs.
Click on the "Network" tab, then press Control and L together on your keyboard. If you configured Reticulum correctly according to this guide, you should already see some peers in the "Announce Stream". Peers with a circled N are NomadNet nodes, whereas peers with a circled P are just Reticulum peers for helping route traffic. Only NomadNet nodes have pages on them.
If you see an interesting peer in the list, you can browse any pages they might have uploaded by clicking on that peer's entry, then clicking "Connect".
To connect to a peer you don't see in the list, or if you just don't feel like scrolling, press Control and U together, then paste the node address into the box that pops up. Press the Enter button. After a few seconds, if the node is hosting any pages, the default page (
index.mu) should show up.
made with <3 by your friends at Dead End Shrine Online
CC BY-NC-SA 4.0 © Lethe Beltane