>_ DevTrendsen

Language

Home

Languages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Security
Python

Autonomous Internet Based on LoRa and Packet Radio Without Providers and IP Addresses

Recently stumbled upon an interesting project that brought back memories of the FidoNet and BBS era, but with modern cryptography. Imagine this: the cell tower is down, home internet is out, backbone cables are cut, and you need to send a message or check a documentation page. NomadNet solves exactly this problem.

The project creates a fully autonomous mesh network that doesn't need the internet at all. No IP addresses, DNS servers, phone number registration, or central nodes required. Everything runs on top of any channel capable of transmitting bytes, whether it's a cheap LoRa module, a radio modem, Wi-Fi, or even an old serial interface.

Nomad Network Interface

Under the Hood

NomadNet is built on two libraries from the same author: Reticulum Network Stack (RNS) and the LXMF messaging protocol.

Reticulum handles all the low-level magic. It builds a peer-to-peer cryptographic mesh network with node-to-node message routing. RNS is designed to work fine at microscopic speeds. The system happily pushes data over a radio channel at 300 bits per second. If you have Ethernet or internet available, Reticulum can use those as one of the transports, connecting local isolated islands into a unified network.

LXMF adds encrypted message delivery on top of Reticulum with End-to-End Encryption and Forward Secrecy support. If the recipient is offline, intermediate nodes store the encrypted packet and deliver it when the node appears on the air again.

NomadNet combines all of this into a console interface (TUI) with its own built-in browser and messenger.

Browsing pages in the console

What the System Can Do

In terms of functionality, NomadNet resembles a pocket Web 1.0 built on military-grade fault tolerance principles:

  1. Text browser and micro pages. Inside runs the spartan Micron page browser. It's a lightweight markup language optimized for low-bandwidth channels. Pages are cached on the client to avoid re-transmitting traffic over the radio airwaves.
  2. Dynamic content on nodes. A node can serve not just static pages. You can bind response generation to Python, Bash, or PHP scripts. Thanks to this, people run full-fledged forums, weather forecasts, and classifieds boards.
  3. Offline messages without intermediaries. The messenger works on a P2P principle. It uses cryptographic hashes for addressing instead of domain names or phone numbers. No passwords or logins: the node identifier is the public key itself.
  4. Background operation. NomadNet can run as a graphical TUI client or as a system daemon on a home server or Raspberry Pi, leaving it running as a relay for neighbors.

Dialogues and messaging

How to Set Up Your Own Node

Installation is extremely simple since the project is written in Python. The fastest way to deploy is via pipx or standard pip:

# Установка через pipx в изолированное окружение
pipx install nomadnet

# При необходимости можно докинуть утилиты RNS и LXMF
pipx install rns
pipx install lxmf

# Запуск интерактивного интерфейса
nomadnet

If you don't want to deal with the Python environment, the author builds official Docker images:

# Запуск TUI в контейнере
docker run -it ghcr.io/markqvist/nomadnet:master --textui

# Либо запуск демона с пробросом конфигурации хоста
docker run -d \
  -v ~/.nomadnetwork/:/root/.nomadnetwork/ \
  -v ~/.reticulum/:/root/.reticulum/ \
  --network host \
  ghcr.io/markqvist/nomadnet:master

On first launch, NomadNet will open the built-in guide. To test the network without buying radio modules, just connect to the public RNS testnet over the internet.

Inside the test network, you can browse other nodes. Press Ctrl+U, enter the node hash (for example, the Dublin hub abb3ebcd03cb2388a838e70c001291f9) and press Enter. The program will find the route in the network and load the main page.

List of known nodes

What the Community Has Already Built

An enthusiast infrastructure is gradually forming around Reticulum and NomadNet. If you look at the third-party utilities catalog, you can find:

  • NomadForum — a minimalist forum engine for nodes;
  • NomadForecast — a weather informer that collects reports and delivers them in text form on request;
  • micron-blog and Any2MicronConverter — blog generators and Markdown to Micron markup converters;
  • Bots and classified boards based on LXMF for group coordination.

For those who find the console too harsh, the author developed a separate GUI client — Sideband. It's available on Linux, macOS, and Android.

Settings and network interfaces

Caveats and Real-World Scenarios

Don't think that NomadNet will replace the regular web for everyday tasks. Radio channel speeds like LoRa (hundreds of bytes per second) impose strict limitations: no high-resolution images, video, or heavy JS scripts. Only compressed text, telemetry, and short messages.

Additionally, the project is in beta status. The author honestly warns in the description: the code hasn't undergone external security audits yet, so relying on it in life-critical scenarios requires caution.

Who will find this project useful:

  • Hikers, expedition enthusiasts, and amateur radio operators who need communication in remote areas without cellular coverage;
  • IoT developers and autonomous field station builders for remote sensor polling;
  • Experimenters interested in decentralized protocols and mesh networks without dependency on telecom infrastructure.

You can try the project in a couple of minutes by installing the package via pip and connecting to the test network. It's a rare example of software that brings back the romance of the early web and independence from cloud giants.

Related projects