Setting up a website over Reticulum

This guide assumes you're using Debian 12 and have root access to your computer.

Last updated: 2026-05-15

Installing Reticulum

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.

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.

 

Setting up Reticulum as a 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
			

 

Setting up the HTTP server

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!

 

Connecting to the HTTP server

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