# Reticulum Network Stack Manual

This manual aims to provide you with all the information you need to
understand Reticulum, build networks or develop programs using it, or
to participate in the development of Reticulum itself.

* [What is Reticulum?](whatis.md)
  * [Current Status](whatis.md#current-status)
  * [Reference Implementation](whatis.md#reference-implementation)
  * [What does Reticulum Offer?](whatis.md#what-does-reticulum-offer)
  * [Where can Reticulum be Used?](whatis.md#where-can-reticulum-be-used)
  * [Interface Types and Devices](whatis.md#interface-types-and-devices)
* [Getting Started Fast](gettingstartedfast.md)
  * [Standalone Reticulum Installation](gettingstartedfast.md#standalone-reticulum-installation)
    * [Resolving Dependency & Installation Issues](gettingstartedfast.md#resolving-dependency-installation-issues)
  * [Try Using a Reticulum-based Program](gettingstartedfast.md#try-using-a-reticulum-based-program)
  * [Using the Included Utilities](gettingstartedfast.md#using-the-included-utilities)
  * [Creating a Network With Reticulum](gettingstartedfast.md#creating-a-network-with-reticulum)
  * [Bootstrapping Connectivity](gettingstartedfast.md#bootstrapping-connectivity)
    * [Finding Your Way](gettingstartedfast.md#finding-your-way)
    * [Build Personal Infrastructure](gettingstartedfast.md#build-personal-infrastructure)
    * [Mixing Strategies](gettingstartedfast.md#mixing-strategies)
    * [Network Health & Responsibility](gettingstartedfast.md#network-health-responsibility)
    * [Contributing to the Global Ret](gettingstartedfast.md#contributing-to-the-global-ret)
  * [Connect to the Distributed Backbone](gettingstartedfast.md#connect-to-the-distributed-backbone)
  * [Hosting Public Entrypoints](gettingstartedfast.md#hosting-public-entrypoints)
  * [Connecting Reticulum Instances Over the Internet](gettingstartedfast.md#connecting-reticulum-instances-over-the-internet)
  * [Adding Radio Interfaces](gettingstartedfast.md#adding-radio-interfaces)
  * [Creating and Using Custom Interfaces](gettingstartedfast.md#creating-and-using-custom-interfaces)
  * [Develop a Program with Reticulum](gettingstartedfast.md#develop-a-program-with-reticulum)
  * [Platform-Specific Install Notes](gettingstartedfast.md#platform-specific-install-notes)
    * [Android](gettingstartedfast.md#android)
    * [ARM64](gettingstartedfast.md#arm64)
    * [Debian Bookworm](gettingstartedfast.md#debian-bookworm)
    * [MacOS](gettingstartedfast.md#macos)
    * [OpenWRT](gettingstartedfast.md#openwrt)
    * [Raspberry Pi](gettingstartedfast.md#raspberry-pi)
    * [RISC-V](gettingstartedfast.md#risc-v)
    * [Ubuntu Lunar](gettingstartedfast.md#ubuntu-lunar)
    * [Windows](gettingstartedfast.md#windows)
  * [Pure-Python Reticulum](gettingstartedfast.md#pure-python-reticulum)
* [Zen of Reticulum](zen.md)
  * [The Illusion Of The Center](zen.md#the-illusion-of-the-center)
    * [Fallacy Of The Cloud](zen.md#fallacy-of-the-cloud)
    * [Decentralization Or Uncentralizability?](zen.md#decentralization-or-uncentralizability)
    * [Death To The Address](zen.md#death-to-the-address)
  * [Physics Of Trust](zen.md#physics-of-trust)
    * [Hostile Environments](zen.md#hostile-environments)
    * [Encryption Is Not A Feature](zen.md#encryption-is-not-a-feature)
    * [Zero-Trust Architectures](zen.md#zero-trust-architectures)
  * [Merits Of Scarcity](zen.md#merits-of-scarcity)
    * [The Bandwidth Fallacy](zen.md#the-bandwidth-fallacy)
    * [Cost Of A Byte](zen.md#cost-of-a-byte)
    * [Flow & Time](zen.md#flow-time)
    * [Liberation From Limits](zen.md#liberation-from-limits)
  * [Sovereignty Through Infrastructure](zen.md#sovereignty-through-infrastructure)
    * [A Carrier-Grade Fallacy](zen.md#a-carrier-grade-fallacy)
    * [Personal Infrastructure](zen.md#personal-infrastructure)
    * [The Ability To Disconnect](zen.md#the-ability-to-disconnect)
  * [Identity and Nomadism](zen.md#identity-and-nomadism)
    * [Portable Existence](zen.md#portable-existence)
    * [Roaming Nodes](zen.md#roaming-nodes)
    * [Announcing Presence](zen.md#announcing-presence)
    * [Anchor In The Flow](zen.md#anchor-in-the-flow)
  * [Ethics Of The Tool](zen.md#ethics-of-the-tool)
    * [The Harm Principle](zen.md#the-harm-principle)
    * [Public Domain Protocol](zen.md#public-domain-protocol)
    * [Preserving Human Agency](zen.md#preserving-human-agency)
  * [Design Patterns For Post-IP Systems](zen.md#design-patterns-for-post-ip-systems)
    * [Store & Forward](zen.md#store-forward)
    * [Naming Is Power](zen.md#naming-is-power)
    * [The Interface Is The Medium](zen.md#the-interface-is-the-medium)
    * [Emergent Patterns](zen.md#emergent-patterns)
  * [Fabric Of The Independent](zen.md#fabric-of-the-independent)
    * [The Work Is Finished](zen.md#the-work-is-finished)
    * [Open Sky](zen.md#open-sky)
* [Programs Using Reticulum](software.md)
  * [Programs & Utilities](software.md#programs-utilities)
    * [Remote Shell](software.md#remote-shell)
    * [Nomad Network](software.md#nomad-network)
    * [RNS Page Node](software.md#rns-page-node)
    * [Retipedia](software.md#retipedia)
    * [Sideband](software.md#sideband)
    * [MeshChatX](software.md#meshchatx)
    * [Reticulum Relay Chat](software.md#reticulum-relay-chat)
    * [RetiBBS](software.md#retibbs)
    * [RBrowser](software.md#rbrowser)
    * [Reticulum Network Telephone](software.md#reticulum-network-telephone)
    * [LXST Phone](software.md#lxst-phone)
    * [LXMFy](software.md#lxmfy)
    * [LXMF Interactive Client](software.md#lxmf-interactive-client)
    * [RNS FileSync](software.md#rns-filesync)
    * [Micron Parser JS](software.md#micron-parser-js)
    * [RNMon](software.md#rnmon)
  * [Protocols](software.md#protocols)
    * [LXMF](software.md#lxmf)
    * [LXST](software.md#id16)
    * [RRC](software.md#rrc)
  * [Interface Modules & Connectivity Resources](software.md#interface-modules-connectivity-resources)
* [Using Reticulum on Your System](using.md)
  * [Configuration & Data](using.md#configuration-data)
  * [Included Utility Programs](using.md#included-utility-programs)
    * [The rnsd Utility](using.md#the-rnsd-utility)
    * [The rnstatus Utility](using.md#the-rnstatus-utility)
    * [The rnid Utility](using.md#the-rnid-utility)
    * [The rnpath Utility](using.md#the-rnpath-utility)
    * [The rnprobe Utility](using.md#the-rnprobe-utility)
    * [The rncp Utility](using.md#the-rncp-utility)
    * [The rngit Utility](using.md#the-rngit-utility)
    * [The rnx Utility](using.md#the-rnx-utility)
    * [The rnsh Utility](using.md#the-rnsh-utility)
    * [The rnodeconf Utility](using.md#the-rnodeconf-utility)
  * [Discovering Interfaces](using.md#discovering-interfaces)
  * [Remote Management](using.md#remote-management)
  * [Blackhole Management](using.md#blackhole-management)
    * [Local Blackhole Management](using.md#local-blackhole-management)
    * [Automated List Sourcing](using.md#automated-list-sourcing)
    * [Publishing Blackhole Lists](using.md#publishing-blackhole-lists)
  * [Improving System Configuration](using.md#improving-system-configuration)
    * [Fixed Serial Port Names](using.md#fixed-serial-port-names)
    * [Reticulum as a System Service](using.md#reticulum-as-a-system-service)
* [Understanding Reticulum](understanding.md)
  * [Motivation](understanding.md#motivation)
  * [Goals](understanding.md#goals)
  * [Introduction & Basic Functionality](understanding.md#introduction-basic-functionality)
    * [Destinations](understanding.md#destinations)
    * [Public Key Announcements](understanding.md#public-key-announcements)
    * [Identities](understanding.md#understanding-identities)
    * [Getting Further](understanding.md#getting-further)
  * [Reticulum Transport](understanding.md#reticulum-transport)
    * [Node Types](understanding.md#node-types)
    * [The Announce Mechanism in Detail](understanding.md#the-announce-mechanism-in-detail)
    * [Reaching the Destination](understanding.md#reaching-the-destination)
    * [Resources](understanding.md#resources)
  * [Network Identities](understanding.md#network-identities)
    * [Conceptual Overview](understanding.md#conceptual-overview)
    * [Current Usage](understanding.md#current-usage)
    * [Future Implications](understanding.md#future-implications)
    * [Creating and Using a Network Identity](understanding.md#creating-and-using-a-network-identity)
  * [Reference Setup](understanding.md#reference-setup)
  * [Protocol Specifics](understanding.md#protocol-specifics)
    * [Packet Prioritisation](understanding.md#packet-prioritisation)
    * [Interface Access Codes](understanding.md#interface-access-codes)
    * [Wire Format](understanding.md#wire-format)
    * [Announce Propagation Rules](understanding.md#announce-propagation-rules)
    * [Cryptographic Primitives](understanding.md#cryptographic-primitives)
* [Communications Hardware](hardware.md)
  * [Combining Hardware Types](hardware.md#combining-hardware-types)
  * [RNode](hardware.md#rnode)
    * [Creating RNodes](hardware.md#creating-rnodes)
    * [Supported Boards and Devices](hardware.md#supported-boards-and-devices)
    * [Installation](hardware.md#installation)
    * [Usage with Reticulum](hardware.md#usage-with-reticulum)
  * [WiFi-based Hardware](hardware.md#wifi-based-hardware)
  * [Ethernet-based Hardware](hardware.md#ethernet-based-hardware)
  * [Serial Lines & Devices](hardware.md#serial-lines-devices)
  * [Packet Radio Modems](hardware.md#packet-radio-modems)
* [Configuring Interfaces](interfaces.md)
  * [Custom Interfaces](interfaces.md#custom-interfaces)
  * [Auto Interface](interfaces.md#auto-interface)
  * [Backbone Interface](interfaces.md#backbone-interface)
    * [Listeners](interfaces.md#listeners)
    * [Connecting Remotes](interfaces.md#connecting-remotes)
    * [Automated Blocking](interfaces.md#automated-blocking)
  * [TCP Server Interface](interfaces.md#tcp-server-interface)
  * [TCP Client Interface](interfaces.md#tcp-client-interface)
  * [UDP Interface](interfaces.md#udp-interface)
  * [I2P Interface](interfaces.md#i2p-interface)
  * [RNode LoRa Interface](interfaces.md#rnode-lora-interface)
  * [RNode Multi Interface](interfaces.md#rnode-multi-interface)
  * [Serial Interface](interfaces.md#serial-interface)
  * [Pipe Interface](interfaces.md#pipe-interface)
  * [KISS Interface](interfaces.md#kiss-interface)
  * [AX.25 KISS Interface](interfaces.md#ax-25-kiss-interface)
  * [Discoverable Interfaces](interfaces.md#discoverable-interfaces)
    * [Enabling Discovery](interfaces.md#enabling-discovery)
    * [Discovery Parameters](interfaces.md#discovery-parameters)
    * [Interface Modes](interfaces.md#interface-modes)
    * [Security Considerations](interfaces.md#security-considerations)
    * [Example Configuration](interfaces.md#example-configuration)
  * [Common Interface Options](interfaces.md#common-interface-options)
  * [Interface Modes](interfaces.md#interfaces-modes)
  * [Announce Rate Control](interfaces.md#announce-rate-control)
  * [New Destination Rate Limiting](interfaces.md#new-destination-rate-limiting)
  * [Path Request Burst Control](interfaces.md#path-request-burst-control)
* [Building Networks](networks.md)
  * [Concepts & Overview](networks.md#concepts-overview)
    * [Introductory Considerations](networks.md#introductory-considerations)
    * [Destinations, Not Addresses](networks.md#destinations-not-addresses)
    * [Transport Nodes and Instances](networks.md#transport-nodes-and-instances)
    * [Trustless Networking](networks.md#trustless-networking)
    * [Heterogeneous Connectivity](networks.md#heterogeneous-connectivity)
* [Distributed Development](distributed.md)
  * [The Original Architecture](distributed.md#the-original-architecture)
  * [The Platform Interregnum](distributed.md#the-platform-interregnum)
  * [Restoration](distributed.md#restoration)
  * [Protocols Over Platforms](distributed.md#protocols-over-platforms)
  * [Sovereignty Through Infrastructure](distributed.md#sovereignty-through-infrastructure)
  * [Artifact-Centered Workflows](distributed.md#artifact-centered-workflows)
  * [Composable Primitives](distributed.md#composable-primitives)
  * [Distribution Without Intermediaries](distributed.md#distribution-without-intermediaries)
  * [Long Archive](distributed.md#long-archive)
  * [Start Of The Road](distributed.md#start-of-the-road)
* [Git Over Reticulum](git.md)
  * [The rngit Utility](git.md#the-rngit-utility)
  * [Repository Creation & Management](git.md#repository-creation-management)
    * [Creating Empty Repositories](git.md#creating-empty-repositories)
    * [Forking Repositories](git.md#forking-repositories)
    * [Mirroring Repositories](git.md#mirroring-repositories)
    * [Automatic Mirror Synchronization](git.md#automatic-mirror-synchronization)
    * [Manual Synchronization](git.md#manual-synchronization)
    * [Git Configuration Parameters](git.md#git-configuration-parameters)
  * [Repository Structure](git.md#repository-structure)
    * [Configuration](git.md#configuration)
  * [Permissions](git.md#permissions)
    * [Permission Types](git.md#permission-types)
    * [Permission Hierarchy](git.md#permission-hierarchy)
    * [Configuration Methods](git.md#configuration-methods)
    * [Work Document Permissions](git.md#work-document-permissions)
    * [Creator Permissions](git.md#creator-permissions)
    * [Permission Examples](git.md#permission-examples)
    * [Permission Short Forms](git.md#permission-short-forms)
    * [Permission Configuration Locations](git.md#permission-configuration-locations)
  * [Remote Permission Management](git.md#remote-permission-management)
    * [Managing Group Permissions](git.md#managing-group-permissions)
    * [Managing Repository Permissions](git.md#managing-repository-permissions)
    * [Permission Validation](git.md#permission-validation)
  * [Identity & Destination Aliases](git.md#identity-destination-aliases)
  * [Serving Pages Over Nomad Network](git.md#serving-pages-over-nomad-network)
    * [Enabling the Git Page Node](git.md#enabling-the-git-page-node)
    * [Accessing Repository Pages](git.md#accessing-repository-pages)
    * [Formatting & Syntax Highlighting](git.md#formatting-syntax-highlighting)
    * [Customizing Templates](git.md#customizing-templates)
    * [Repository Statistics](git.md#repository-statistics)
    * [Configuration Example](git.md#configuration-example)
  * [Verified Releases](git.md#verified-releases)
    * [Obtaining Verified Releases](git.md#obtaining-verified-releases)
    * [Offline Verification](git.md#offline-verification)
    * [Creating Signed Releases](git.md#creating-signed-releases)
  * [Release Management](git.md#release-management)
    * [The Release Workflow](git.md#the-release-workflow)
    * [Release Storage & Structure](git.md#release-storage-structure)
    * [Command-Line Interaction](git.md#command-line-interaction)
  * [Work Documents](git.md#work-documents)
    * [Working With Work Documents](git.md#working-with-work-documents)
    * [Proposing Work Documents](git.md#proposing-work-documents)
    * [State Management](git.md#state-management)
    * [Managing Work Document Permissions](git.md#managing-work-document-permissions)
    * [Cryptographic Attribution](git.md#cryptographic-attribution)
  * [Commit Signing](git.md#commit-signing)
    * [Prerequisites](git.md#prerequisites)
    * [Configuration](git.md#id1)
    * [Author Identity Binding](git.md#author-identity-binding)
    * [Signing Commits](git.md#signing-commits)
    * [Validating Commit Signatures](git.md#validating-commit-signatures)
* [Support Reticulum](support.md)
  * [Donations](support.md#donations)
  * [Provide Feedback](support.md#provide-feedback)
* [Code Examples](examples.md)
  * [Minimal](examples.md#minimal)
  * [Announce](examples.md#announce)
  * [Broadcast](examples.md#broadcast)
  * [Echo](examples.md#echo)
  * [Link](examples.md#link)
  * [Identification](examples.md#example-identify)
  * [Requests & Responses](examples.md#requests-responses)
  * [Channel](examples.md#channel)
  * [Buffer](examples.md#buffer)
  * [Filetransfer](examples.md#filetransfer)
  * [Custom Interfaces](examples.md#custom-interfaces)
* [Reticulum License](license.md)

* [API Reference](reference.md)
  * [`Reticulum`](reference.md#RNS.Reticulum)
  * [`Identity`](reference.md#RNS.Identity)
  * [`Destination`](reference.md#RNS.Destination)
  * [`Packet`](reference.md#RNS.Packet)
  * [`PacketReceipt`](reference.md#RNS.PacketReceipt)
  * [`Link`](reference.md#RNS.Link)
  * [`RequestReceipt`](reference.md#RNS.RequestReceipt)
  * [`Resource`](reference.md#RNS.Resource)
  * [`Channel`](reference.md#RNS.Channel.Channel)
  * [`MessageBase`](reference.md#RNS.MessageBase)
  * [`Buffer`](reference.md#RNS.Buffer)
  * [`RawChannelReader`](reference.md#RNS.RawChannelReader)
  * [`RawChannelWriter`](reference.md#RNS.RawChannelWriter)
  * [`Transport`](reference.md#RNS.Transport)