Reticulum, a secure and anonymous mesh networking stack
Recorded: Jan. 20, 2026, 10:03 a.m.
| Original | Summarized |
GitHub - markqvist/Reticulum: The cryptography-based networking stack for building unstoppable networks with LoRa, Packet Radio, WiFi and everything in between. Skip to content Navigation Menu Toggle navigation
Sign in
Appearance settings PlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub SparkBuild and deploy intelligent appsGitHub ModelsManage and compare promptsMCP RegistryNewIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityAcceleratorArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricing Search or jump to... Search code, repositories, users, issues, pull requests...
Search Clear
Search syntax tips Provide feedback Include my email address so I can be contacted Cancel Submit feedback Saved searches
Name Query To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up
Appearance settings Resetting focus You signed in with another tab or window. Reload to refresh your session. Dismiss alert markqvist Reticulum Public Uh oh! There was an error while loading. Please reload this page.
Notifications
Fork
Star The cryptography-based networking stack for building unstoppable networks with LoRa, Packet Radio, WiFi and everything in between. reticulum.network License View license 4k 268 Branches Tags Activity
Star
Notifications Code Pull requests Discussions Actions Projects Wiki Security Uh oh! There was an error while loading. Please reload this page. Insights
Additional navigation options
Code Pull requests Discussions Actions Projects Wiki Security Insights
markqvist/Reticulum
masterBranchesTagsGo to fileCodeOpen more actions menuFolders and filesNameNameLast commit messageLast commit dateLatest commit History2,433 Commits.github.github CRNSCRNS ExamplesExamples RNSRNS docsdocs teststests .gitignore.gitignore Changelog.mdChangelog.md Contributing.mdContributing.md FUNDING.jsonFUNDING.json FUNDING.ymlFUNDING.yml LICENSELICENSE MIRROR.mdMIRROR.md MakefileMakefile README.mdREADME.md Roadmap.mdRoadmap.md Zen of Reticulum.mdZen of Reticulum.md setup.pysetup.py View all filesRepository files navigationREADMEContributingLicenseReticulum Network Stack This repository is a public mirror. All development is happening elsewhere. Coordination-less globally unique addressing and identification Reticulum can carry data over any mixture of physical mediums and topologies Initiator anonymity, communicate without revealing your identity Reticulum does not include source addresses on any packets Asymmetric X25519 encryption and Ed25519 signatures as a basis for all communication The foundational Reticulum Identity Keys are 512-bit Elliptic Curve keysets Forward Secrecy is available for all communication types, both for single packets and over links Ephemeral per-packet and link keys and derived from an ECDH key exchange on Curve25519 Unforgeable packet delivery confirmations Reticulum includes a large variety of built-in interface types Authentication and virtual network segmentation on all supported interface types Simpler and easier to use than sockets APIs, but more powerful Reliable and efficient transfer of arbitrary amounts of data Reticulum can handle a few bytes of data or files of many gigabytes Lightweight, flexible and expandable Request/Response mechanism Total cost of setting up an encrypted and verified link is only 3 packets, totalling 297 bytes Reliable sequential delivery with Channel and Buffer mechanisms Reference Implementation You can use the rnsh program to establish remote shell sessions over Reticulum. Where can Reticulum be used? Alternatively, you can use the pipx tool to install Reticulum in an isolated environment: The system daemon rnsd for running Reticulum as an always-available service All tools, including rnx and rncp, work reliably and well even over very Any Ethernet device Performance PyCA/cryptography On more unusual systems, and in some rare cases, it might not be possible to Monero: Bitcoin Ethereum Liberapay: https://liberapay.com/Reticulum/ Ko-Fi: https://ko-fi.com/markqvist Cryptographic Primitives Reticulum Identity Keys are 512-bit Curve25519 keysets A 256-bit Ed25519 key for signatures HKDF for key derivation Ephemeral keys derived from an ECDH key exchange on Curve25519 SHA-256 In the default installation configuration, the X25519, Ed25519, HKDF.py Reticulum also includes a complete implementation of all necessary primitives PyCA/cryptography, BSD License
About The cryptography-based networking stack for building unstoppable networks with LoRa, Packet Radio, WiFi and everything in between. reticulum.network Topics mesh-networks network mesh lora networking-stack packet-radio rns reticulum Resources Readme View license Contributing Contributing Uh oh! There was an error while loading. Please reload this page. Activity 4k 85 268 Report repository Releases RNS 1.1.3 Latest Sponsor this project Uh oh! There was an error while loading. Please reload this page. liberapay.com/Reticulum ko-fi.com/markqvist https://unsigned.io/donate Uh oh! There was an error while loading. Please reload this page. Contributors + 20 contributors Languages Python Makefile Footer © 2026 GitHub, Inc. Footer navigation Terms Privacy Security Status Community Docs Contact Manage cookies Do not share my personal information You can’t perform that action at this time. |
Reticulum is a cryptography-based networking stack designed to enable the creation of decentralized, resilient, and interoperable networks using a wide range of communication technologies, including LoRa, Packet Radio, WiFi, and others. Developed by Mark Qvist, the project emphasizes building "unstoppable networks" that operate independently of traditional infrastructure, free from surveillance, censorship, and centralized control. Unlike conventional networking protocols that rely on IP layers, Reticulum functions as a self-contained stack capable of operating over heterogeneous mediums, from low-bandwidth LoRa devices to high-speed IP networks. Its architecture prioritizes end-to-end encryption, initiator anonymity, and self-configuring multi-hop routing, allowing devices to communicate securely even in environments with high latency or limited connectivity. The system is implemented entirely in Python, making it portable across platforms and eliminating the need for kernel modules or drivers. This userland approach ensures flexibility, enabling Reticulum to run on virtually any system with Python 3 support. The project’s philosophy centers on empowering individuals to become their own network operators, fostering a decentralized ecosystem where networks can autonomously interconnect without centralized oversight. Reticulum’s design allows for the creation of thousands of independent networks that can dynamically adapt to changing conditions, coexist with one another, and scale efficiently across diverse topologies. By abstracting the complexities of traditional networking, Reticulum simplifies the development of distributed applications while maintaining robust security and reliability. At its core, Reticulum’s architecture relies on cryptographic principles to ensure secure communication and network resilience. The system employs a unique addressing scheme that eliminates the need for centralized coordination, enabling globally unique identifiers for devices and data. This approach facilitates seamless interoperability between networks while maintaining privacy through initiator anonymity, which prevents the exposure of source addresses in packets. Communication within Reticulum is secured using asymmetric encryption and digital signatures based on the X25519 and Ed25519 algorithms, which provide forward secrecy for all data exchanges. Encrypted payloads are structured using a combination of AES-256 in CBC mode with PKCS7 padding, HMAC-SHA256 for authentication, and ephemeral keys derived from ECDH key exchanges on Curve25519. These cryptographic primitives are designed to be both efficient and secure, ensuring that even low-bandwidth networks can maintain strong security guarantees. The system’s use of ephemeral keys and secure random number generation (via os.urandom()) further enhances resistance to replay attacks and other common vulnerabilities. Additionally, Reticulum includes unforgeable packet delivery acknowledgments, ensuring data integrity and reliability even in lossy or unreliable transmission environments. These features collectively create a robust foundation for building decentralized applications that prioritize privacy, security, and autonomy. Reticulum’s flexibility is further enhanced by its support for a wide array of interface types, allowing it to operate over virtually any communication medium that can sustain at least a half-duplex channel with a throughput of 5 bits per second and an MTU of 500 bytes. The stack includes built-in support for Ethernet, LoRa (via RNode hardware), Packet Radio TNCs, KISS-compatible modems, serial ports, and IP networks (TCP/UDP). Custom interfaces can also be developed to accommodate specialized hardware or software-defined communication systems. This adaptability enables Reticulum to integrate seamlessly into existing infrastructures, whether through off-the-shelf devices or custom-built solutions. For example, a single device could simultaneously connect to LoRa, Packet Radio, and WiFi networks, with Reticulum automatically managing multi-hop routing and data transmission between these disparate mediums. The system’s ability to encapsulate traffic over IP networks means it can function as a layer-3 protocol, allowing users to leverage existing internet infrastructure while maintaining the benefits of Reticulum’s decentralized architecture. This dual functionality makes Reticulum particularly well-suited for applications requiring both offline resilience and online connectivity, such as mesh networks in disaster scenarios or remote areas with limited internet access. The project’s reference implementation is written in Python and serves as the authoritative source for defining the Reticulum Protocol. This protocol, dedicated to the public domain in 2016, is maintained by Mark Qvist and is considered the definitive specification for Reticulum-compatible systems. Compatibility with the protocol is defined by full interoperability and functional parity with the reference implementation, ensuring that any system adhering to these standards can participate in Reticulum networks. The Python codebase includes extensive documentation, with a comprehensive manual available at markqvist.github.io/Reticulum/manual/ and downloadable in PDF or EPUB formats. This documentation covers installation, configuration, and usage guidelines, as well as detailed explanations of the system’s architecture and cryptographic mechanisms. The manual also highlights practical applications, such as using Reticulum for remote shell sessions via the rnsh program, implementing delay-tolerant messaging with LXMF, and building real-time audio transmission systems with the LXST protocol. These examples demonstrate Reticulum’s versatility in addressing diverse use cases, from secure file transfers to decentralized communication platforms. Reticulum’s ecosystem includes a suite of utilities designed to manage and monitor network operations. The rnsd daemon allows Reticulum to run as a persistent background service, while tools like rnstatus provide real-time interface diagnostics. The rnpath utility enables users to view and modify routing tables, and rnprobe assesses connectivity between nodes. File transfer is facilitated by rncp, which supports secure data exchange over low-bandwidth links, and rnid manages cryptographic identities for encryption and decryption tasks. For remote command execution, the rnx tool enables users to run programs on distant systems and retrieve results. These utilities are optimized for performance even in constrained environments, ensuring that critical network functions remain accessible regardless of bandwidth limitations. Additionally, third-party applications like Sideband and MeshChat leverage Reticulum’s capabilities to provide user-friendly interfaces for encrypted messaging, voice calls, and distributed telemetry. These tools highlight Reticulum’s potential to serve as a foundational layer for building decentralized communication platforms that prioritize privacy and resilience. Performance considerations are central to Reticulum’s design, with the system targeting a broad range of network conditions. While it is optimized for low-bandwidth environments, Reticulum can scale to high-speed networks, achieving throughputs from 250 bits per second up to 1 gigabit per second on standard hardware. Current performance metrics indicate a usable range of 150 bits per second to 500 megabits per second, with future upgrades expected to expand this envelope. The system’s efficiency is achieved through lightweight protocols and minimal overhead, ensuring that even resource-constrained devices can participate in Reticulum networks. This focus on performance is complemented by the system’s ability to maintain stable connections over long distances and in challenging conditions, making it suitable for applications such as environmental monitoring, rural connectivity, and emergency response systems. Reticulum’s design also minimizes the cost of establishing encrypted links, requiring only three packets (297 bytes) for initial setup and maintaining open links at a low 0.44 bits per second. These optimizations ensure that Reticulum remains practical for use in scenarios where bandwidth and power are limited. The project’s dependencies include the PyCA/cryptography library for cryptographic operations and pyserial for serial communication interfaces. However, an alternative package called rnspure is available, which eliminates external dependencies by using pure Python implementations of the required primitives. While this approach sacrifices some performance gains from hardware-accelerated cryptographic libraries like OpenSSL, it ensures that Reticulum can operate on systems where such dependencies are unavailable or restricted. Users must exercise caution when using the pure Python implementation, as it may lack the same level of security scrutiny and optimization as the OpenSSL-based version. The Reticulum License governs the reference implementation, while the protocol itself is in the public domain, allowing for broad adoption and integration into other systems. This licensing model encourages innovation while ensuring that the core principles of Reticulum remain accessible to all users. Reticulum’s development is supported by a growing community of contributors and users, with acknowledgments given to various open-source projects that form the foundation of its implementation. These include cryptographic libraries like PyCA/cryptography, Pure-25519, and Python AES implementations, as well as utilities for configuration management (Configobj) and network interface detection (ifaddr). The project’s ongoing evolution is driven by real-world use cases, with updates and enhancements introduced as new challenges are identified. While Reticulum is considered relatively young software, its design incorporates cryptography best practices and is intended for applications where security and privacy are paramount. However, the project acknowledges that it has not undergone external security audits, and users are advised to exercise caution when deploying Reticulum in critical environments. Contributions from the community, including bug fixes and feature enhancements, play a vital role in refining the system’s stability and functionality. To get started with Reticulum, users can install the reference implementation via pip or pipx, with detailed installation instructions provided in the manual. The default configuration includes basic connectivity to local peers, and users can expand their network by configuring additional interfaces and leveraging community-driven directories for bootstrapping connectivity. The project’s documentation also addresses the deprecation of older testnets, encouraging users to transition to the newer on-network discovery mechanisms. For those interested in supporting Reticulum’s development, multiple donation channels are available, including cryptocurrencies like Monero, Bitcoin, and Ethereum, as well as platforms such as Liberapay and Ko-Fi. These contributions help sustain the project’s growth and ensure that it remains a viable solution for decentralized networking needs. In summary, Reticulum represents a novel approach to networking that prioritizes security, decentralization, and adaptability. By leveraging cryptographic principles and a flexible architecture, it enables the creation of resilient networks that can operate independently of traditional infrastructure. The project’s emphasis on user empowerment, interoperability, and privacy positions it as a compelling alternative to conventional networking solutions, particularly in environments where reliability and autonomy are critical. As the ecosystem around Reticulum continues to expand, its potential applications in fields such as disaster recovery, rural connectivity, and decentralized communication platforms are likely to grow, further solidifying its role as a foundational technology for the future of networking. |