This guide assumes you're using Debian 12 and have root access to your computer.
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.
Ensure that pipx, the Python package manager, is installed:
sudo apt install pipx
Then install Reticulum:
pipx install rns; pipx ensurepath
Run Reticulum to generate a default configuration:
rnsd
(Yes, the 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, to add some nodes, run:
curl https://letsdecentralize.org/rollcall/reticulum.txt >> ~/.reticulum/config
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.
systemd service (optional)Stop 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=/home/YourUsernameHere/.local/bin/rnsd -v 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
git clone --depth 1 https://github.com/cotteux/rwebserver
If you get an error about missing Python modules, run the following:
pip install --break-system-packages rns requests
Note: despite the name of the --break-system-packages flag, that command will not actually break your system because you (hopefully!) ran it as your normal user and not as root.
Add your website files:
ln -s /path/to/your/website/files/ rwebserver/public
Now run the HTTP server:
python3 rwebserver/rserver.py
Your Reticulum identity (address) for your server will be saved to config/identity. BACK THIS FILE UP!
You have to install a proxy on your personal computer, or anywhere else you want to use to browse, in order to properly bridge the HTTP requests over Reticulum.
git clone --depth 1 https://github.com/cotteux/RetiHtmlProxy
cd RetiHtmlProxy
python3 RetiHtmlProxy.py
Take whatever browser you want to use (as long as it supports setting a proxy) and set the proxy to 127.0.0.1:8080.
Now you can navigate to a HTTP-over-Reticulum site, like http://c7258d22a83097b2b60500fe60d1630c.
made with <3 by your friends at Dead End Shrine Online
CC BY-NC-SA 4.0 © Lethe Beltane