mirror of
https://github.com/markqvist/Reticulum.git
synced 2026-06-08 14:11:53 -07:00
260 lines
15 KiB
Markdown
260 lines
15 KiB
Markdown
# 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)
|
|
* [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)
|
|
* [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)
|
|
* [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)
|
|
* [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)
|
|
* [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) |