Home The Playbook
Learn
Settings Guide Field Guides & Resources Certifications
Get
Meshtastic Meshcore Reticulum Nodes About Contact
Node Star Field Guide · Vol. 9 v1.0 · 2026

The Mesh
Has a Web

A complete guide to Nomad Network — the distributed publishing and communication layer built on Reticulum. Browse µ-pages, run a node, host your own content, and explore what the mesh looks like when it grows up.

Protocol Reticulum + NomadNet
Prerequisites Python 3 · Reticulum running
Hardware Required None (works over TCP backbone)
Time to First Page ~15 minutes
Table of Contents

What is
Nomad Network?

Nomad Network is a distributed content and communication platform built entirely on top of Reticulum. It was created by Mark Qvist — the same person who wrote Reticulum itself — and it answers a question that most mesh networking projects never ask: once you have a radio network that works, what do you actually do with it?

The answer Nomad Network gives is: you build a web. Not the World Wide Web — no IP addresses, no DNS, no servers to subpoena — but a genuinely distributed publishing layer where any node on the Reticulum network can host content and any other node can retrieve it. Pages travel over LoRa radio, TCP, serial links, and any other interface Reticulum supports. They're encrypted in transit. They're addressed by cryptographic hash, not by domain name. And they're served directly from the device that owns them.

This is what the mesh looks like when it grows up. Meshtastic gets people talking. Nomad Network gives them something to say — and a permanent, censorship-resistant place to say it.

The Short Version

Nomad Network is a decentralized web browser and server for the Reticulum mesh. Every node is both a server and a client. There are no central hosts, no domain registrars, and no one who can take a page down. If your node is reachable on the mesh, your content is reachable.

What You Can Do with It

Browse µ-Pages

Navigate distributed pages hosted on other nodes. Follow links. Read community boards, project documentation, node directories, and whatever else people are publishing on the mesh.

Send Encrypted Messages

Exchange LXMF messages with other NomadNet users. These are signed, encrypted, and delivered store-and-forward across any Reticulum interface — LoRa included.

Host Your Own Node

Publish pages, run a bulletin board, or simply act as a relay. A NomadNet node makes you a first-class citizen of the mesh — not just a reader, but a publisher.

Propagate Announces

Nodes with propagation enabled relay LXMF messages for others, extending the effective reach of the network beyond the range of any single radio link.

Where It Fits
in Reticulum

Reticulum is the networking layer. It handles routing, identity, encryption, and transport — over any physical medium. NomadNet is an application built on top of Reticulum, in the same way that a web browser is an application built on top of TCP/IP. The two are distinct but inseparable: NomadNet without Reticulum is a program with nowhere to go. Reticulum without NomadNet is a protocol with no user-facing application to show for it.

LayerWhat It DoesAnalogy
LoRa / TCP / Serial Physical transport — moves bits between devices Ethernet / WiFi cable
Reticulum (RNS) Cryptographic routing, identity, packet delivery TCP/IP
LXMF Lightweight message format for messages and mail SMTP / email protocol
NomadNet Node hosting, µ-page browsing, message client Web browser + web server
Micron Markup language for µ-pages HTML
No Radio Required to Start

NomadNet works over TCP just as well as over LoRa. The Reticulum backbone runs over the internet and connects to real NomadNet nodes. You can browse the mesh right now from your laptop, before you own a single radio. The experience is identical — the only difference is range and resilience when the internet goes down.

The Application Ecosystem

NomadNet isn't the only application built on Reticulum — it's the oldest and most featureful. Here's how it relates to the other major apps:

AppPurposeInterface
NomadNet Node hosting, µ-page browsing, LXMF messaging Terminal (ncurses)
Sideband LXMF messaging client, simpler and mobile-friendly GUI (Android, iOS, desktop)
MeshChat Web-based Reticulum client with voice and NomadNet browser Web browser
Nomad Navigator All-in-one desktop client: µ-page browser, messaging, voice calls, file transfers, Micron editor, interface discovery, and more Desktop app (Node Star / MeshChatX fork)

The µ-Page
System

A µ-page (micro-page) is a document hosted on a NomadNet node and addressed by the node's Reticulum destination hash. When you request a page, NomadNet opens an encrypted link to the destination, sends the page path over that link, and receives the content in response. No HTTP. No TLS handshake. No DNS lookup. The routing, authentication, and encryption are all handled by Reticulum at the transport layer.

Pages are written in Micron — a simple, lightweight markup language designed for the constraints of radio transmission. It's not HTML. It's closer to a structured plain-text format that supports headings, emphasis, color, and clickable links. Nodes transmitting over LoRa have limited bandwidth, so Micron keeps pages small by design.

Micron: Source vs. Rendered

Here's how raw Micron source translates to formatted output:

Micron Source
> Node Directory >> Backbone Nodes Welcome to the `!Node Star`!! network. ---- `Fgreen`Status: Online`f` `[Community Node`=abb3ebcd/index.mu` `[rmap.world Directory`=ea6a715f/index.mu`
Rendered Output

Node Directory

Backbone Nodes

Welcome to the Node Star network.


Status: Online

Community Node

rmap.world Directory

Micron Syntax Reference

SyntaxEffect
> HeadingLevel 1 heading
>> HeadingLevel 2 heading
>>> HeadingLevel 3 heading
---- or ====Horizontal divider
`!`text`!!`Bold text
`_`text`__`Underlined text
`Fgreen`text`f`Green foreground color (named or 0–255)
`B196`text`b`Background color (256-color index)
`[Label`=hash/path`Clickable link to another node/page
`[Label`=/local/page.mu`Link to a page on the same node
Page Addressing

Every page on a NomadNet node is addressed as destination_hash/path/to/page.mu. The destination hash is the 32-character hex identifier of the node. The path is relative to the node's page root. If no path is given, index.mu is fetched by default.

Installing
NomadNet

NomadNet requires Python 3.7 or higher and an active Reticulum instance. If you don't have Reticulum running yet, see Field Guide Vol. 1 first. NomadNet will connect to whatever Reticulum interfaces you have configured — LoRa, TCP, or both.

1

Install via pip

$ pip install nomadnet

This installs NomadNet and its dependencies, including rns (Reticulum) if it isn't already installed.

2

First Launch

$ nomadnet

On first run, NomadNet generates a local identity and creates its configuration directory at ~/.nomadnetwork/. It will start Reticulum automatically if it's not already running as a daemon.

3

Verify the Interface

You should see the NomadNet terminal interface — a split-screen layout with a message panel, a node browser, and a status bar showing your active Reticulum interfaces. If Reticulum connects to the backbone automatically (via AutoInterface on LAN, or if you have TCP configured), you'll start seeing announces from other nodes within a few minutes.

Backbone Access

If you're on a machine with internet access, Reticulum's AutoInterface will attempt to connect to other local nodes via UDP multicast. To reach the global distributed backbone, add one or more TCP interfaces to your Reticulum config at ~/.reticulum/config. Find current backbone nodes at rmap.world or directory.rns.recipes — click any public entrypoint and copy its configuration.

# ~/.reticulum/config
# Add one or more backbone nodes under [interfaces]
# Get current hosts/ports from rmap.world
[interfaces]

  [[Backbone Node]]
    type = TCPClientInterface
    enabled = yes
    target_host = your.backbone.hostname
    target_port = 4242

Restart rnsd (or NomadNet, or Nomad Navigator) after editing the config. You should see the interface show as active.

Important

The official Reticulum testnet (Dublin, Frankfurt, Amsterdam) has been decommissioned. The network now runs on a distributed backbone of community-operated nodes. For always-current entrypoints, check rmap.world or directory.rns.recipes. It's best to configure multiple backbone connections for redundancy.

Connecting to
the Network

Before you can browse a µ-page, Reticulum needs a path to the destination — a routing entry that tells it how to reach that node's hash. Paths propagate through the network via announces: when a node comes online, it broadcasts a signed announce that ripples out through every relay and transport node that receives it. Your local Reticulum instance stores these paths in a path table.

In practice: if a node is online and reachable, you'll have a path to it within a few minutes of connecting to the network. If you try to fetch a page before the path exists, Reticulum will send a path request and wait for a response. NomadNet handles this automatically — it just takes a moment longer the first time.

Understanding Destination Hashes

Every NomadNet node is identified by a destination hash — a 32-character hexadecimal string derived from the node's cryptographic identity and application name. It's the address you navigate to, equivalent to a domain name — except it's generated locally, requires no registration, and is impossible to spoof.

# Example destination hash
abb3ebcd03cb2388a838e70c001291f9

# To request a specific page on that node:
abb3ebcd03cb2388a838e70c001291f9/pages/about.mu

# Default page (index.mu) if no path is specified:
abb3ebcd03cb2388a838e70c001291f9

Finding Your Own Hash

Once NomadNet is running, your node's destination hash is displayed in the interface. You can also retrieve it from the command line:

$ rnid
Identity  : <your identity hash>
Destination: <your node destination hash>

Share your destination hash with others to let them reach your node — or publish it in a node directory.

Browsing with
the Terminal Client

NomadNet's built-in interface is a full-featured ncurses terminal application. It's split into panels: a message thread on the left for LXMF conversations, and a node browser on the right for navigating µ-pages. The two panels can be toggled, resized, and navigated entirely from the keyboard.

Key Bindings

KeyAction
TabSwitch between message panel and browser panel
↑ / ↓Navigate links on a page or scroll messages
EnterFollow selected link
BackspaceGo back to the previous page
GOpen the Go To dialog — enter a destination hash directly
QQuit NomadNet

The Split-Pane Layout

Here's what the NomadNet interface looks like. The left panel handles LXMF messages. The right panel is the µ-page browser. Focus switches between them with Tab.

NomadNet Terminal Interface
CONVERSATIONS nomad@abb3ebcd Hey, check out my new page… anon@f8ac9c41 Welcome to the mesh mesh@ea6a715f Backbone relay online [ compose message ] NODE BROWSER abb3ebcd…/index.mu Node Directory Backbone Nodes Welcome to the Node Star Reticulum node. Status: Online ▶ Community Node rmap.world BetweenTheBorders Node Star ● RNS TCP:Backbone AutoInterface [G]o [Q]uit ← selected ↑↓ navigate Enter: open

Navigating to a Node

1

Switch to the browser panel

Press Tab to move focus to the right-side browser panel.

2

Open the Go To dialog

Press G. A prompt will appear asking for a destination address.

3

Enter a destination hash

Type the hash (with or without a page path) and press Enter. NomadNet will resolve the path, open a link, fetch the page, and render it.

abb3ebcd03cb2388a838e70c001291f9
First Fetch

If this is the first time you've connected to a node, Reticulum may take 5–20 seconds to resolve a path. This is normal — it's sending a path request across the network and waiting for the node to respond. Subsequent fetches to the same node are much faster.

Known Nodes &
What's Out There

The Nomad Network doesn't have a central directory — that would defeat the point. But the community maintains informal lists of known nodes, and several official backbone nodes run by unsigned.io (Mark Qvist's project) serve as well-known starting points. Once you connect to any of these, you can follow links to discover others.

Community Backbone
Official unsigned.io backbone node. Good first stop — well-connected and usually online. Hosts a node directory with links to community nodes.
abb3ebcd03cb2388a838e70c001291f9
official
Find more at rmap.world
Browse rmap.world for an interactive map of all active backbone nodes. Click any node to copy its configuration directly into your Reticulum config.
ea6a715f814bdc37e56f80c34da6ad51
official
BetweenTheBorders
Active community node. Hosts µ-pages, routes LXMF traffic, and links to other community nodes not listed elsewhere.
f8ac9c41b857ddf13a9151cec211079b
community
Finding More

Browse rmap.world for an interactive map of active nodes, or directory.rns.recipes for a community-maintained directory. Once connected to any backbone node, follow links to discover others. The network is small but growing, and every node you visit may link to others you haven't seen yet.

Running Your
Own Node

Running a NomadNet node makes you a publisher on the mesh. Your node gets a permanent destination hash, can serve µ-pages to anyone who connects, and can optionally propagate LXMF messages for others — extending the effective reach of the network.

The simplest setup is just running nomadnet with the default configuration. It will serve whatever pages you place in the pages directory and announce itself to the network. For a permanent node, you'll want to run it on a Raspberry Pi or similar always-on machine.

Configuration File

NomadNet's config lives at ~/.nomadnetwork/config. The defaults are sane — but these are the settings worth knowing:

ini# ~/.nomadnetwork/config

[node]
# Enable serving pages to other nodes
enable_node = yes

# Your node's display name
node_name = My Node

# Announce every N seconds (3600 = once per hour)
announce_at_start = yes
announce_interval = 3600

# Propagate LXMF messages for others
enable_propagation = no

[paths]
# Where your pages live
page_path = ~/.nomadnetwork/pages

Page Directory Structure

~/.nomadnetwork/pages/
├── index.mu          # Default page (fetched when no path given)
├── about.mu          # Reachable at hash/about.mu
└── links/
    └── directory.mu  # Reachable at hash/links/directory.mu
Always-On Node

For a reliable public node, run NomadNet in headless mode on a Pi Zero 2W or similar hardware. Use nomadnet --daemon to run without the interactive interface, or pair it with a systemd service for automatic startup on boot. A Pi Zero 2W consumes under 1W at idle and costs about $15 — it's the right tool for a permanent mesh presence.

Writing
Micron Pages

Micron files are plain text with a .mu extension. You can write them in any text editor. There is no compilation step, no build system, no dependencies — save the file and your node serves it immediately.

The design philosophy of Micron is constraint as a feature. Pages are small by necessity, which means they load fast over radio links and stay focused. A good µ-page is concise, clearly structured, and links generously to other nodes and pages. Think gopher, not the modern web.

A Complete Example Page

micron# index.mu — a simple node home page

> Node Star · Mesh Networking Resources

>> About This Node

Welcome to the `!Node Star`!! Reticulum node.
Running LoRa at 915 MHz · Long Beach, CA

---

>> Pages

`[Field Guides`=/pages/guides.mu`
`[Node Directory`=/pages/directory.mu`
`[About`=/pages/about.mu`

---

>> Other Nodes

`[Community Node`=abb3ebcd03cb2388a838e70c001291f9/index.mu`
`[rmap.world Directory`=ea6a715f814bdc37e56f80c34da6ad51/index.mu`

---

`Fgreen`Status: Online · `f`Updated 2026

Tips for Good µ-Pages

Nomad
Navigator

The terminal interface is powerful, but it's not for everyone. Nomad Navigator is a full-featured desktop app that gives you everything in one window — no terminal, no browser tabs, no separate tools to juggle.

It's built on MeshChatX, repackaged and distributed for the Node Star community. You get a µ-page browser, encrypted LXMF messaging, LXST voice calls, a Micron page editor, file transfers, interface discovery, multi-identity management, offline maps, page archiving, and built-in Reticulum documentation — all out of the box.

Node Star Tool

Nomad Navigator v4.3.1

An all-in-one Reticulum desktop client. Browse µ-pages, send encrypted messages, make voice calls, discover interfaces, manage multiple identities, edit Micron pages, archive pages for offline reading, and much more. Available for Linux and Windows.

Linux (.deb) Windows Installer

Quick Start

1

Install (Debian/Ubuntu)

$ sudo apt install ./NomadNavigator-v4.3.1-linux-amd64.deb
2

Install (Windows)

Run the installer. Nomad Navigator will appear in your Start menu.

3

Launch the app

Nomad Navigator opens in its own window — a proper desktop app, not a browser tab. Use the built-in interface discovery to auto-detect connections, or add a backbone node manually in your Reticulum config.

FeatureTerminal ClientNomad Navigator
Browse µ-pagesYesYes
Clickable linksYesYes
LXMF messagingYesYes
Voice calls (LXST)NoYes
File transfersNoYes
Micron page editorNoYes
Interface discoveryNoYes
Multiple identitiesNoYes
Offline mapsNoYes
Page archivingNoYes
Node hostingYesYes
Terminal requiredYesNo
Source Code

Nomad Navigator is built on MeshChatX, which is open source under the MIT license. Source code and issue tracker at git.quad4.io/RNS-Things/MeshChatX.

Common Issues

No announces appearing after startup

This is the most common first-run problem. Check that your Reticulum config includes the backbone TCP interfaces and that rnsd is running or NomadNet started it. Run rnstatus from the terminal — you should see at least one interface marked as active with traffic flowing. If all interfaces show zero TX/RX, the config file may not be loading from the expected path (~/.reticulum/config).

Path resolution takes a long time or never completes

Path resolution on the first connection to a node can take anywhere from a few seconds to about 20 seconds — this is normal. Reticulum sends a path request and waits for the node to respond with a signed announce. If resolution never completes, the node may be offline, or your connection to the backbone may not be routing correctly. Try connecting to a well-known community node first and wait up to 30 seconds before concluding there's a problem.

Identity could not be recalled

You have a path to the node but no stored identity for it. This means the node hasn't sent an announce that your Reticulum instance has seen yet — it may have just come online, or your local path table is stale. Wait a minute and try again. If the problem persists, the node may be running with transport mode disabled and relying solely on direct announces, which take longer to propagate.

Link closes before a response is received

A link established but the page request timed out or the node closed the connection before responding. The node is reachable but the specific page path may not exist, or the node's page server may not be enabled (enable_node = yes must be set in its config). Try navigating to index.mu explicitly.

Diagnosing with --verbose

When troubleshooting connection issues, run rnstatus from the terminal to see detailed RNS interface status — active interfaces, traffic flow, and error conditions. This is the fastest way to understand exactly where a connection is failing.

Reference &
Resources

Key Resources

ResourceURL
Reticulum Projectreticulum.network
Reticulum Manualreticulum.network/manual
NomadNet Sourcegithub.com/markqvist/NomadNet
Sideband (LXMF app)github.com/markqvist/Sideband
Nomad Navigator / MeshChatXgit.quad4.io/RNS-Things/MeshChatX
Node Starnodestar.net

Known Nodes

NameDestination HashType
BetweenTheBordersf8ac9c41b857ddf13a9151cec211079bCommunity

For a comprehensive and up-to-date list of active nodes, visit rmap.world or directory.rns.recipes.

Reticulum Backbone Nodes

The official testnet has been decommissioned. The network now runs on a distributed community backbone. Find current entrypoints at:

ResourceURL
rmap.worldInteractive map of public nodes — click any to copy config
directory.rns.recipesCommunity-verified interface directory