diff --git a/docs/manual/Reticulum Manual.epub b/docs/manual/Reticulum Manual.epub index df210bf..c4ce18a 100644 Binary files a/docs/manual/Reticulum Manual.epub and b/docs/manual/Reticulum Manual.epub differ diff --git a/docs/manual/Reticulum Manual.pdf b/docs/manual/Reticulum Manual.pdf index d2b64a5..bddf8e6 100644 Binary files a/docs/manual/Reticulum Manual.pdf and b/docs/manual/Reticulum Manual.pdf differ diff --git a/docs/manual/_sources/understanding.rst.txt b/docs/manual/_sources/understanding.rst.txt index 168d4a5..f9ac2aa 100644 --- a/docs/manual/_sources/understanding.rst.txt +++ b/docs/manual/_sources/understanding.rst.txt @@ -117,7 +117,7 @@ Reticulum uses the singular concept of *destinations*. Any application using Ret networking stack will need to create one or more destinations to receive data, and know the destinations it needs to send data to. -All destinations in Reticulum are _represented_ as a 16 byte hash. This hash is derived from truncating a full +All destinations in Reticulum are *represented* as a 16 byte hash. This hash is derived from truncating a full SHA-256 hash of identifying characteristics of the destination. To users, the destination addresses will be displayed as 16 hexadecimal bytes, like this example: ``<13425ec15b621c1d928589718000d814>``. @@ -141,7 +141,7 @@ ratchets on a per-destination basis. The multi-hop transport, coordination, veri layers are fully autonomous and also based on elliptic curve cryptography. Reticulum also offers symmetric key encryption for group-oriented communications, as well as -unencrypted packets for local broadcast purposes. +unencrypted packets (for local broadcast purposes **only**). Reticulum can connect to a variety of interfaces such as radio modems, data radios and serial ports, and offers the possibility to easily tunnel Reticulum traffic over IP links such as the Internet or @@ -401,11 +401,10 @@ any transport node receiving it, but according to some specific rules: to be transmitted, the newest announce is discarded. If the newest announce contains different application specific data, it will replace the old announce. -Once an announce has reached a node in the network, any other node in direct contact with that -node will be able to reach the destination the announce originated from, simply by sending a packet -addressed to that destination. Any node with knowledge of the announce will be able to direct the -packet towards the destination by looking up the next node with the shortest amount of hops to the -destination. +Once an announce has reached a transport node in the network, any other node in direct contact with that +transport node will be able to reach the destination the announce originated from, simply by sending a packet +addressed to that destination. Any transport node with knowledge of the announce will be able to direct the +packet towards the destination by looking up the most efficient next node to the destination. According to these rules, an announce will propagate throughout the network in a predictable way, and make the announced destination reachable in a short amount of time. Fast networks that have the @@ -414,6 +413,17 @@ new destinations. Slower segments of such networks might take a bit longer to ga the wide and fast networks they are connected to, but can still do so over time, while prioritising full and quickly converging end-to-end connectivity for their local, slower segments. +.. tip:: + + Even very slow networks, that simply don't have the capacity to ever reach *full* convergence + will generally still be able to reach **any other destination on any connected segments**, since + interconnecting transport nodes will prioritize announces into the slower segments that are + actually requested by nodes on these. + + This means that slow, low-capacity or low-resource segments **don't** need to have full network + knowledge, since paths can always be recursively resolved from other segments that do have + knowledge about them. + In general, even extremely complex networks, that utilize the maximum 128 hops will converge to full end-to-end connectivity in about one minute, given there is enough bandwidth available to process the required amount of announces. @@ -424,7 +434,7 @@ Reaching the Destination ------------------------ In networks with changing topology and trustless connectivity, nodes need a way to establish -*verified connectivity* with each other. Since the network is assumed to be trustless, Reticulum +*verified connectivity* with each other. Since the underlying network mediums are assumed to be trustless, Reticulum must provide a way to guarantee that the peer you are communicating with is actually who you expect. Reticulum offers two ways to do this. @@ -435,7 +445,7 @@ For exchanges of small amounts of information, Reticulum offers the *Packet* API an ECDH key exchange with the destination's public key (or ratchet key, if available), and encrypt the information. * | It is important to note that this key exchange does not require any network traffic. The sender already - knows the public key of the destination from an earlier received *announce*, and can thus perform the ECDH + knows the public key of the destination from an earlier received announce, and can thus perform the ECDH key exchange locally, before sending the packet. * | The public part of the newly generated ephemeral key-pair is included with the encrypted token, and sent @@ -461,14 +471,14 @@ For exchanges of small amounts of information, Reticulum offers the *Packet* API For exchanges of larger amounts of data, or when longer sessions of bidirectional communication is desired, Reticulum offers the *Link* API. To establish a *link*, the following process is employed: -* | First, the node that wishes to establish a link will send out a special packet, that +* | First, the node that wishes to establish a link will send out a *link request* packet, that traverses the network and locates the desired destination. Along the way, the Transport Nodes that - forward the packet will take note of this *link request*. + forward the packet will take note of this *link request*, and mark it as pending. * | Second, if the destination accepts the *link request* , it will send back a packet that proves the authenticity of its identity (and the receipt of the link request) to the initiating node. All nodes that initially forwarded the packet will also be able to verify this proof, and thus - accept the validity of the *link* throughout the network. + accept the validity of the *link* throughout the network. The link is now marked as *established*. * | When the validity of the *link* has been accepted by forwarding nodes, these nodes will remember the *link* , and it can subsequently be used by referring to a hash representing it. @@ -560,9 +570,10 @@ an arbitrary number of hops, where information will be exchanged between two nod *link proof* to perform it's own Diffie Hellman Key Exchange and derive the symmetric key that is used to encrypt the channel. Information can now be exchanged reliably and securely. +.. note:: -It’s important to note that this methodology ensures that the source of the request does not need to -reveal any identifying information about itself. The link initiator remains completely anonymous. + It’s important to note that this methodology ensures that the source of the request does not need to + reveal any identifying information about itself. **The link initiator remains completely anonymous**. When using *links*, Reticulum will automatically verify all data sent over the link, and can also automate retransmissions if *Resources* are used. @@ -624,18 +635,20 @@ into the future. The current Reference System Setup is as follows: * **Interface Device** A data radio consisting of a LoRa radio module, and a microcontroller with open source firmware, that can connect to host devices via USB. It operates in either the 430, 868 or 900 - MHz frequency bands. More details can be found on the `RNode Page `_. + MHz frequency bands. More details can be found on the `RNode Page `_. * **Host Device** Any computer device running Linux and Python. A Raspberry Pi with a Debian based OS is - recommended. + a good place to start, but anything can be used. * **Software Stack** - The most recently released Python Implementation of Reticulum, running on a Debian based + The most recently released Python Implementation of Reticulum, running on a Linux-based operating system. -To avoid confusion, it is very important to note, that the reference interface device **does not** -use the LoRaWAN standard, but uses a custom MAC layer on top of the plain LoRa modulation! As such, you will -need a plain LoRa radio module connected to an controller with the correct firmware. Full details on how to -get or make such a device is available on the `RNode Page `_. +.. note:: + + To avoid confusion, it is very important to note, that the reference interface device **does not** + use the LoRaWAN standard, but uses a custom MAC layer on top of the plain LoRa modulation! As such, you will + need a plain LoRa radio module connected to a controller with the correct firmware. Full details on how to + get or make such a device is available on the `RNode Page `_. With the current reference setup, it should be possible to get on a Reticulum network for around 100$ even if you have none of the hardware already, and need to purchase everything. @@ -649,16 +662,16 @@ Protocol Specifics ================== This chapter will detail protocol specific information that is essential to the implementation of -Reticulum, but non critical in understanding how the protocol works on a general level. It should be +Reticulum, but non-critical in understanding how the protocol works on a general level. It should be treated more as a reference than as essential reading. Packet Prioritisation --------------------- -Currently, Reticulum is completely priority-agnostic regarding general traffic. All traffic is handled -on a first-come, first-serve basis. Announce re-transmission are handled according to the re-transmission -times and priorities described earlier in this chapter. +Currently, Reticulum is completely priority-agnostic regarding *general* traffic. All traffic is handled +on a first-come, first-serve basis. Announce re-transmission and other maintenance traffic is handled +according to the re-transmission times and priorities described earlier in this chapter. Interface Access Codes @@ -666,8 +679,8 @@ Interface Access Codes Reticulum can create named virtual networks, and networks that are only accessible by knowing a preshared passphrase. The configuration of this is detailed in the :ref:`Common Interface Options` -section. To implement these feature, Reticulum uses the concept of Interface Access Codes, that are calculated -and verified per packet. +section. To implement this feature, Reticulum uses the concept of Interface Access Codes, that are calculated +and verified per-packet. An interface with a named virtual network or passphrase authentication enabled will derive a shared Ed25519 signing identity, and for every outbound packet generate a signature of the entire packet. This signature is @@ -912,6 +925,11 @@ with the OpenSSL backend being *much* faster. The most important consequence how potential loss of security by using primitives that has not seen the same amount of scrutiny, testing and review as those from OpenSSL. +Using the normal RNS installation procedures, it is not possible to install Reticulum on a +system without the required OpenSSL primitives being available, and if they are not, they will +be resolved and installed as a dependency. It is only possible to use the pure-python primitives +by manually specifying this, for example by using the ``rnspure`` package. + .. warning:: If you want to use the internal pure-python primitives, it is **highly advisable** that you have a good understanding of the risks that this pose, and make an informed decision on whether diff --git a/docs/manual/_static/documentation_options.js b/docs/manual/_static/documentation_options.js index fc2b2f3..7e8ac02 100644 --- a/docs/manual/_static/documentation_options.js +++ b/docs/manual/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '1.0.3', + VERSION: '1.0.4', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/manual/examples.html b/docs/manual/examples.html index b280b8b..077f92c 100644 --- a/docs/manual/examples.html +++ b/docs/manual/examples.html @@ -7,7 +7,7 @@ - Code Examples - Reticulum Network Stack 1.0.3 documentation + Code Examples - Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation
- + diff --git a/docs/manual/forhumans.html b/docs/manual/forhumans.html index e3419d4..13b9900 100644 --- a/docs/manual/forhumans.html +++ b/docs/manual/forhumans.html @@ -7,7 +7,7 @@ - An Explanation of Reticulum for Human Beings - Reticulum Network Stack 1.0.3 documentation + An Explanation of Reticulum for Human Beings - Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -291,7 +291,7 @@
- + diff --git a/docs/manual/genindex.html b/docs/manual/genindex.html index 6348b43..9f3437d 100644 --- a/docs/manual/genindex.html +++ b/docs/manual/genindex.html @@ -5,7 +5,7 @@ - Index - Reticulum Network Stack 1.0.3 documentation + Index - Reticulum Network Stack 1.0.4 documentation @@ -178,7 +178,7 @@
@@ -202,7 +202,7 @@
- Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -819,7 +819,7 @@
- + diff --git a/docs/manual/gettingstartedfast.html b/docs/manual/gettingstartedfast.html index 4096917..c6bedde 100644 --- a/docs/manual/gettingstartedfast.html +++ b/docs/manual/gettingstartedfast.html @@ -7,7 +7,7 @@ - Getting Started Fast - Reticulum Network Stack 1.0.3 documentation + Getting Started Fast - Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -1040,7 +1040,7 @@ All other available modules will still be loaded when needed.

- + diff --git a/docs/manual/hardware.html b/docs/manual/hardware.html index 31c948f..d31ccf3 100644 --- a/docs/manual/hardware.html +++ b/docs/manual/hardware.html @@ -7,7 +7,7 @@ - Communications Hardware - Reticulum Network Stack 1.0.3 documentation + Communications Hardware - Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -671,7 +671,7 @@ can be used with Reticulum. This includes virtual software modems such as
- + diff --git a/docs/manual/index.html b/docs/manual/index.html index 40c48a7..997cc27 100644 --- a/docs/manual/index.html +++ b/docs/manual/index.html @@ -7,7 +7,7 @@ - Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -520,7 +520,7 @@ to participate in the development of Reticulum itself.

- + diff --git a/docs/manual/interfaces.html b/docs/manual/interfaces.html index 431c8c8..1f86716 100644 --- a/docs/manual/interfaces.html +++ b/docs/manual/interfaces.html @@ -7,7 +7,7 @@ - Configuring Interfaces - Reticulum Network Stack 1.0.3 documentation + Configuring Interfaces - Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -1483,7 +1483,7 @@ to 30
- + diff --git a/docs/manual/networks.html b/docs/manual/networks.html index a4d0791..cc8e3ed 100644 --- a/docs/manual/networks.html +++ b/docs/manual/networks.html @@ -7,7 +7,7 @@ - Building Networks - Reticulum Network Stack 1.0.3 documentation + Building Networks - Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -501,7 +501,7 @@ connected outliers are now an integral part of the network.

- + diff --git a/docs/manual/objects.inv b/docs/manual/objects.inv index 18391cb..e2fed8a 100644 Binary files a/docs/manual/objects.inv and b/docs/manual/objects.inv differ diff --git a/docs/manual/reference.html b/docs/manual/reference.html index 071db75..4e8d86a 100644 --- a/docs/manual/reference.html +++ b/docs/manual/reference.html @@ -7,7 +7,7 @@ - API Reference - Reticulum Network Stack 1.0.3 documentation + API Reference - Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -2385,7 +2385,7 @@ will announce it.

- + diff --git a/docs/manual/search.html b/docs/manual/search.html index f1f83d4..5e6554f 100644 --- a/docs/manual/search.html +++ b/docs/manual/search.html @@ -8,7 +8,7 @@ -Search - Reticulum Network Stack 1.0.3 documentation +Search - Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -299,7 +299,7 @@
- + diff --git a/docs/manual/searchindex.js b/docs/manual/searchindex.js index 95549f6..94f39d0 100644 --- a/docs/manual/searchindex.js +++ b/docs/manual/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles":{"API Reference":[[7,null]],"ARM64":[[2,"arm64"]],"AX.25 KISS Interface":[[5,"ax-25-kiss-interface"]],"Adding Radio Interfaces":[[2,"adding-radio-interfaces"]],"An Explanation of Reticulum for Human Beings":[[1,null]],"Android":[[2,"android"]],"Announce":[[0,"announce"]],"Announce Propagation Rules":[[9,"announce-propagation-rules"]],"Announce Rate Control":[[5,"announce-rate-control"]],"Auto Interface":[[5,"auto-interface"]],"Backbone Interface":[[5,"backbone-interface"]],"Bridging Over the Internet":[[6,"bridging-over-the-internet"]],"Broadcast":[[0,"broadcast"]],"Buffer":[[0,"buffer"]],"Building Networks":[[6,null]],"Caveat Emptor":[[11,"caveat-emptor"]],"Channel":[[0,"channel"]],"Code Examples":[[0,null]],"Combining Hardware Types":[[3,"combining-hardware-types"]],"Common Interface Options":[[5,"common-interface-options"]],"Communications Hardware":[[3,null]],"Concepts & Overview":[[6,"concepts-overview"]],"Configuration & Data":[[10,"configuration-data"]],"Configuring Interfaces":[[5,null]],"Connect to the Public Testnet":[[2,"connect-to-the-public-testnet"]],"Connecting Remotes":[[5,"connecting-remotes"]],"Connecting Reticulum Instances Over the Internet":[[2,"connecting-reticulum-instances-over-the-internet"]],"Contribute Code":[[8,"contribute-code"]],"Creating RNodes":[[3,"creating-rnodes"]],"Creating a Network With Reticulum":[[2,"creating-a-network-with-reticulum"]],"Creating and Using Custom Interfaces":[[2,"creating-and-using-custom-interfaces"]],"Cryptographic Primitives":[[9,"cryptographic-primitives"]],"Current Status":[[11,"current-status"]],"Custom Interfaces":[[0,"custom-interfaces"],[5,"custom-interfaces"]],"Debian Bookworm":[[2,"debian-bookworm"]],"Destination Naming":[[9,"destination-naming"]],"Destinations":[[9,"destinations"]],"Develop a Program with Reticulum":[[2,"develop-a-program-with-reticulum"]],"Donations":[[8,"donations"]],"Echo":[[0,"echo"]],"Ethernet-based Hardware":[[3,"ethernet-based-hardware"]],"Example Scenarios":[[6,"example-scenarios"]],"Filetransfer":[[0,"filetransfer"]],"Fixed Serial Port Names":[[10,"fixed-serial-port-names"]],"Getting Further":[[9,"getting-further"]],"Getting Started Fast":[[2,null]],"Goals":[[9,"goals"]],"Growth and Convergence":[[6,"growth-and-convergence"]],"Heltec LoRa32 v2.0":[[3,"heltec-lora32-v2-0"]],"Heltec LoRa32 v3.0":[[3,"heltec-lora32-v3-0"]],"Heltec LoRa32 v4.0":[[3,"heltec-lora32-v4-0"]],"Heltec T114":[[3,"heltec-t114"]],"Hosting Public Entrypoints":[[2,"hosting-public-entrypoints"]],"I2P Interface":[[5,"i2p-interface"]],"Identification":[[0,"example-identify"]],"Identities":[[9,"understanding-identities"]],"Improving System Configuration":[[10,"improving-system-configuration"]],"Included Utility Programs":[[10,"included-utility-programs"]],"Indices and Tables":[[4,"indices-and-tables"]],"Installation":[[3,"installation"]],"Interconnected LoRa Sites":[[6,"interconnected-lora-sites"]],"Interface Access Codes":[[9,"interface-access-codes"]],"Interface Modes":[[5,"interface-modes"]],"Interface Types and Devices":[[11,"interface-types-and-devices"]],"Introduction & Basic Functionality":[[9,"introduction-basic-functionality"]],"KISS Interface":[[5,"kiss-interface"]],"LilyGO LoRa32 v1.0":[[3,"lilygo-lora32-v1-0"]],"LilyGO LoRa32 v2.0":[[3,"lilygo-lora32-v2-0"]],"LilyGO LoRa32 v2.1":[[3,"lilygo-lora32-v2-1"]],"LilyGO T-Beam":[[3,"lilygo-t-beam"]],"LilyGO T-Beam Supreme":[[3,"lilygo-t-beam-supreme"]],"LilyGO T-Deck":[[3,"lilygo-t-deck"]],"LilyGO T-Echo":[[3,"lilygo-t-echo"]],"LilyGO T3S3":[[3,"lilygo-t3s3"]],"Link":[[0,"link"]],"Link Establishment in Detail":[[9,"link-establishment-in-detail"]],"Listeners":[[5,"listeners"]],"MacOS":[[2,"macos"]],"MeshChat":[[2,"meshchat"]],"Minimal":[[0,"minimal"]],"Motivation":[[9,"motivation"]],"New Destination Rate Limiting":[[5,"new-destination-rate-limiting"]],"Node Types":[[9,"node-types"]],"Nomad Network":[[2,"nomad-network"]],"OpenCom XL":[[3,"opencom-xl"]],"OpenWRT":[[2,"openwrt"]],"Packet Prioritisation":[[9,"packet-prioritisation"]],"Packet Radio Modems":[[3,"packet-radio-modems"]],"Participate in Reticulum Development":[[2,"participate-in-reticulum-development"]],"Pipe Interface":[[5,"pipe-interface"]],"Platform-Specific Install Notes":[[2,"platform-specific-install-notes"]],"Protocol Specifics":[[9,"protocol-specifics"]],"Provide Feedback":[[8,"provide-feedback"]],"Public Key Announcements":[[9,"public-key-announcements"]],"Pure-Python Reticulum":[[2,"pure-python-reticulum"]],"RAK4631-based Boards":[[3,"rak4631-based-boards"]],"RISC-V":[[2,"risc-v"]],"RNode":[[3,"rnode"]],"RNode LoRa Interface":[[5,"rnode-lora-interface"]],"RNode Multi Interface":[[5,"rnode-multi-interface"]],"Raspberry Pi":[[2,"raspberry-pi"]],"Reaching the Destination":[[9,"reaching-the-destination"]],"Reference Setup":[[9,"reference-setup"]],"Remote Management":[[10,"remote-management"]],"Remote Shell":[[2,"remote-shell"]],"Requests & Responses":[[0,"requests-responses"]],"Resolving Dependency & Installation Issues":[[2,"resolving-dependency-installation-issues"]],"Resources":[[9,"resources"]],"Reticulum Network Stack Manual":[[4,null]],"Reticulum Transport":[[9,"reticulum-transport"]],"Reticulum as a System Service":[[10,"reticulum-as-a-system-service"]],"Serial Interface":[[5,"serial-interface"]],"Serial Lines & Devices":[[3,"serial-lines-devices"]],"Sideband":[[2,"sideband"]],"Standalone Reticulum Installation":[[2,"standalone-reticulum-installation"]],"Support Reticulum":[[8,null]],"Supported Boards and Devices":[[3,"supported-boards-and-devices"]],"Systemwide Service":[[10,"systemwide-service"]],"TCP Client Interface":[[5,"tcp-client-interface"]],"TCP Server Interface":[[5,"tcp-server-interface"]],"Table Of Contents":[[4,"table-of-contents"]],"The Announce Mechanism in Detail":[[9,"the-announce-mechanism-in-detail"]],"The rncp Utility":[[10,"the-rncp-utility"]],"The rnid Utility":[[10,"the-rnid-utility"]],"The rnodeconf Utility":[[10,"the-rnodeconf-utility"]],"The rnpath Utility":[[10,"the-rnpath-utility"]],"The rnprobe Utility":[[10,"the-rnprobe-utility"]],"The rnsd Utility":[[10,"the-rnsd-utility"]],"The rnstatus Utility":[[10,"the-rnstatus-utility"]],"The rnx Utility":[[10,"the-rnx-utility"]],"Try Using a Reticulum-based Program":[[2,"try-using-a-reticulum-based-program"]],"UDP Interface":[[5,"udp-interface"]],"Ubuntu Lunar":[[2,"ubuntu-lunar"]],"Understanding Reticulum":[[9,null]],"Unsigned RNode v2.x":[[3,"unsigned-rnode-v2-x"]],"Usage with Reticulum":[[3,"usage-with-reticulum"]],"Userspace Service":[[10,"userspace-service"]],"Using Reticulum on Your System":[[10,null]],"Using the Included Utilities":[[2,"using-the-included-utilities"]],"What does Reticulum Offer?":[[11,"what-does-reticulum-offer"]],"What is Reticulum?":[[11,null]],"Where can Reticulum be Used?":[[11,"where-can-reticulum-be-used"]],"WiFi-based Hardware":[[3,"wifi-based-hardware"]],"Windows":[[2,"windows"]],"Wire Format":[[9,"wire-format"]]},"docnames":["examples","forhumans","gettingstartedfast","hardware","index","interfaces","networks","reference","support","understanding","using","whatis"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["examples.rst","forhumans.rst","gettingstartedfast.rst","hardware.rst","index.rst","interfaces.rst","networks.rst","reference.rst","support.rst","understanding.rst","using.rst","whatis.rst"],"indexentries":{"__init__() (rns.rawchannelreader method)":[[7,"RNS.RawChannelReader.__init__",false]],"__init__() (rns.rawchannelwriter method)":[[7,"RNS.RawChannelWriter.__init__",false]],"accepts_links() (rns.destination method)":[[7,"RNS.Destination.accepts_links",false]],"add_message_handler() (rns.channel.channel method)":[[7,"RNS.Channel.Channel.add_message_handler",false]],"add_ready_callback() (rns.rawchannelreader method)":[[7,"RNS.RawChannelReader.add_ready_callback",false]],"advertise() (rns.resource method)":[[7,"RNS.Resource.advertise",false]],"announce() (rns.destination method)":[[7,"RNS.Destination.announce",false]],"announce_cap (rns.reticulum attribute)":[[7,"RNS.Reticulum.ANNOUNCE_CAP",false]],"app_and_aspects_from_name() (rns.destination static method)":[[7,"RNS.Destination.app_and_aspects_from_name",false]],"buffer (class in rns)":[[7,"RNS.Buffer",false]],"cancel() (rns.resource method)":[[7,"RNS.Resource.cancel",false]],"channel (class in rns.channel)":[[7,"RNS.Channel.Channel",false]],"clear_default_app_data() (rns.destination method)":[[7,"RNS.Destination.clear_default_app_data",false]],"concluded() (rns.requestreceipt method)":[[7,"RNS.RequestReceipt.concluded",false]],"create_bidirectional_buffer() (rns.buffer static method)":[[7,"RNS.Buffer.create_bidirectional_buffer",false]],"create_keys() (rns.destination method)":[[7,"RNS.Destination.create_keys",false]],"create_reader() (rns.buffer static method)":[[7,"RNS.Buffer.create_reader",false]],"create_writer() (rns.buffer static method)":[[7,"RNS.Buffer.create_writer",false]],"current_ratchet_id() (rns.identity static method)":[[7,"RNS.Identity.current_ratchet_id",false]],"curve (rns.identity attribute)":[[7,"RNS.Identity.CURVE",false]],"curve (rns.link attribute)":[[7,"RNS.Link.CURVE",false]],"decrypt() (rns.destination method)":[[7,"RNS.Destination.decrypt",false]],"decrypt() (rns.identity method)":[[7,"RNS.Identity.decrypt",false]],"deregister_announce_handler() (rns.transport static method)":[[7,"RNS.Transport.deregister_announce_handler",false]],"deregister_request_handler() (rns.destination method)":[[7,"RNS.Destination.deregister_request_handler",false]],"destination (class in rns)":[[7,"RNS.Destination",false]],"enable_ratchets() (rns.destination method)":[[7,"RNS.Destination.enable_ratchets",false]],"encrypt() (rns.destination method)":[[7,"RNS.Destination.encrypt",false]],"encrypt() (rns.identity method)":[[7,"RNS.Identity.encrypt",false]],"encrypted_mdu (rns.packet attribute)":[[7,"RNS.Packet.ENCRYPTED_MDU",false]],"enforce_ratchets() (rns.destination method)":[[7,"RNS.Destination.enforce_ratchets",false]],"establishment_timeout_per_hop (rns.link attribute)":[[7,"RNS.Link.ESTABLISHMENT_TIMEOUT_PER_HOP",false]],"expand_name() (rns.destination static method)":[[7,"RNS.Destination.expand_name",false]],"from_bytes() (rns.identity static method)":[[7,"RNS.Identity.from_bytes",false]],"from_file() (rns.identity static method)":[[7,"RNS.Identity.from_file",false]],"full_hash() (rns.identity static method)":[[7,"RNS.Identity.full_hash",false]],"get_age() (rns.link method)":[[7,"RNS.Link.get_age",false]],"get_channel() (rns.link method)":[[7,"RNS.Link.get_channel",false]],"get_data_size() (rns.resource method)":[[7,"RNS.Resource.get_data_size",false]],"get_establishment_rate() (rns.link method)":[[7,"RNS.Link.get_establishment_rate",false]],"get_expected_rate() (rns.link method)":[[7,"RNS.Link.get_expected_rate",false]],"get_hash() (rns.resource method)":[[7,"RNS.Resource.get_hash",false]],"get_instance() (rns.reticulum static method)":[[7,"RNS.Reticulum.get_instance",false]],"get_mdu() (rns.link method)":[[7,"RNS.Link.get_mdu",false]],"get_mode() (rns.link method)":[[7,"RNS.Link.get_mode",false]],"get_mtu() (rns.link method)":[[7,"RNS.Link.get_mtu",false]],"get_parts() (rns.resource method)":[[7,"RNS.Resource.get_parts",false]],"get_private_key() (rns.destination method)":[[7,"RNS.Destination.get_private_key",false]],"get_private_key() (rns.identity method)":[[7,"RNS.Identity.get_private_key",false]],"get_progress() (rns.requestreceipt method)":[[7,"RNS.RequestReceipt.get_progress",false]],"get_progress() (rns.resource method)":[[7,"RNS.Resource.get_progress",false]],"get_public_key() (rns.identity method)":[[7,"RNS.Identity.get_public_key",false]],"get_q() (rns.link method)":[[7,"RNS.Link.get_q",false]],"get_q() (rns.packet method)":[[7,"RNS.Packet.get_q",false]],"get_random_hash() (rns.identity static method)":[[7,"RNS.Identity.get_random_hash",false]],"get_remote_identity() (rns.link method)":[[7,"RNS.Link.get_remote_identity",false]],"get_request_id() (rns.requestreceipt method)":[[7,"RNS.RequestReceipt.get_request_id",false]],"get_response() (rns.requestreceipt method)":[[7,"RNS.RequestReceipt.get_response",false]],"get_response_time() (rns.requestreceipt method)":[[7,"RNS.RequestReceipt.get_response_time",false]],"get_rssi() (rns.link method)":[[7,"RNS.Link.get_rssi",false]],"get_rssi() (rns.packet method)":[[7,"RNS.Packet.get_rssi",false]],"get_rtt() (rns.packetreceipt method)":[[7,"RNS.PacketReceipt.get_rtt",false]],"get_segments() (rns.resource method)":[[7,"RNS.Resource.get_segments",false]],"get_snr() (rns.link method)":[[7,"RNS.Link.get_snr",false]],"get_snr() (rns.packet method)":[[7,"RNS.Packet.get_snr",false]],"get_status() (rns.packetreceipt method)":[[7,"RNS.PacketReceipt.get_status",false]],"get_status() (rns.requestreceipt method)":[[7,"RNS.RequestReceipt.get_status",false]],"get_transfer_size() (rns.resource method)":[[7,"RNS.Resource.get_transfer_size",false]],"has_path() (rns.transport static method)":[[7,"RNS.Transport.has_path",false]],"hash() (rns.destination static method)":[[7,"RNS.Destination.hash",false]],"hash_from_name_and_identity() (rns.destination static method)":[[7,"RNS.Destination.hash_from_name_and_identity",false]],"hops_to() (rns.transport static method)":[[7,"RNS.Transport.hops_to",false]],"identify() (rns.link method)":[[7,"RNS.Link.identify",false]],"identity (class in rns)":[[7,"RNS.Identity",false]],"inactive_for() (rns.link method)":[[7,"RNS.Link.inactive_for",false]],"is_compressed() (rns.resource method)":[[7,"RNS.Resource.is_compressed",false]],"is_ready_to_send() (rns.channel.channel method)":[[7,"RNS.Channel.Channel.is_ready_to_send",false]],"keepalive (rns.link attribute)":[[7,"RNS.Link.KEEPALIVE",false]],"keepalive_timeout_factor (rns.link attribute)":[[7,"RNS.Link.KEEPALIVE_TIMEOUT_FACTOR",false]],"keysize (rns.identity attribute)":[[7,"RNS.Identity.KEYSIZE",false]],"link (class in rns)":[[7,"RNS.Link",false]],"link_mtu_discovery (rns.reticulum attribute)":[[7,"RNS.Reticulum.LINK_MTU_DISCOVERY",false]],"link_mtu_discovery() (rns.reticulum static method)":[[7,"RNS.Reticulum.link_mtu_discovery",false]],"load_private_key() (rns.destination method)":[[7,"RNS.Destination.load_private_key",false]],"load_private_key() (rns.identity method)":[[7,"RNS.Identity.load_private_key",false]],"load_public_key() (rns.identity method)":[[7,"RNS.Identity.load_public_key",false]],"mdu (rns.channel.channel property)":[[7,"RNS.Channel.Channel.mdu",false]],"messagebase (class in rns)":[[7,"RNS.MessageBase",false]],"minimum_bitrate (rns.reticulum attribute)":[[7,"RNS.Reticulum.MINIMUM_BITRATE",false]],"msgtype (rns.messagebase attribute)":[[7,"RNS.MessageBase.MSGTYPE",false]],"mtu (rns.reticulum attribute)":[[7,"RNS.Reticulum.MTU",false]],"next_hop() (rns.transport static method)":[[7,"RNS.Transport.next_hop",false]],"next_hop_interface() (rns.transport static method)":[[7,"RNS.Transport.next_hop_interface",false]],"no_data_for() (rns.link method)":[[7,"RNS.Link.no_data_for",false]],"no_inbound_for() (rns.link method)":[[7,"RNS.Link.no_inbound_for",false]],"no_outbound_for() (rns.link method)":[[7,"RNS.Link.no_outbound_for",false]],"pack() (rns.messagebase method)":[[7,"RNS.MessageBase.pack",false]],"packet (class in rns)":[[7,"RNS.Packet",false]],"packetreceipt (class in rns)":[[7,"RNS.PacketReceipt",false]],"pathfinder_m (rns.transport attribute)":[[7,"RNS.Transport.PATHFINDER_M",false]],"plain_mdu (rns.packet attribute)":[[7,"RNS.Packet.PLAIN_MDU",false]],"ratchet_count (rns.destination attribute)":[[7,"RNS.Destination.RATCHET_COUNT",false]],"ratchet_expiry (rns.identity attribute)":[[7,"RNS.Identity.RATCHET_EXPIRY",false]],"ratchet_interval (rns.destination attribute)":[[7,"RNS.Destination.RATCHET_INTERVAL",false]],"ratchetsize (rns.identity attribute)":[[7,"RNS.Identity.RATCHETSIZE",false]],"rawchannelreader (class in rns)":[[7,"RNS.RawChannelReader",false]],"rawchannelwriter (class in rns)":[[7,"RNS.RawChannelWriter",false]],"recall() (rns.identity static method)":[[7,"RNS.Identity.recall",false]],"recall_app_data() (rns.identity static method)":[[7,"RNS.Identity.recall_app_data",false]],"register_announce_handler() (rns.transport static method)":[[7,"RNS.Transport.register_announce_handler",false]],"register_message_type() (rns.channel.channel method)":[[7,"RNS.Channel.Channel.register_message_type",false]],"register_request_handler() (rns.destination method)":[[7,"RNS.Destination.register_request_handler",false]],"remote_management_enabled() (rns.reticulum static method)":[[7,"RNS.Reticulum.remote_management_enabled",false]],"remove_message_handler() (rns.channel.channel method)":[[7,"RNS.Channel.Channel.remove_message_handler",false]],"remove_ready_callback() (rns.rawchannelreader method)":[[7,"RNS.RawChannelReader.remove_ready_callback",false]],"request() (rns.link method)":[[7,"RNS.Link.request",false]],"request_path() (rns.transport static method)":[[7,"RNS.Transport.request_path",false]],"requestreceipt (class in rns)":[[7,"RNS.RequestReceipt",false]],"resend() (rns.packet method)":[[7,"RNS.Packet.resend",false]],"resource (class in rns)":[[7,"RNS.Resource",false]],"reticulum (class in rns)":[[7,"RNS.Reticulum",false]],"send() (rns.channel.channel method)":[[7,"RNS.Channel.Channel.send",false]],"send() (rns.packet method)":[[7,"RNS.Packet.send",false]],"set_default_app_data() (rns.destination method)":[[7,"RNS.Destination.set_default_app_data",false]],"set_delivery_callback() (rns.packetreceipt method)":[[7,"RNS.PacketReceipt.set_delivery_callback",false]],"set_link_closed_callback() (rns.link method)":[[7,"RNS.Link.set_link_closed_callback",false]],"set_link_established_callback() (rns.destination method)":[[7,"RNS.Destination.set_link_established_callback",false]],"set_packet_callback() (rns.destination method)":[[7,"RNS.Destination.set_packet_callback",false]],"set_packet_callback() (rns.link method)":[[7,"RNS.Link.set_packet_callback",false]],"set_proof_requested_callback() (rns.destination method)":[[7,"RNS.Destination.set_proof_requested_callback",false]],"set_proof_strategy() (rns.destination method)":[[7,"RNS.Destination.set_proof_strategy",false]],"set_ratchet_interval() (rns.destination method)":[[7,"RNS.Destination.set_ratchet_interval",false]],"set_remote_identified_callback() (rns.link method)":[[7,"RNS.Link.set_remote_identified_callback",false]],"set_resource_callback() (rns.link method)":[[7,"RNS.Link.set_resource_callback",false]],"set_resource_concluded_callback() (rns.link method)":[[7,"RNS.Link.set_resource_concluded_callback",false]],"set_resource_started_callback() (rns.link method)":[[7,"RNS.Link.set_resource_started_callback",false]],"set_resource_strategy() (rns.link method)":[[7,"RNS.Link.set_resource_strategy",false]],"set_retained_ratchets() (rns.destination method)":[[7,"RNS.Destination.set_retained_ratchets",false]],"set_timeout() (rns.packetreceipt method)":[[7,"RNS.PacketReceipt.set_timeout",false]],"set_timeout_callback() (rns.packetreceipt method)":[[7,"RNS.PacketReceipt.set_timeout_callback",false]],"should_use_implicit_proof() (rns.reticulum static method)":[[7,"RNS.Reticulum.should_use_implicit_proof",false]],"sign() (rns.destination method)":[[7,"RNS.Destination.sign",false]],"sign() (rns.identity method)":[[7,"RNS.Identity.sign",false]],"stale_grace (rns.link attribute)":[[7,"RNS.Link.STALE_GRACE",false]],"stale_time (rns.link attribute)":[[7,"RNS.Link.STALE_TIME",false]],"teardown() (rns.link method)":[[7,"RNS.Link.teardown",false]],"to_file() (rns.identity method)":[[7,"RNS.Identity.to_file",false]],"track_phy_stats() (rns.link method)":[[7,"RNS.Link.track_phy_stats",false]],"transport (class in rns)":[[7,"RNS.Transport",false]],"transport_enabled() (rns.reticulum static method)":[[7,"RNS.Reticulum.transport_enabled",false]],"truncated_hash() (rns.identity static method)":[[7,"RNS.Identity.truncated_hash",false]],"truncated_hashlength (rns.identity attribute)":[[7,"RNS.Identity.TRUNCATED_HASHLENGTH",false]],"unpack() (rns.messagebase method)":[[7,"RNS.MessageBase.unpack",false]],"validate() (rns.identity method)":[[7,"RNS.Identity.validate",false]]},"objects":{"RNS":[[7,0,1,"","Buffer"],[7,0,1,"","Destination"],[7,0,1,"","Identity"],[7,0,1,"","Link"],[7,0,1,"","MessageBase"],[7,0,1,"","Packet"],[7,0,1,"","PacketReceipt"],[7,0,1,"","RawChannelReader"],[7,0,1,"","RawChannelWriter"],[7,0,1,"","RequestReceipt"],[7,0,1,"","Resource"],[7,0,1,"","Reticulum"],[7,0,1,"","Transport"]],"RNS.Buffer":[[7,1,1,"","create_bidirectional_buffer"],[7,1,1,"","create_reader"],[7,1,1,"","create_writer"]],"RNS.Channel":[[7,0,1,"","Channel"]],"RNS.Channel.Channel":[[7,1,1,"","add_message_handler"],[7,1,1,"","is_ready_to_send"],[7,2,1,"","mdu"],[7,1,1,"","register_message_type"],[7,1,1,"","remove_message_handler"],[7,1,1,"","send"]],"RNS.Destination":[[7,3,1,"","RATCHET_COUNT"],[7,3,1,"","RATCHET_INTERVAL"],[7,1,1,"","accepts_links"],[7,1,1,"","announce"],[7,1,1,"","app_and_aspects_from_name"],[7,1,1,"","clear_default_app_data"],[7,1,1,"","create_keys"],[7,1,1,"","decrypt"],[7,1,1,"","deregister_request_handler"],[7,1,1,"","enable_ratchets"],[7,1,1,"","encrypt"],[7,1,1,"","enforce_ratchets"],[7,1,1,"","expand_name"],[7,1,1,"","get_private_key"],[7,1,1,"","hash"],[7,1,1,"","hash_from_name_and_identity"],[7,1,1,"","load_private_key"],[7,1,1,"","register_request_handler"],[7,1,1,"","set_default_app_data"],[7,1,1,"","set_link_established_callback"],[7,1,1,"","set_packet_callback"],[7,1,1,"","set_proof_requested_callback"],[7,1,1,"","set_proof_strategy"],[7,1,1,"","set_ratchet_interval"],[7,1,1,"","set_retained_ratchets"],[7,1,1,"","sign"]],"RNS.Identity":[[7,3,1,"","CURVE"],[7,3,1,"","KEYSIZE"],[7,3,1,"","RATCHETSIZE"],[7,3,1,"","RATCHET_EXPIRY"],[7,3,1,"","TRUNCATED_HASHLENGTH"],[7,1,1,"","current_ratchet_id"],[7,1,1,"","decrypt"],[7,1,1,"","encrypt"],[7,1,1,"","from_bytes"],[7,1,1,"","from_file"],[7,1,1,"","full_hash"],[7,1,1,"","get_private_key"],[7,1,1,"","get_public_key"],[7,1,1,"","get_random_hash"],[7,1,1,"","load_private_key"],[7,1,1,"","load_public_key"],[7,1,1,"","recall"],[7,1,1,"","recall_app_data"],[7,1,1,"","sign"],[7,1,1,"","to_file"],[7,1,1,"","truncated_hash"],[7,1,1,"","validate"]],"RNS.Link":[[7,3,1,"","CURVE"],[7,3,1,"","ESTABLISHMENT_TIMEOUT_PER_HOP"],[7,3,1,"","KEEPALIVE"],[7,3,1,"","KEEPALIVE_TIMEOUT_FACTOR"],[7,3,1,"","STALE_GRACE"],[7,3,1,"","STALE_TIME"],[7,1,1,"","get_age"],[7,1,1,"","get_channel"],[7,1,1,"","get_establishment_rate"],[7,1,1,"","get_expected_rate"],[7,1,1,"","get_mdu"],[7,1,1,"","get_mode"],[7,1,1,"","get_mtu"],[7,1,1,"","get_q"],[7,1,1,"","get_remote_identity"],[7,1,1,"","get_rssi"],[7,1,1,"","get_snr"],[7,1,1,"","identify"],[7,1,1,"","inactive_for"],[7,1,1,"","no_data_for"],[7,1,1,"","no_inbound_for"],[7,1,1,"","no_outbound_for"],[7,1,1,"","request"],[7,1,1,"","set_link_closed_callback"],[7,1,1,"","set_packet_callback"],[7,1,1,"","set_remote_identified_callback"],[7,1,1,"","set_resource_callback"],[7,1,1,"","set_resource_concluded_callback"],[7,1,1,"","set_resource_started_callback"],[7,1,1,"","set_resource_strategy"],[7,1,1,"","teardown"],[7,1,1,"","track_phy_stats"]],"RNS.MessageBase":[[7,3,1,"","MSGTYPE"],[7,1,1,"","pack"],[7,1,1,"","unpack"]],"RNS.Packet":[[7,3,1,"","ENCRYPTED_MDU"],[7,3,1,"","PLAIN_MDU"],[7,1,1,"","get_q"],[7,1,1,"","get_rssi"],[7,1,1,"","get_snr"],[7,1,1,"","resend"],[7,1,1,"","send"]],"RNS.PacketReceipt":[[7,1,1,"","get_rtt"],[7,1,1,"","get_status"],[7,1,1,"","set_delivery_callback"],[7,1,1,"","set_timeout"],[7,1,1,"","set_timeout_callback"]],"RNS.RawChannelReader":[[7,1,1,"","__init__"],[7,1,1,"","add_ready_callback"],[7,1,1,"","remove_ready_callback"]],"RNS.RawChannelWriter":[[7,1,1,"","__init__"]],"RNS.RequestReceipt":[[7,1,1,"","concluded"],[7,1,1,"","get_progress"],[7,1,1,"","get_request_id"],[7,1,1,"","get_response"],[7,1,1,"","get_response_time"],[7,1,1,"","get_status"]],"RNS.Resource":[[7,1,1,"","advertise"],[7,1,1,"","cancel"],[7,1,1,"","get_data_size"],[7,1,1,"","get_hash"],[7,1,1,"","get_parts"],[7,1,1,"","get_progress"],[7,1,1,"","get_segments"],[7,1,1,"","get_transfer_size"],[7,1,1,"","is_compressed"]],"RNS.Reticulum":[[7,3,1,"","ANNOUNCE_CAP"],[7,3,1,"","LINK_MTU_DISCOVERY"],[7,3,1,"","MINIMUM_BITRATE"],[7,3,1,"","MTU"],[7,1,1,"","get_instance"],[7,1,1,"","link_mtu_discovery"],[7,1,1,"","remote_management_enabled"],[7,1,1,"","should_use_implicit_proof"],[7,1,1,"","transport_enabled"]],"RNS.Transport":[[7,3,1,"","PATHFINDER_M"],[7,1,1,"","deregister_announce_handler"],[7,1,1,"","has_path"],[7,1,1,"","hops_to"],[7,1,1,"","next_hop"],[7,1,1,"","next_hop_interface"],[7,1,1,"","register_announce_handler"],[7,1,1,"","request_path"]]},"objnames":{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","property","Python property"],"3":["py","attribute","Python attribute"]},"objtypes":{"0":"py:class","1":"py:method","2":"py:property","3":"py:attribute"},"terms":{"":[0,2,5,6,9,10,11],"0":[0,2,5,7,9,10,11],"00":[9,10],"00000000":9,"00000100":9,"00000111":9,"01":9,"01010000":9,"02":2,"05":0,"08":[0,10],"0f4259fef4521ab75a3409e353fe9073eb10783b4912a6a9937c57bf44a62c1":10,"0x0101":0,"0x20":0,"0x7d":0,"0x7e":0,"0x81f7b979fea6134ba9fd5c701b3501a2e61e897a":8,"0xf000":[0,7],"1":[0,2,5,7,9,10],"10":[5,9,10],"100":[0,5,9],"1000":0,"10000000":9,"1024":0,"11":9,"115":9,"115200":[0,5,10],"12":[2,5,10],"1200":9,"125":5,"125000":5,"127":5,"128":[7,9],"13":10,"13425ec15b621c1d928589718000d814":9,"15":5,"150":[5,10],"150m":5,"16":[5,9,10],"1625":5,"1625000":5,"167":9,"17":10,"1726dbad538775b5bf9b0ea25a4079c8":10,"174a64852a75682259ad8b921b8bf416":2,"18":10,"1800":7,"187":10,"1b03013c25f1c2ca068a4f080b844a10":10,"2":[0,2,5,7,9,10],"20":[5,9,10],"200":[5,10],"201":5,"2023":[2,10],"21":2,"2225fdeecaf6e2db4556c3c2d7637294":10,"23":10,"24":5,"2400000000":5,"25":[0,4,11],"255":[5,10],"25519":7,"256":[5,7,9,10,11],"2592000":7,"27":10,"29":5,"297":[9,11],"29716":5,"2b489d06eaf7c543808c76a5332a447d":10,"2d03725b327348980d570f739a3a5708":10,"2d882c5586e548d79b5af27bca1776dc":10,"2f":0,"2owjajquafianpecac":2,"3":[0,2,5,9,10,11],"30":[5,7,10],"30602def3b3506a28ed33db6f60cc6c9":10,"32":[2,7,9],"3278":5,"33":5,"360":7,"3600":[0,5],"37428":10,"37429":10,"38":10,"383":7,"3b87":5,"3cpmacgm34qyvr6xwlvejmi2ane3pzquuq":8,"4":[7,9,10],"4242":[2,5],"4251":5,"42671":5,"430":9,"4343":5,"44":11,"45":[0,9],"464":7,"465":9,"469":10,"48555":5,"49":10,"49555":5,"4965":10,"4e":5,"4faf1b2e0a077e6a9d92fa051f256038":9,"4ghz":5,"5":[0,5,7,9,10,11],"500":[7,9,11],"5001":5,"51":9,"512":[5,7,9,11],"5245a8efe1788c6a1cd36144a270e13b":10,"55":5,"56":10,"564":0,"5757":5,"59":10,"5caf":5,"5d78":5,"5urvjicpzi7q3ybztsef4i5ow2aq4soktfj7zedz53s47r54jnqq":5,"6":[5,7,10],"60":[0,5],"600":5,"63":10,"64":[2,9,10],"7":[2,5,9,10],"71e5":5,"72":5,"720":7,"7200":5,"73":[5,10],"73cbd378bb0286ed11a707c13447bb1":10,"74":10,"781":10,"7a55144adf826958a9529a3bcf08b149":10,"8":[0,5,10],"80":10,"8001":5,"809":10,"83":[9,10],"84fpy1qbxhcgdseepynmhthcrgmx4nffbytz2gkytoqhvvhjp8eaw1z1eedrnkd19b3b8nilcgvxzkv17ummmeescrpya5w":8,"86":10,"865":5,"865600000":5,"867":5,"867200000":5,"868":9,"88":5,"89":5,"8dd57a738226809646089335a6b03695":10,"9":[2,7,10],"900":9,"921600":10,"941bed5e228775e5a8079fc38b1ccf3f":10,"96":9,"9600":0,"984b74a3f768bef236af4371e6f248cd":10,"99":9,"9fb6d773498fb3feda407ed8ef2c3229":10,"A":[0,2,5,6,7,9,10],"And":0,"As":[2,3,5,6,7,9,11],"At":[2,6,9],"Be":[7,10],"But":9,"By":[0,2,5,7,9,10],"For":[2,5,6,7,9,10,11],"IN":[0,7],"If":[0,2,3,5,6,7,9,10,11],"In":[0,2,3,5,6,7,9,10,11],"It":[0,2,3,5,7,9,10,11],"No":[0,2,5,9,10,11],"On":[0,2,5,10],"One":[3,7,9],"Or":[5,10,11],"That":9,"The":[0,2,3,4,5,6,7,11],"Then":[0,2],"There":[2,6,9],"These":[2,5,7,9,10],"To":[0,2,3,5,6,9,10,11],"Will":7,"With":[4,5,6,9,10],"_":9,"__":9,"______":9,"_______":9,"________":9,"________________":9,"__future__":0,"__init__":[0,7],"__main__":0,"__name__":0,"__str__":0,"_represented_":9,"a4d":5,"a79f":5,"aarch64":2,"ab":0,"abil":[2,3,11],"abl":[0,2,5,6,7,9,10],"abort":0,"about":[0,2,3,5,6,7,9],"abov":[2,3,5,9,10],"absolut":[2,8,11],"abstract":[7,9],"abstractmethod":7,"abund":3,"accept":[7,8,9,10],"accept_al":[0,7],"accept_app":7,"accept_non":7,"accepts_link":7,"access":[2,4,5,6,7,10],"access_point":5,"accommod":[7,9],"accord":[0,2,9],"accordingli":[0,5],"achiev":[5,7,9],"acknowledg":11,"across":[0,3,6,7],"act":[2,7,9,10],"action":0,"activ":[0,2,5,7,9],"actor":9,"actual":[0,2,5,9],"ad":[0,3,4,5,6,7,9,10,11],"adapt":[3,6],"add":[0,2,5,6,7,10],"add_argu":0,"add_message_handl":[0,7],"add_ready_callback":7,"addit":[2,3,5,7,9,10,11],"addition":[2,3,5,9],"addr":10,"address":[0,2,5,6,7,9,10,11],"adher":7,"adjust":[2,7],"admin":5,"administr":10,"adress":[7,9],"advanc":9,"advantag":7,"advers":11,"adversari":2,"advertis":[0,7],"advis":9,"ae":[7,9,11],"af73":5,"affect":[2,5],"after":[0,2,5,6,7,9,10],"again":[2,5,9],"against":9,"agenc":9,"agent":9,"agnost":[6,9],"agnostic":9,"aim":[4,9],"air":3,"airmax":3,"airtim":5,"airtime_limit_long":5,"airtime_limit_short":5,"aliv":[7,9],"all":[0,2,3,4,5,6,7,8,9,10,11],"allevi":3,"alloc":[5,7,9,10],"allow":[0,2,3,5,6,7,9,10,11],"allow_al":[0,7],"allow_list":7,"allow_non":7,"allowed_hash":10,"allowed_ident":10,"allowed_list":7,"almost":[3,5,9,10],"alon":5,"along":[5,6,7,9,10],"alreadi":[0,2,3,6,7,9,10],"also":[0,2,3,4,5,6,7,9,10,11],"alter":[2,7,9],"altern":[0,2,5,10],"although":[2,9,11],"alwai":[2,5,7,9,10],"amateur":[5,11],"amount":[0,5,6,7,9,11],"amsterdam":5,"an":[0,2,3,5,6,7,9,10,11],"analyt":8,"android":[4,5,10],"ani":[0,2,3,5,6,7,8,9,10,11],"annot":0,"annouce_cap":5,"announc":[4,7,10],"announce_cap":[5,7],"announce_handl":0,"announce_packet_hash":7,"announce_rate_grac":5,"announce_rate_penalti":5,"announce_rate_target":5,"announced_ident":[0,7],"announceloop":0,"announcesampl":0,"anonym":[2,6,7,9,11],"anoth":[2,7,9,10],"answer":[9,10],"antenna":3,"anymor":2,"anyon":[0,2,3,5,6,7,9,10],"anyth":[2,3,5,9,10,11],"anywher":[0,5],"ap":5,"api":[2,4,9,11],"apk":2,"app":[0,2,7,9],"app_and_aspects_from_nam":7,"app_data":[0,7],"app_nam":[0,7],"app_timeout":0,"append":[0,9],"appli":[5,7,9],"applic":[0,2,5,6,7,9,10,11],"approach":[3,9,10],"approv":9,"approxim":5,"april":2,"apt":2,"ar":[0,2,3,5,6,7,8,9,10,11],"arbitrari":[7,9,10,11],"arch":2,"architectur":2,"area":[3,5,6,9,11],"arg":0,"argon":0,"argpars":0,"argument":[0,7,10],"argumentpars":0,"arm64":4,"around":[5,9],"arriv":[0,9],"arx":10,"ask":[0,2,3,7],"aspect":[0,3,5,7,9,10],"aspect_filt":[0,7],"assign":[0,9,10],"associ":[2,7,9],"assum":[5,9],"asymmetr":[9,10,11],"attach":10,"attached_interfac":7,"attack":2,"attempt":[0,2,3,7],"attribut":7,"atx":10,"audit":11,"auth":10,"authent":[2,5,6,7,9,10,11],"author":[9,10],"authorit":9,"auto":[2,3,4,7,9],"auto_compress":7,"autoconfigur":11,"autodiscov":5,"autoinstal":[3,10],"autointerfac":[2,3,5,10],"autom":[3,8,9],"automat":[0,2,5,6,7,9,10,11],"autonom":[6,9],"autonomi":11,"avail":[0,2,3,4,5,6,7,9,10,11],"averag":9,"avoid":[3,9,10],"awai":[0,5,6,9,10],"awar":[2,5,9],"ax":[4,11],"ax25kissinterfac":5,"b":[0,6,10],"b32":5,"back":[0,5,9,11],"backbon":[2,3,4],"backboneinterfac":[2,5],"backend":[5,9],"background":[2,5],"backhaul":[3,6],"backup":10,"balanc":5,"band":[3,9],"bandwidth":[2,5,6,7,9,10,11],"bare":[0,5],"barrier":9,"base":[4,5,6,7,9,10,11],"base32":[5,10],"base64":10,"basi":[5,7,9,10,11],"basic":[0,2,4,5,7,10],"baud":[5,10],"baud_flash":10,"baudrat":0,"bc7291552be7a58f361522990465165c":10,"beacon":5,"becaus":[6,9],"becki":0,"becom":[0,2,6,7,9],"been":[0,2,3,5,6,7,9,11],"befor":[0,2,5,7,9,10],"begin":[0,3,7],"begun":7,"behalf":5,"behav":3,"behaviour":[2,5,10],"behind":[2,9],"being":[2,5,7,9],"beings":9,"belief":9,"below":[2,3,5],"benefici":[5,10],"best":[2,9,11],"better":[5,9],"between":[0,5,6,7,9,10],"betweenthebord":2,"bi":[7,9],"bidirect":9,"billion":[6,9],"bin":[2,10],"binari":[0,2,7,9,10],"bind":5,"bit":[0,2,5,7,9,10,11],"bitcoin":8,"bitrat":[0,5,7],"ble":5,"blob":[0,9],"block":5,"bluetooth":10,"board":[2,4,5,9,11],"bogu":5,"boil":3,"bookworm":4,"bool":7,"boot":[2,10],"bootstrap":10,"both":[0,2,3,5,6,7,9,10,11],"boundari":5,"box":3,"break":[2,7,9,11],"breviti":10,"bridg":[3,4],"briefli":[3,9],"bring":5,"broad":[2,3],"broadcast":[2,4,5,7,9],"broadcast_destin":0,"broadcastloop":0,"brought":[5,10],"browser":2,"buffer":[4,5,7,11],"bufferedread":7,"bufferedrwpair":7,"bufferedwrit":7,"bufferexampl":0,"bug":11,"build":[0,2,3,4,5,9,11],"built":[2,5,9,10,11],"bundl":0,"bureaucrat":11,"burst":5,"bw":10,"byte":[0,7,9,10,11],"bytes":0,"c":[0,6,10],"c50cc4e4f7838b6c31f60ab9032cbc62":10,"c89b4da064bf66d280f0e4d8abfd9806":10,"cabl":[5,6],"cach":10,"calcul":[7,9,10],"call":[0,6,7,9,11],"callabl":[0,7],"callback":[0,7],"callsign":5,"can":[0,2,3,4,5,6,7,8,9,10],"cancel":7,"candid":6,"cannot":[0,2,5,11],"cap":5,"capabl":[0,9],"capac":[3,5,7,9],"carambola":0,"care":[2,7,11],"carefulli":2,"cargo_build_target":2,"carri":[5,7,9,10,11],"carrier":[6,11],"case":[0,2,3,5,6,9,10],"cat":10,"categori":3,"caution":5,"caveat":4,"cb":[7,9],"cbc":[9,11],"cd":2,"cdma":5,"censor":9,"censorship":[9,11],"central":[3,6,9],"centralis":9,"certain":[0,5,6,8,9],"chain":5,"challeng":9,"chanc":3,"chang":[0,2,5,7,9,10,11],"channel":[2,4,5,6,7,8,9,11],"channelarg":0,"channelexampl":0,"chapter":[2,3,5,6,7,9,10,11],"charact":0,"characterist":9,"cheap":[3,5,9],"cheapli":2,"check":[0,2,7,9,10],"checksum":[7,11],"choic":2,"choos":[0,2,5,9],"chose":9,"chosen":[6,9],"chunk":0,"cific":5,"ciphertext":7,"ciphertext_token":7,"circumst":[8,9],"cl":0,"claim":9,"class":[0,6,7,11],"clear":[0,5,7,9,10],"clear_default_app_data":7,"clear_screen":0,"client":[0,2,3,4,7,10],"client_buffer_readi":0,"client_connect":0,"client_disconnect":0,"client_ident":0,"client_loop":0,"client_message_receiv":0,"client_packet_receiv":0,"client_request":0,"clone":[2,9],"close":[0,6,7,10],"closed_callback":7,"closer":9,"closest":9,"cluster":9,"co":[3,5,11],"code":[2,3,4,5,10],"codingr":5,"collect":8,"com":[0,2,8],"combin":[2,4,6,9],"come":[2,5,9],"comma":5,"command":[0,2,5,10],"comment":[5,10],"common":[0,3,4,6,9,10,11],"commonli":[3,5],"commun":[0,2,4,5,6,7,8,9,10,11],"communica":5,"compat":[0,2,3,5,7,9],"compil":2,"complet":[0,2,3,5,6,7,9,10,11],"complex":[5,9],"compon":[3,8,9],"compos":9,"compress":[0,7,9,10,11],"compromis":9,"comput":[2,5,9,11],"concaten":7,"conceiv":[2,3],"concept":[4,9,10],"conceptu":9,"conclud":[0,7],"concurr":[3,9,10],"condit":[9,11],"conf":2,"config":[0,2,5,6,10],"configarg":0,"configdir":7,"configpath":0,"configur":[0,2,3,4,6,7,9,11],"configuraion":3,"configure_devic":0,"confirm":[9,11],"conflict":2,"confus":[3,9],"congest":9,"conjunct":5,"connect":[0,3,4,6,7,9,10,11],"consequ":9,"conserv":5,"consid":[0,5,7,9,11],"consider":9,"consist":9,"consol":10,"constant":7,"constantli":9,"constrain":7,"construct":[9,11],"constructor":0,"consum":7,"contact":9,"contain":[0,6,7,9,10],"contend":9,"content":[0,2,6,10],"context":9,"contin":0,"continu":[5,7,8,11],"contribut":4,"control":[0,2,3,4,6,7,9,11],"convei":0,"conveni":0,"convent":0,"converg":[2,4,9],"coordin":[6,7,9,11],"copi":10,"core":[6,9,10,11],"correct":[0,9],"correctli":0,"correspond":9,"cost":[3,9,11],"could":[0,2,5,6,7,9,11],"count":9,"counter":0,"coupl":2,"cours":[2,5,9],"cover":[2,3,9,11],"coverag":6,"cpu":[0,9],"cpuinfo":10,"cr":10,"creat":[0,4,5,6,7,9,10,11],"create_bidirectional_buff":[0,7],"create_kei":7,"create_read":7,"create_receipt":[0,7],"create_writ":7,"creation":[9,11],"creator":9,"critic":[9,10],"cross":5,"cryptograph":[2,4,6,10,11],"cryptographi":[2,9,11],"ctrl":0,"cull":7,"current":[0,2,4,5,7,9],"current_download":0,"current_filenam":0,"current_ratchet_id":7,"curv":[6,7,9,11],"curve25519":[6,7,9,11],"custom":[3,4,7,9,11],"custom_network_nam":5,"customis":5,"d":[6,10],"daemon":[0,2,5,7,10],"dai":[6,7],"data":[0,2,3,4,5,6,7,9,11],"data_buff":0,"data_port":5,"databit":[0,5,10],"datar":5,"date":[0,2],"datetim":0,"db":[0,10],"dbm":[0,5,10],"debian":[4,9,10],"debug":[2,10],"decad":3,"decentralis":11,"decid":[5,6,7,9],"decis":[5,9],"decod":0,"decreas":10,"decrypt":[7,9,10],"dedic":[5,9],"deep":2,"def":0,"default":[0,2,3,5,6,7,9,10],"default_ifac_s":0,"defin":[0,5,7,9,10],"definit":[0,2,9],"degrad":6,"degre":5,"delai":[2,5,9,10],"delimit":0,"deliv":[0,7],"deliveri":[0,2,7,11],"demand":7,"demonstr":[0,2,5],"depend":[0,3,4,6,7,9,10],"deploi":9,"deregist":7,"deregister_announce_handl":7,"deregister_request_handl":7,"deriv":[2,7,9,11],"describ":[3,5,7,9],"descript":[0,10],"descriptor":0,"deseri":0,"deserializ":0,"design":[2,3,6,9,11],"desir":[0,3,5,9],"desktop":5,"dest_len":0,"destin":[0,2,4,6,7,10],"destination_1":0,"destination_2":0,"destination_clos":0,"destination_hash":[0,7,10],"destination_hexhash":0,"detail":[0,2,4,5,7,10,11],"detect":0,"determin":[2,7,9],"dev":[0,2,5,10],"devel":2,"develop":[3,4,7,8,9,11],"devic":[0,2,4,5,6,7,9,10],"dh":7,"dhcp":[3,5,10],"dict":0,"did":0,"differ":[0,2,3,5,6,7,9,10,11],"diffi":[6,9],"difficult":[2,3],"digit":[2,3,9,11],"dir":0,"dire":3,"direct":[0,2,3,6,7,9,10],"direction":9,"directli":[2,3,5,7,9,10,11],"directori":[0,2,10],"disabl":[5,9,10],"disappear":[5,10],"disassoci":9,"discard":[7,9],"disconnect":[0,5],"discov":[2,5],"discover":5,"discoveri":[5,7,9,10],"discovery_port":5,"discovery_scop":5,"discrimin":6,"discuss":[2,3,9],"disk":[0,7],"displai":[0,9,10],"disrupt":5,"dissolv":6,"distanc":[3,9],"distant":7,"distinct":[5,9],"distinguish":9,"distribut":[0,2,6,7,9,10,11],"disucss":2,"divid":7,"divmod":0,"dn":3,"dnf":2,"do":[0,2,3,5,7,9,10,11],"document":[2,7,9],"doe":[0,2,3,4,5,6,7,9,10],"doesn":5,"domain":[2,5,10],"don":[0,2,6,7,10],"donat":4,"done":[0,2,5,6,9,10],"dori":6,"dot":[9,10],"doubt":2,"dowload":2,"down":[0,2,3,5,7],"download":[0,2,5,10],"download_began":0,"download_conclud":0,"download_finish":0,"download_start":0,"download_tim":0,"driver":[10,11],"droid":2,"drop":[5,7,9,10],"dsrdtr":0,"dual":3,"dublin":10,"due":[0,6],"dump":10,"duplex":[9,11],"dynam":[2,10],"dysfunct":8,"e":[0,6,10],"e5c032d3ec4e64a6aca9927ba8ab73336780f6d71790":10,"e702c42ba8":10,"e7536ee90bd4a440e130490b87a25124":10,"each":[0,2,5,6,7,9,10],"earlier":9,"eas":[5,9],"easi":[2,3,5,9,10,11],"easier":[2,5,6,10,11],"easiest":[2,3,5,9],"easili":[2,5,6,9,10,11],"ecdh":[9,11],"echo":[2,4],"echo_destin":0,"echo_request":0,"ed25519":[9,11],"edit":[2,10],"eeprom":10,"effect":5,"effici":[0,2,5,7,9,11],"effort":3,"eg":10,"ei":0,"either":[2,3,6,7,9,10],"elaps":5,"elif":0,"ellipt":[6,7,9,11],"els":[0,2,6,9],"embed":3,"emploi":[3,9],"empow":11,"empti":0,"emptor":4,"emul":2,"enabl":[0,2,3,5,6,7,9,10,11],"enable_ratchet":7,"enable_remote_manag":10,"enable_transport":[9,10],"encapsul":[5,11],"encod":[0,7,10],"encrypt":[0,2,6,7,9,10,11],"encrypted_mdu":7,"end":[0,5,6,7,9,11],"endless":5,"endpoint":[0,6,7,9],"energi":2,"enforc":[5,7],"enforce_ratchet":7,"enhanc":9,"enough":[2,3,9],"ensur":[0,5,7,9,10,11],"ensurepath":2,"enter":[0,10],"entir":[0,2,6,7,9,10],"entiti":9,"entri":[0,2,9],"entrypoint":4,"enumer":0,"envelop":7,"environ":[2,6,9],"environment":9,"environmentlogg":9,"eof":5,"ephemer":[6,7,9,11],"epub":4,"equal":[6,7,9],"equip":[5,6,9],"equival":5,"error":[0,2,8,10],"esc":0,"esc_mask":0,"escap":0,"esp32":3,"especi":[2,3,5],"essenti":[2,5,9],"establish":[0,2,5,6,7,11],"established_callback":7,"establishment_timeout_per_hop":7,"etc":10,"eth0":5,"eth1":5,"ethereum":8,"ethernet":[2,4,5,6,9,11],"even":[0,2,5,6,7,9,10,11],"event":5,"eventu":7,"everi":[0,2,5,6,7,9],"everyon":[6,9],"everyth":[0,6,9],"evolv":6,"exact":[3,5,9],"exactli":[7,9],"exampl":[2,3,4,5,7,9,10,11],"example_util":0,"exampleannouncehandl":0,"exampleconfig":[2,10],"exampleinterfac":0,"exce":[0,5,7],"except":[0,5,7],"excess":5,"exchang":[6,7,9,11],"exclud":[7,9],"execstart":10,"execstartpr":10,"execut":[0,2,5,7,10],"exhaust":[3,9],"exist":[0,2,3,5,9,10,11],"exit":[0,2,7,10],"expand":[9,11],"expand_nam":7,"expect":[0,2,5,7,9,10],"expens":3,"experi":[2,9],"experienc":0,"experiment":[2,11],"expir":5,"expiri":[5,7],"explain":[3,7],"explan":[9,10],"explicit":7,"explicitli":10,"explor":[0,9,11],"export":[2,10],"expos":[5,7],"extend":[0,7],"extens":[5,11],"extern":[0,2,5,7,11],"extra":[2,5,6,10],"extract":10,"extrem":[2,9,10,11],"f":[0,2,10],"f4":5,"f53a1c4278e0726bb73fcc623d6ce763":10,"face":[2,5],"facilit":2,"fact":11,"factor":[5,7,10],"fail":[0,2,7],"failed_callback":[0,7],"failur":[2,5,7],"fals":[0,5,7],"far":[6,9],"fashion":8,"fast":[4,5,7,9],"faster":[2,5,9],"fastest":[5,9],"fe80":2,"featur":[2,5,7,8,9,11],"fedora":2,"feed":[2,7],"feedback":[0,4],"feel":2,"fernet":9,"fetch":10,"few":[2,3,5,6,9,10,11],"fewer":7,"ff":10,"fi":8,"fiber":3,"fibr":11,"field":9,"file":[0,2,3,5,6,7,9,10,11],"file_resourc":0,"file_s":0,"filelist":0,"filelist_data":0,"filelist_receiv":0,"filelist_timeout_job":0,"filenam":0,"filetransf":[2,4,7],"filter":[0,6,9,10],"final":[0,7,9],"find":[2,6,9],"find_spec":0,"firewal":[2,5],"firmwar":[2,3,9,10],"firmware_hash":10,"first":[0,2,5,7,9,10],"fit":0,"five":0,"fix":[4,9],"flag":[0,2,7,9],"flash":10,"flexibl":[2,3,5,11],"flight":7,"float":[0,7],"flow":[0,5,6],"flow_control":5,"flush":0,"folder":[0,2],"follow":[0,2,3,5,7,8,9,10,11],"forc":[0,10],"forcibli":[7,10],"foreground":2,"foremost":11,"form":[2,5,6,7,9],"format":[0,4,10,11],"forth":0,"forum":2,"forward":[5,7,9,11],"forward_ip":5,"forward_port":5,"found":[0,2,5,6,9,10],"foundat":11,"four":6,"frame":[0,5],"free":[2,6,8,11],"freedom":9,"freedv":3,"freeli":9,"freq":10,"frequenc":[3,5,9,10],"frequent":5,"friendli":2,"from":[0,2,3,5,6,7,9,10,11],"from_byt":7,"from_fil":7,"from_identity_hash":7,"fromhex":0,"fruit":0,"ftdi_ft230x_basic_uart_43891ckm":10,"full":[0,2,5,7,9,10,11],"full_hash":7,"full_nam":[7,10],"fulli":[0,2,3,5,9,10,11],"funcion":7,"function":[0,2,3,4,5,6,7,8,10,11],"fundament":[3,9],"further":[2,4,5],"futur":[6,7,9],"fw":10,"g":[0,10],"ga":0,"gain":[2,3,7,9],"galact":9,"gatekeep":9,"gatewai":[0,2,5,6,9],"gbp":10,"gener":[0,2,3,5,6,7,9,10,11],"generalis":11,"geograph":6,"get":[0,3,4,5,7,10,11],"get_ag":7,"get_channel":[0,7],"get_config_obj":0,"get_data_s":7,"get_establishment_r":7,"get_expected_r":7,"get_hash":7,"get_inst":7,"get_mdu":7,"get_mod":7,"get_mtu":7,"get_packet_rssi":0,"get_packet_snr":0,"get_part":7,"get_private_kei":7,"get_progress":[0,7],"get_public_kei":7,"get_q":7,"get_random_hash":[0,7],"get_remote_ident":[0,7],"get_request_id":7,"get_respons":7,"get_response_tim":7,"get_rssi":7,"get_rtt":[0,7],"get_seg":7,"get_snr":7,"get_statu":7,"get_transfer_s":7,"geti2p":5,"ghz":9,"gi":0,"gigabyt":11,"git":2,"github":[0,2,8],"give":[5,9,10],"given":[5,6,7,9],"global":[0,2,5,6,7,9,11],"glue":3,"go":[0,2,5,9],"goal":[4,5],"goe":2,"good":[2,3,6,9,10],"got":0,"got_respons":0,"govern":9,"grace":7,"gracefulli":5,"grape":0,"graphic":2,"gratefulli":8,"great":9,"greater":[7,9,11],"greatli":[2,5],"group":[5,7,9],"group_id":5,"groupinstal":2,"grow":6,"growth":4,"guarante":[2,9],"guess":5,"guid":[2,3,9],"gw":5,"h":[2,10],"ha":[0,2,3,5,6,7,9,11],"hack":11,"had":9,"half":[9,11],"hand":0,"handheld":9,"handl":[0,2,3,5,6,7,9,10,11],"handler":[0,7],"happen":[0,2,7,9],"hard":3,"hardcod":2,"hardlin":6,"hardwar":[0,2,4,5,6,7,9,10,11],"has_path":[0,7],"hasattr":0,"hash":[0,2,7,9,10],"hash1":9,"hash2":9,"hash_from_name_and_ident":7,"hashlib":9,"hashmap":0,"have":[0,2,3,5,6,7,9,10],"hazard":7,"hdlc":0,"head":2,"header":[0,7,9],"header_1":9,"header_2":9,"hear":9,"heard":[7,9],"held":[5,10],"helium":0,"hellman":[6,9],"help":[0,2,6,8,9,10,11],"helper":0,"her":6,"here":[0,2,5,9,10],"heterogen":11,"hex":[0,10],"hexadecim":[0,9,10],"hexbyt":10,"hidden":10,"hide":2,"hierarch":11,"high":[3,5,9,11],"higher":[6,11],"highest":7,"highli":9,"hill":6,"hint":0,"hit":0,"hkdf":9,"hmac":[9,11],"hoc":11,"hold":[5,7,9],"home":[6,10],"homebrew":5,"hop":[5,6,7,9,10,11],"hops_to":7,"host":[0,4,5,9,10],"hostnam":5,"hour":[0,5],"how":[0,2,3,5,6,9,10,11],"howev":[2,6,9],"http":[0,2,8],"hub":[2,5],"human":[0,7,8,9],"hundr":2,"hungri":3,"hw_mtu":0,"hwrev":10,"hz":10,"i":[0,2,3,4,5,6,7,8,9,10],"i2p":[2,4,11],"i2p_tunnel":5,"i2pd":[2,5],"i2pinterfac":[2,5],"ia":10,"ic":3,"ic_burst_freq":5,"ic_burst_freq_new":5,"ic_burst_hold":5,"ic_burst_penalti":5,"ic_held_release_interv":5,"ic_max_held_announc":5,"ic_new_tim":5,"id":[5,7,9,10],"id_callsign":5,"id_interv":5,"idea":[2,9,10],"ideal":[2,11],"ident":[0,2,4,7,10,11],"identif":[4,5,11],"identifi":[0,5,7,9,10],"identifyexampl":0,"identity_data":10,"ie":10,"if00":10,"ifac":[0,2,9,10],"ifac_s":5,"ifconf":0,"ifconfig":10,"ignor":[5,7,9],"ignored_devic":5,"illustr":[0,5,6,9],"immedi":[2,5,10],"impact":[5,7,9],"implement":[0,5,6,7,8,9,11],"implic":5,"implicit":[7,9],"import":[0,2,3,5,6,7,8,9,10],"importlib":0,"imposs":9,"improv":[2,4,5,8],"in_fram":0,"in_wait":0,"inactive_for":7,"inbound":[0,5,7],"includ":[0,3,4,5,7,9,11],"incom":[0,5,7,10],"incompat":[7,9],"increas":[5,7,10],"incur":5,"independ":[7,9,11],"index":[0,2,4],"indic":[0,7],"indirectli":9,"individu":[5,7,9,11],"inevit":9,"infer":9,"influx":5,"info":[7,9,10],"inform":[0,2,4,5,6,7,9,10],"infrastructur":[2,3,5,6,9,10],"ingo":7,"ingress":[0,5],"ingress_control":5,"init":2,"initi":[0,5,6,7,9,11],"initialis":[0,7,10],"input":[0,10],"insert":9,"insid":9,"inspect":[2,5,6,9,10],"instal":[0,4,5,6,9,10,11],"instanc":[0,4,5,7,9,10],"instance_control_port":10,"instance_nam":10,"instanti":7,"instead":[0,2,5,7,9,10],"instruct":2,"int":[0,7],"integ":[0,7],"integr":[2,6,9],"intend":[2,5,6,9],"intens":10,"intention":9,"inter":7,"inter_byte_timeout":0,"interact":[0,2,7,9,10],"interchang":5,"interconnect":[4,5,9],"interest":[2,9],"interfac":[3,4,6,7,10],"interface_class":0,"interface_en":10,"interfer":10,"intermediari":[5,7,9],"intermitt":5,"intern":[0,5,7,9],"internet":[4,5,9,11],"interoper":[2,3,6,9,11],"interrupt":5,"interv":[5,7,10],"intiat":0,"introduc":[2,9],"introduct":4,"intuit":11,"invalid":[0,7],"invers":9,"investig":6,"invis":[2,5],"involv":6,"io":3,"ioerror":0,"iot":3,"ip":[2,3,5,9,10,11],"ipv4":5,"ipv6":[2,5,10],"is_compress":7,"is_connected_to_shared_inst":0,"is_open":0,"is_path_respons":7,"is_ready_to_send":[0,7],"isdir":0,"isfil":0,"isinst":0,"island":6,"ism":[3,9],"isol":[2,5,10],"isp":5,"issu":[4,5,6,8],"its":[3,5,7,9],"itself":[4,9],"iv":[9,11],"j":10,"jail":10,"job":0,"join":[0,2,6,8,9],"json":10,"just":[0,2,3,5,6,9,11],"k":[0,10],"kb":10,"kbp":10,"keep":[0,6,7,9,10,11],"keepal":[7,9],"keepalive_timeout_factor":7,"kei":[0,4,6,7,10,11],"kept":[5,6,7,9],"kernel":[5,10,11],"keyboardinterrupt":0,"keyerror":7,"keypair":9,"keyset":11,"keysiz":7,"keystor":6,"khz":5,"ki":0,"kill":[7,9],"kind":[3,5,6,9],"kiss":[3,4,10,11],"kiss_fram":5,"kissinterfac":[5,10],"know":[0,2,3,6,7,9],"knowledg":[6,9],"known":[0,5,7,9,10],"ko":8,"krypton":0,"l":[5,10],"lack":9,"laid":9,"lan":5,"larg":[0,3,5,6,7,9,11],"larger":[6,9,10],"laser":5,"last":[0,5,7],"last_read_m":0,"last_unit":0,"latenc":[2,9,11],"later":[0,2,5,10],"latest":[0,2,5,7,10],"latest_buff":0,"latest_client_link":0,"laucnh":2,"launch":[2,10],"layer":[3,5,6,7,9,10,11],"lead":[2,9],"leak":2,"learn":[0,2,8,9],"least":[3,5,9,10,11],"leav":[2,6,9],"ledger":9,"left":[5,7,9,10],"legaci":6,"legal":5,"legisl":5,"len":0,"length":[0,5,7,9],"less":[0,2,3,5,7,9,11],"let":[0,2,5,6,9,10],"level":[3,5,9,10],"liber":3,"liberapai":8,"libffi":2,"librari":2,"licens":9,"light":10,"lightweight":11,"like":[0,2,3,5,6,7,9,10,11],"limit":[0,2,3,4,6,9],"line":[0,2,4,5,6,9,10,11],"linger":10,"link":[2,3,4,5,6,7,10,11],"link_clos":0,"link_establish":0,"link_id":[0,7],"link_mtu_discoveri":7,"linkexampl":0,"linux":[2,3,5,9],"list":[0,2,3,5,7,9,11],"list_deliv":0,"list_fil":0,"list_packet":0,"list_receipt":0,"list_timeout":0,"listdir":0,"listen":[0,4,9,10],"listen_ip":5,"listen_on":[2,5],"listen_port":5,"littl":[3,9],"live":7,"lki":9,"lkr":9,"ll":[0,2,11],"ln":[2,10],"load":[0,2,3,7,10,11],"load_private_kei":7,"load_public_kei":7,"local":[0,2,5,6,7,9,10,11],"locat":[2,5,6,9,10],"log":[0,2,5,10],"log_crit":0,"log_error":0,"log_info":0,"log_verbos":0,"logdest":7,"loginctl":10,"loglevel":[0,7,10],"long":[0,2,3,5,7,9],"longer":[0,2,6,9,10],"longest":5,"look":[0,2,5,9,10],"loop":0,"lora":[2,3,4,9,11],"lorawan":[3,9],"loss":[5,9],"lot":9,"low":[2,3,5,6,9,11],"lower":[0,2,5,10],"ltu":3,"lunar":4,"lxmf":[2,7,10],"m":[0,2,9,10],"mac":[5,9],"machin":[2,9],"maco":4,"made":[2,7,9],"mai":[2,5,7,9,10],"main":0,"mainli":6,"maintain":[2,9],"make":[0,2,3,5,8,9,10,11],"malici":9,"manag":[2,4,6,7,9,11],"mani":[0,2,3,5,6,7,9,10,11],"manipul":[9,11],"manjaro":2,"manner":6,"manual":[0,2,5,6,7,10],"manufactur":[3,5],"mark":[7,9],"markqvist":[0,2,8],"master":[0,7],"match":[0,5,9,10],"matter":[2,5],"max":10,"maximum":[0,5,7,9,10],"mbp":10,"mdu":[0,7],"mean":[3,5,6,7,9,10],"meantim":7,"measur":9,"mechan":[4,5,11],"medium":[0,3,5,6,7,9,11],"member":6,"memori":[2,9],"mention":[5,9],"menu":0,"menu_mod":0,"mesh":[2,5,6,11],"meshchat":4,"messag":[0,2,7,9,10],"message_class":7,"messagebas":[0,4,7],"messagecallbacktyp":7,"messeng":9,"metadata":[2,9],"metavar":0,"meth":0,"method":[0,2,5,7,9],"methodologi":[9,10],"mhz":[5,9],"mi":0,"microcontrol":9,"might":[2,5,6,9,10],"mikrotik":3,"millimet":3,"millisecond":[0,10],"mind":[6,11],"minim":[3,4,9],"minimalsampl":0,"minimum":[0,5,6,7,9],"minimum_bitr":7,"minut":[0,2,5,9],"mirror":10,"mislead":2,"miss":[0,2],"mix":[2,5,6,10],"mixtur":11,"mobil":[5,9],"mode":[0,2,3,4,7,9,10,11],"model":10,"modem":[4,5,6,7,9,11],"moder":5,"modern":3,"modifi":[5,9,10],"modul":[0,2,3,5,9,10,11],"moment":9,"momentarili":5,"monero":8,"monitor":9,"moon":0,"more":[0,2,3,5,6,7,9,10,11],"most":[2,3,5,6,7,9,10],"mostli":[5,6,9],"motiv":4,"move":[2,5,9,10],"msgtype":[0,7],"mtu":[0,7,9,11],"much":[2,5,6,9,10,11],"multi":[4,9,10,11],"multicast":5,"multicast_address_typ":5,"multilater":9,"multipl":[0,5,6,9,10],"multiplex":0,"multipoint":9,"must":[0,2,5,6,7,9,10],"mw":5,"my":9,"my_fil":10,"my_ident":10,"mycal":5,"myriad":9,"n":[0,9,10],"name":[0,2,4,5,6,7],"namespac":0,"nano":2,"narg":0,"nat":2,"nativ":0,"natur":5,"nearbi":5,"nears":9,"neccessari":5,"necesarri":5,"necessari":[2,3,5,6,7,9],"necessarili":9,"need":[0,2,3,4,5,6,7,9,10,11],"neg":2,"neglig":9,"neither":[7,9],"neon":0,"neopixel":10,"net":5,"netcat":5,"network":[0,3,5,7,9,10,11],"network_nam":[2,5],"never":[5,7,9],"new":[0,4,6,7,9,10],"new_id":10,"new_ident":10,"newer":[7,9],"newest":9,"newli":[5,6,7,9],"next":[2,6,7,9],"next_hop":7,"next_hop_interfac":7,"nicknam":9,"no1cll":5,"no_data_for":7,"no_inbound_for":7,"no_outbound_for":7,"noauth":10,"nobl":0,"noble_ga":0,"noble_gas":0,"nocheck":10,"node":[2,4,5,6,10,11],"noid":10,"nois":7,"nomad":4,"nomadnet":2,"non":[2,7,9],"none":[0,2,5,7,9,10],"normal":[0,2,5,7,10],"notat":[9,10],"note":[0,3,4,5,7,9,10],"noth":[3,11],"notic":[9,10],"notif":[0,7],"now":[0,2,6,9,10],"np":10,"nrf52":3,"nt":0,"num":0,"number":[0,2,5,6,7,9,10],"o":[0,2,5,9,10,11],"object":[0,7],"obscur":2,"obtain":[3,7,9],"obvious":9,"occasion":2,"occur":[0,5,10,11],"ocur":7,"odd":0,"off":[5,9,10,11],"offer":[2,4,5,7,9],"offlin":[0,2],"often":[2,5,6,9,10],"oganesson":0,"old":[0,3,8,9],"older":10,"omit":7,"on_interfac":7,"onc":[0,2,3,5,6,7,9,10,11],"one":[0,2,3,5,6,7,9,10,11],"ones":[5,10],"oneself":9,"onli":[0,2,3,5,6,7,9,10,11],"onlin":[0,10],"onto":[2,9],"open":[0,2,3,5,6,7,8,9,10,11],"open_port":0,"openmodem":[5,11],"openssl":[2,9],"openwrt":4,"oper":[2,3,5,6,7,9,10,11],"opkg":2,"opposit":[0,5],"opt":9,"optic":[3,11],"optim":6,"option":[0,2,3,4,6,7,9,10],"ord":0,"order":[0,7,10],"organ":6,"organis":[5,6,8],"orient":9,"origin":[0,6,9],"os":2,"other":[0,2,3,5,6,7,9,10],"otherwis":[0,7],"our":[0,9],"out":[0,2,3,5,6,7,9,10,11],"outbound":[7,9],"outgo":[0,5,7,9,10],"outli":6,"outlier":6,"outlin":[2,3,9],"output":[5,10],"outsid":[7,11],"over":[0,3,4,5,7,9,10,11],"overal":9,"overcom":9,"overhead":[2,3,5,9],"overlai":2,"overrid":0,"oversight":9,"overview":[4,5,9],"overwhelm":[5,7],"overwrit":10,"own":[0,2,6,7,9,10,11],"owner":0,"p":[0,10],"pack":[0,7],"packag":[0,2,5,9],"packb":0,"packed_s":0,"packet":[0,2,4,5,6,7,10,11],"packet_callback":0,"packet_deliv":0,"packet_hash":0,"packet_receipt":[0,7],"packet_timed_out":0,"packetreceipt":[0,4,7],"pad":[9,11],"page":[2,4,9],"pair":[5,7,9,10],"pamac":2,"panic":[0,10],"panic_on_interface_error":[0,10],"paper":2,"par":[0,2],"parallel":2,"param":0,"paramet":[0,3,5,6,7,9,10],"pariti":[0,5,10],"parity_even":0,"parity_non":0,"parity_odd":0,"pars":0,"parse_arg":0,"parser":0,"part":[0,5,6,7,9,10],"particip":[4,6,9],"particular":[0,3,9],"pass":[0,3,5,6,7,9,10],"passphras":[2,5,9],"path":[0,2,3,5,7,9,10],"path_respons":7,"pathfinder_m":7,"pattern":[3,9],"payload":[0,7,9,10],"pdf":4,"peach":0,"peer":[0,2,5,7,9,10],"penalti":5,"pend":0,"peopl":[2,9],"per":[5,7,9,10,11],"percent":[0,5],"percentag":7,"perfectli":2,"perform":[0,2,5,6,7,9,10],"period":[0,5,7,9],"perman":[5,10],"permissionless":9,"persecut":9,"persist":[5,10],"person":[5,9],"perspect":[5,7,9,11],"pet":0,"philosophi":9,"phy":10,"physic":[0,2,3,5,7,9,10,11],"pi":[0,4,6,9,10,11],"pick":9,"piec":9,"ping":[2,10],"pip":[0,2,3,10],"pip3":2,"pipe":[2,4,11],"pipeinterfac":[3,5],"pipx":2,"pitfal":9,"pkcs7":[9,11],"pkg":2,"place":[0,2,5,6,9,10],"plaform":3,"plain":[0,3,5,7,9],"plain_mdu":7,"plaintext":[0,7],"plan":[6,9],"planetari":11,"platform":[0,3,4,9,10],"pleas":[0,2,5,7,10,11],"plenti":9,"plug":10,"pmr":9,"point":[2,3,5,6,9,10],"pointer":2,"pomelo":0,"poorli":6,"popul":7,"popular":11,"port":[0,2,3,4,5,6,9,11],"port0":10,"portabl":[5,9],"pose":[2,9],"posit":[0,10],"posix":2,"possess":9,"possibl":[2,3,5,6,7,9,10,11],"possibli":[2,9],"post":0,"postfix":10,"potenti":[0,2,5,8,9,10,11],"power":[2,3,5,9,10,11],"powershel":2,"ppp":0,"practic":[2,9,11],"pre":[2,7,9],"preambl":[5,10],"preced":0,"precompil":2,"predict":9,"prefer":[2,9],"prefer_ipv6":5,"prepar":[0,6],"prerequisit":7,"presenc":7,"present":5,"preserv":[2,7],"preshar":9,"press":0,"pretend":9,"pretti":9,"prettyhexrep":0,"previou":0,"previous":[5,6,7,9],"primari":9,"primarili":5,"primit":[2,4],"principl":[9,11],"print":[0,5,10],"print_filelist":0,"print_help":0,"print_menu":0,"prioriti":9,"prioritis":[4,5,6,7],"privaci":11,"privat":[2,5,7,8,9,10,11],"private_ret":2,"privileg":10,"probabl":[0,2,6,9,10,11],"probe":10,"problem":[2,9],"proc":10,"procedur":[2,7,9],"process":[0,2,3,5,7,9],"process_incom":0,"process_outgo":0,"product":10,"program":[0,3,4,5,7,9,11],"program_setup":0,"programm":9,"programmat":9,"progress":[0,7,10,11],"progress_callback":7,"project":2,"prompt":[0,2],"proof":[0,7,9,10],"proof_packet":0,"proof_requested_callback":7,"proof_strategi":7,"propag":[4,5,7],"proper":2,"properti":[0,6,7],"proport":9,"propos":2,"protocol":[2,3,4,5,11],"prove":[0,9],"prove_al":[0,7],"prove_app":7,"prove_non":7,"proven":[7,9],"provid":[0,2,3,4,5,6,7,9,11],"provis":[3,10],"prv_byte":7,"pseudo":10,"pub_byt":7,"public":[0,4,5,7,10],"public_inform":0,"publicli":[2,5],"pull":2,"purchas":[2,6,9,11],"pure":[4,9],"purg":7,"purpos":[2,3,5,7,9,10],"put":[0,3,5,10],"py":[0,2,9,10],"py3":2,"pyca":[2,9],"pyseri":[0,2],"python":[0,4,7,9,10,11],"python3":[0,2,3],"q":[0,10],"qr":2,"qualiti":7,"queri":[0,2,7,10],"question":[2,3,5],"queu":[7,10],"queue":[5,9],"quickli":[8,9,11],"quiet":[5,10],"quinc":0,"quirk":2,"quit":[0,2],"r":[0,5,9,10],"radio":[4,5,6,7,9,10,11],"radon":0,"rais":[0,7],"rak":3,"ram":[2,5],"randint":0,"random":[0,7,9],"random_text_gener":0,"randomis":9,"randomli":[0,9],"rang":[0,2,3,5,6,9,10,11],"rapidli":5,"rare":[2,5],"raspberri":[4,6,9,10,11],"rasperri":2,"ratchet":[7,9],"ratchet_count":7,"ratchet_expiri":7,"ratchet_id_receiv":7,"ratchet_interv":7,"ratchets":7,"ratchets_path":7,"rate":[0,4,7,10],"rather":[2,7],"ratio":7,"raw":[0,3,7],"rawchannelread":[4,7],"rawchannelwrit":[4,7],"rawiobas":7,"rb":0,"re":[0,5,7,9],"reach":[2,4,5,6],"reachabl":[0,2,5,6,7,9,10],"read":[0,2,5,7,9,10],"read_loop":0,"readabl":[0,7,9],"reader":[0,7],"readi":[0,2,3,5,6,7,11],"readili":11,"ready_byt":[0,7],"ready_callback":7,"real":[3,6,11],"realiti":8,"realli":[5,7],"reappear":5,"reason":[2,5,9],"reassembl":9,"reboot":2,"recal":[0,7,10],"recall_app_data":7,"recap":9,"receipt":[0,7,9],"receiv":[0,2,5,7,9,10],"receive_path_respons":7,"receive_stream_id":7,"received_announc":[0,7],"recent":[7,9],"recept":7,"reception_rssi":0,"reception_snr":0,"reception_stat":0,"recip":2,"recipi":9,"recommend":[0,2,5,9],"recondit":10,"reconnect":0,"reconnect_port":0,"reconstruct":9,"record":[2,9],"recoveri":5,"recreat":9,"recurs":7,"redund":2,"refer":[0,2,4],"regard":9,"regist":[0,7],"register_announce_handl":[0,7],"register_message_typ":[0,7],"register_request_handl":[0,7],"regul":5,"regular":10,"rel":[3,5,9],"relai":2,"relat":2,"releas":[2,5,7,9],"relev":[0,3,5,7,9,10],"reli":[8,9],"reliabl":[3,5,6,7,9,11],"reload":10,"rem":0,"remain":[5,7,9],"rememb":[7,9],"remot":[0,4,7],"remote_ident":[0,7],"remote_identifi":0,"remote_management_allow":10,"remote_management_en":7,"remote_p":0,"remotesensor":9,"remov":[7,10],"remove_message_handl":7,"remove_ready_callback":7,"render":2,"repeat":2,"replac":[0,2,7,9,10],"repli":[0,10],"replic":[3,9],"reply_data":0,"reply_messag":0,"reply_text":0,"report":[5,7,8,10],"repositori":[2,8,9],"repres":9,"represent":[0,7],"request":[2,4,5,7,9,10,11],"request_destin":0,"request_fail":0,"request_id":[0,7],"request_packet":0,"request_path":[0,7],"request_receipt":[0,7],"request_receiv":0,"requested_at":[0,7],"requestexampl":0,"requestor":5,"requestreceipt":[4,7],"requir":[0,2,5,6,7,9,10,11],"require_shared_inst":7,"research":11,"resend":7,"reserv":[0,7],"resid":5,"resili":11,"resolut":2,"resolv":[4,5,10],"resourc":[0,2,4,5,7,8],"resource_callback":7,"resource_sending_conclud":0,"resource_strategi":7,"respawn":5,"respawn_delai":5,"respawn_interv":5,"respect":[5,11],"respond":[0,7,10],"respond_to_prob":10,"respons":[4,5,7,9,11],"response_callback":[0,7],"response_gener":[0,7],"rest":[6,11],"restart":10,"restartsec":10,"restor":[2,5],"restrict":[6,10],"result":[0,5,9,10],"retain":[5,7],"retained_ratchet":7,"reticulum":[0,5,6,7],"retransmiss":9,"retransmit":[5,9],"retri":[0,7,9],"retriev":7,"return":[0,7,10],"reveal":[2,7,9,11],"revers":10,"review":[9,11],"revis":10,"rfe":10,"ridicul":9,"right":[5,6],"risc":4,"risk":9,"rn":[0,2,3,7,9,10],"rncp":4,"rnid":4,"rnode":[2,4,9,10,11],"rnodeconf":[3,4],"rnodef3b9":5,"rnodeinterfac":[3,5,10],"rnodemultiinterfac":5,"rnpath":[2,4,5],"rnprobe":[2,4],"rns_bin_dir":10,"rnsd":[2,4],"rnsh":[2,10],"rnspure":2,"rnstatu":[2,4,5,9],"rnstransport":10,"rnx":4,"roadmap":8,"roam":5,"robot":9,"roll":5,"rom":10,"rotat":[7,9,10],"round":[0,7,10],"rout":[2,3,5,6,7,9,10,11],"router":[5,10],"rpc":10,"rpc_kei":10,"rprogress":0,"rssi":[0,7,10],"rtsct":0,"rtt":[0,7,9],"rttstring":0,"rule":[2,4,5],"run":[0,2,3,5,6,7,9,10,11],"runtim":[0,9],"rust":2,"rx":[5,10],"rxb":0,"safe":9,"sai":2,"said":9,"same":[0,2,3,5,6,7,9,10],"satisfi":9,"save":[7,9,10],"save_error":0,"saved_filenam":0,"scalabl":11,"scale":[9,11],"scan":5,"scenario":[2,4,9],"schedul":7,"scheme":3,"scope":5,"scratch":3,"screen":0,"script":[2,3],"scrutini":9,"seamlessli":5,"search":[4,7],"second":[0,5,7,9,10,11],"secreci":[7,9,11],"section":[2,3,5,6,9,10],"secur":[2,9,11],"see":[0,2,5,6,7,9,10,11],"seek":9,"seen":[5,9],"segment":[0,5,6,7,9,11],"select":[0,5],"self":[0,6,11],"semtech":3,"send":[0,5,7,9,10],"send_stream_id":7,"sender":[0,2,6,9,10],"sensibl":[2,3,5],"sensor":9,"sent":[0,2,7,9,10],"sentiment":9,"separ":[0,2,5,6,9,10],"sequenc":[0,7,9,11],"sequenti":11,"seri":3,"serial":[0,2,4,9,11],"serialinterfac":[3,5],"serv":[0,3,5,6,9,10],"serve_path":0,"server":[0,2,3,4,7,10],"server_buffer_readi":0,"server_callback":0,"server_client_connect":0,"server_destin":0,"server_fil":0,"server_ident":0,"server_link":0,"server_loop":0,"server_message_receiv":0,"server_packet_receiv":0,"servic":[2,4,6],"session":[2,9],"set":[0,2,3,5,6,7,9,10,11],"set_default_app_data":7,"set_delivery_callback":[0,7],"set_link_closed_callback":[0,7],"set_link_established_callback":[0,7],"set_packet_callback":[0,7],"set_proof_requested_callback":7,"set_proof_strategi":[0,7],"set_ratchet_interv":7,"set_remote_identified_callback":[0,7],"set_resource_callback":7,"set_resource_concluded_callback":[0,7],"set_resource_started_callback":[0,7],"set_resource_strategi":[0,7],"set_retained_ratchet":7,"set_timeout":[0,7],"set_timeout_callback":[0,7],"setup":[0,2,4,5,10],"sever":[2,6,7,10],"sf":10,"sha":[7,9],"sha256":[9,11],"shall":9,"share":[0,2,6,7,9,10],"share_inst":10,"shared_instance_port":10,"shared_instance_typ":[7,10],"she":6,"shelf":[9,11],"shell":[4,10],"ship":2,"shop":0,"short":[3,5,9,10],"shorter":5,"shortest":9,"shorthand":[5,10],"shot":2,"should":[0,2,5,6,7,9,10,11],"should_ingress_limit":0,"should_quit":0,"should_use_implicit_proof":7,"show":[2,10],"shown":0,"side":[5,11],"sideband":4,"sight":6,"sign":[7,9,10],"signal":[0,7,9],"signatur":[7,9,10,11],"significantli":[5,7],"silent":10,"similar":[0,2,3,5,6,7,10,11],"simpl":[0,3,7,9,10,11],"simpler":[5,11],"simplest":[5,9],"simpli":[0,2,3,5,6,9,10],"simplic":9,"simplifi":0,"simplyequip":3,"simultan":[2,9],"sinc":[0,2,5,6,7,9],"singl":[0,5,7,9,10,11],"singular":9,"site":[4,5],"situat":[2,3,5,6,9],"size":[0,2,5,7,9,10],"size_str":0,"skip":0,"sleep":[0,10],"slice":0,"slightli":[0,2],"slottim":[5,10],"slow":[0,5,9],"slower":[5,7,9],"small":[0,2,5,6,7,9,11],"smaller":7,"snippet":2,"snr":[0,7,10],"so":[0,2,3,5,6,7,8,9,10,11],"socket":[5,10,11],"softwar":[2,3,5,9],"solut":[2,9,10],"solv":9,"some":[0,2,3,5,6,7,9,10],"someon":[2,5],"someth":9,"somethign":0,"sometim":[3,5],"somewhat":2,"soon":7,"sort":[5,9,10],"soundmodem":5,"sourc":[0,2,3,6,9,11],"sovereignti":11,"space":[0,2,3,6,9,11],"spam":5,"span":[5,9],"spawn":5,"spe":5,"spec":9,"special":[9,10],"specif":[0,3,4,5,7,10],"specifi":[0,2,3,5,6,7,10],"spectrum":[5,9],"speed":[0,5,7,9,10],"split":0,"sponsor":[8,11],"spread":[5,10],"spreadingfactor":5,"squelch":5,"ssh":2,"ssid":5,"stabl":[9,11],"stack":[0,2,6,7,9,10,11],"stage":9,"stai":[0,9,10],"stale":7,"stale_grac":7,"stale_tim":7,"standalon":4,"standard":[3,9],"start":[0,3,4,5,7,9,10],"startup":[0,2,10],"stat":[7,10],"state":0,"static":7,"staticmethod":0,"station":5,"stationari":[6,10],"statist":[0,5,7,8],"statu":[0,2,4,5,7,9,10],"stderr":10,"stdin":[5,10],"stdio":11,"stdout":[0,5,10],"step":[0,2,3],"still":[0,2,5,6,9,10],"stock":0,"stop":[7,11],"stopbit":[0,5,10],"storag":2,"store":[0,7,9,10],"store_tru":0,"str":0,"straightforward":5,"strategi":[5,7],"stream":[0,7,9],"stream_id":[0,7],"strength":[7,11],"strictli":[5,9],"string":[0,7],"stringmessag":0,"strong":9,"struct":0,"structur":[0,7,9,11],"sub":[0,5],"subclass":[0,7],"subinterfac":5,"subject":[2,11],"submit":2,"subnet":[2,6],"subsequ":[0,9],"subset":5,"subsid":5,"succe":2,"succeed":[0,7],"successful":7,"successfulli":[0,7,9],"sudo":[2,10],"suffic":9,"suffici":[2,5,9,10],"suffix":0,"suggest":8,"suit":[2,3,9,10],"suitabl":[0,2,5,6,9,11],"super":0,"suppli":[0,5,6,7,9,11],"supplier":2,"support":[0,2,4,5,6,7,9,10,11],"sure":[0,2,3,10],"surveil":9,"surviv":9,"switch":[3,5,9,10],"sx1262":3,"sx1268":3,"sx1276":3,"sx1278":3,"sx1280":3,"sy":0,"symlink":[2,10],"symmetr":[7,9],"system":[0,2,3,4,5,6,7,8,9,11],"systemctl":10,"systemd":10,"t":[0,2,5,6,7,10],"tabl":[2,5,6,9,10],"tag":7,"tail":5,"tailor":9,"take":[0,2,5,9,10,11],"taken":[0,9],"tangerin":0,"tap":3,"target":[0,5,10],"target_hash":7,"target_host":[2,5],"target_port":[2,5],"task":10,"tcp":[2,3,4,6,9,10,11],"tcpclientinterfac":[2,3,5],"tcpinterfac":10,"tcpserverinterfac":[2,5],"tdata":0,"teach":10,"teardown":[0,7],"teardown_reason":0,"teffect":0,"telemetri":8,"tell":[0,5],"temperatur":9,"temporari":5,"temporarili":5,"ten":9,"tend":5,"term":[5,6,9],"termin":[0,2,7],"terminologi":[6,9],"termux":2,"test":[2,9,10],"testnet":[4,10],"text":[0,2,6,9],"tfile":0,"tgz":10,"than":[0,2,5,6,7,9,10,11],"thei":[0,2,5,6,7,9,10],"them":[0,2,3,5,6,8,9,10,11],"themselv":5,"thereaft":9,"therefor":[2,9,11],"thi":[0,2,3,4,5,6,7,9,10,11],"thing":[0,2],"think":[2,3],"thorough":11,"those":[6,9],"though":[2,5,9],"thousand":[2,5,9],"thread":0,"three":[2,6,9],"threshold":5,"throough":5,"throttl":6,"through":[0,2,3,5,6,7,9,10,11],"throughout":9,"throughput":[7,9,11],"thrown":7,"thu":[6,7,9],"ti":[0,9],"time":[0,2,3,5,6,7,9,10],"time_since_last":0,"timeout":[0,7,10],"timeoutarg":0,"timestamp":[0,9],"timestr":0,"tion":5,"tnc":[3,5,7,10,11],"to_fil":7,"todai":9,"togeth":[3,9,10],"token":[7,9,11],"toler":5,"too":[0,6],"tool":[2,3,9,10,11],"top":[6,9],"topic":9,"topographi":[2,6,9],"topologi":[5,9,11],"torn":7,"total":[7,9,11],"total_s":0,"touch":11,"toward":[0,5,9],"track":7,"track_phy_stat":7,"trade":9,"tradit":[6,9],"traffic":[0,2,5,6,7,9,10],"transceiv":[2,3,5,9,11],"transfer":[0,7,9,10,11],"transfer_s":0,"transform":11,"transmiss":[2,5,7,9],"transmit":[0,5,9],"transpar":[3,5,9,10],"transport":[0,2,4,5,6,7,10,11],"transport_en":7,"travers":[7,9],"treat":9,"tri":0,"trip":[0,7,10],"trivial":[9,11],"true":[0,2,5,7,10],"truli":[3,9],"truncat":[7,9,10],"truncated_hash":7,"truncated_hashlength":[0,7],"trust":[9,10],"trustless":[6,9,11],"try":[0,4,5,7],"ttime":0,"ttransfer":0,"ttyacm0":5,"ttyusb0":[0,5,10],"ttyusb1":5,"ttyusb2":5,"tun":[3,5],"tun0":5,"tunnel":[5,9,11],"tupl":7,"turn":[0,5,10],"turnaround":5,"tutori":2,"two":[0,3,5,6,7,9],"tx":[5,10],"txb":0,"txp":10,"txpower":5,"txt":10,"txtail":[5,10],"type":[0,2,4,5,6,7,10],"typeerror":7,"u":[8,9,10],"ubiqu":3,"ubuntu":[4,10],"uci":2,"udp":[4,6,9,10,11],"udpinterfac":5,"uhf":[10,11],"ultim":9,"umsgpack":0,"uncencrypt":0,"uncensor":2,"under":[7,8,10,11],"underli":[0,5,6,7,11],"understand":[2,4,7,10],"underwai":2,"unencrypt":[0,7,9],"unequivoc":9,"unexplor":6,"unforg":11,"unfortun":2,"unidentifi":0,"unidirect":0,"unifi":6,"uninterest":0,"uniqu":[0,5,7,9,10,11],"unit":[0,2,7,10],"unknown":[0,5,7,9,10],"unless":[0,2,5,7,9],"unlicens":9,"unlik":9,"unlock":10,"unorganis":6,"unpack":[0,7],"unpackb":0,"unplug":10,"unrecover":[0,10],"unreli":5,"unset":9,"unsupport":7,"until":[0,2,5,7],"unus":10,"unwant":9,"up":[0,2,3,5,6,7,9,10,11],"updat":[0,2,7,9,10],"upgrad":[2,7,9],"upkeep":5,"upon":[0,5,9],"upset":0,"urandom":[9,11],"url":10,"us":[0,3,4,5,6,7,9],"usabl":[5,9],"usag":[2,4,5,7,8,10],"usb":[3,6,9,10],"useabl":9,"user":[0,2,5,6,9,10,11],"user_input":0,"userland":11,"usernameher":10,"usr":10,"usual":2,"utf":0,"util":[0,3,4,5,9],"utilis":[0,2,5,6,7,9,10,11],"v":[4,10],"valid":[0,5,7,9,10],"valu":[0,5,7,9,10],"valuabl":[3,8],"valueerror":[0,7],"vari":[2,5,9,10],"variabl":[0,2,7],"varieti":[5,9,10,11],"variou":[0,2,5,6,9,10,11],"vast":9,"ve":2,"vehicl":5,"vendor":[0,3,11],"verbos":[7,10],"veri":[2,3,5,6,7,8,9,10,11],"verif":[7,9,10],"verifi":[0,2,7,9,10,11],"versa":[6,11],"version":[0,2,7,9,10],"vhf":[6,9,11],"via":[2,3,5,8,9,10,11],"vice":[6,11],"view":[2,5,9,10],"violat":5,"virtual":[2,3,5,6,9,10,11],"visibl":0,"volunt":2,"vport":5,"vvv":2,"w":10,"wa":[0,3,5,6,7,9,10,11],"wai":[0,2,5,6,7,9,10],"wait":[0,5,9,10],"want":[0,2,5,6,9,10,11],"wantedbi":10,"warn":10,"warrant":11,"wast":5,"wave":3,"wb":0,"we":[0,2,3,5,8,9],"weaken":9,"websit":[2,5],"weight":10,"weird":2,"welcom":2,"well":[2,3,5,6,7,9,10,11],"went":0,"were":[0,6],"what":[0,2,4,5,7,9],"whatev":[7,9],"wheel":2,"when":[0,2,3,5,6,7,9,10],"whenev":[0,7,9],"where":[2,3,4,5,6,7,9,10],"whereupon":9,"whether":[0,2,5,7,9],"which":[0,2,5,6,7,9,10],"while":[0,2,3,5,6,7,9,11],"whl":2,"who":[2,5,9],"whole":10,"wide":[2,3,5,9,10,11],"wider":[2,5,9,10],"wifi":[2,4,5,6,9,10,11],"wiki":2,"wildcard":0,"willing":6,"window":[4,5],"wipe":10,"wire":[2,3,4,5,11],"wireless":[3,6],"wirelessli":5,"wish":[0,9,10],"within":[0,2,5,6,7,9],"without":[0,2,3,5,6,9,10,11],"wlan0":5,"wolf":3,"won":0,"word":2,"work":[2,3,5,6,9,10,11],"world":[3,5,6,11],"worri":6,"worth":2,"would":[2,5,6,7,9],"write":[0,2,3,5,7,9,10],"write_timeout":0,"writer":[0,7],"written":[0,9],"wrong":[0,5],"wrote":[0,5],"x":[7,9,10],"x25519":[9,11],"xenon":0,"xonxoff":0,"y":0,"ye":[2,5,9,10],"year":9,"yet":[0,5,9,11],"yggdrasil":5,"yi":0,"you":[0,2,3,4,5,6,7,8,9,10,11],"your":[0,2,3,4,5,6,7,8,9,11],"yourself":[2,9,11],"z":0,"zero":[7,11],"zi":0,"zshrc":2},"titles":["Code Examples","An Explanation of Reticulum for Human Beings","Getting Started Fast","Communications Hardware","Reticulum Network Stack Manual","Configuring Interfaces","Building Networks","API Reference","Support Reticulum","Understanding Reticulum","Using Reticulum on Your System","What is Reticulum?"],"titleterms":{"0":3,"1":3,"25":5,"Beings":1,"Of":4,"The":[9,10],"With":2,"access":9,"ad":2,"an":1,"android":2,"announc":[0,5,9],"api":7,"arm64":2,"auto":5,"ax":5,"backbon":5,"base":[2,3],"basic":9,"beam":3,"board":3,"bookworm":2,"bridg":6,"broadcast":0,"buffer":0,"build":6,"can":11,"caveat":11,"channel":0,"client":5,"code":[0,8,9],"combin":3,"common":5,"commun":3,"concept":6,"configur":[5,10],"connect":[2,5],"content":4,"contribut":8,"control":5,"converg":6,"creat":[2,3],"cryptograph":9,"current":11,"custom":[0,2,5],"data":10,"debian":2,"deck":3,"depend":2,"destin":[5,9],"detail":9,"develop":2,"devic":[3,11],"doe":11,"donat":8,"echo":[0,3],"emptor":11,"entrypoint":2,"establish":9,"ethernet":3,"exampl":[0,6],"explan":1,"fast":2,"feedback":8,"filetransf":0,"fix":10,"format":9,"function":9,"further":9,"get":[2,9],"goal":9,"growth":6,"hardwar":3,"heltec":3,"host":2,"human":1,"i":11,"i2p":5,"ident":9,"identif":0,"improv":10,"includ":[2,10],"indic":4,"instal":[2,3],"instanc":2,"interconnect":6,"interfac":[0,2,5,9,11],"internet":[2,6],"introduct":9,"issu":2,"kei":9,"kiss":5,"lilygo":3,"limit":5,"line":3,"link":[0,9],"listen":5,"lora":[5,6],"lora32":3,"lunar":2,"maco":2,"manag":10,"manual":4,"mechan":9,"meshchat":2,"minim":0,"mode":5,"modem":3,"motiv":9,"multi":5,"name":[9,10],"network":[2,4,6],"new":5,"node":9,"nomad":2,"note":2,"offer":11,"opencom":3,"openwrt":2,"option":5,"over":[2,6],"overview":6,"packet":[3,9],"particip":2,"pi":2,"pipe":5,"platform":2,"port":10,"primit":9,"prioritis":9,"program":[2,10],"propag":9,"protocol":9,"provid":8,"public":[2,9],"pure":2,"python":2,"radio":[2,3],"rak4631":3,"raspberri":2,"rate":5,"reach":9,"refer":[7,9],"remot":[2,5,10],"request":0,"resolv":2,"resourc":9,"respons":0,"reticulum":[1,2,3,4,8,9,10,11],"risc":2,"rncp":10,"rnid":10,"rnode":[3,5],"rnodeconf":10,"rnpath":10,"rnprobe":10,"rnsd":10,"rnstatu":10,"rnx":10,"rule":9,"scenario":6,"serial":[3,5,10],"server":5,"servic":10,"setup":9,"shell":2,"sideband":2,"site":6,"specif":[2,9],"stack":4,"standalon":2,"start":2,"statu":11,"support":[3,8],"suprem":3,"system":10,"systemwid":10,"t":3,"t114":3,"t3s3":3,"tabl":4,"tcp":5,"testnet":2,"transport":9,"try":2,"type":[3,9,11],"ubuntu":2,"udp":5,"understand":9,"unsign":3,"us":[2,10,11],"usag":3,"userspac":10,"util":[2,10],"v":2,"v1":3,"v2":3,"v3":3,"v4":3,"what":11,"where":11,"wifi":3,"window":2,"wire":9,"x":3,"xl":3,"your":10}}) \ No newline at end of file +Search.setIndex({"alltitles":{"API Reference":[[7,null]],"ARM64":[[2,"arm64"]],"AX.25 KISS Interface":[[5,"ax-25-kiss-interface"]],"Adding Radio Interfaces":[[2,"adding-radio-interfaces"]],"An Explanation of Reticulum for Human Beings":[[1,null]],"Android":[[2,"android"]],"Announce":[[0,"announce"]],"Announce Propagation Rules":[[9,"announce-propagation-rules"]],"Announce Rate Control":[[5,"announce-rate-control"]],"Auto Interface":[[5,"auto-interface"]],"Backbone Interface":[[5,"backbone-interface"]],"Bridging Over the Internet":[[6,"bridging-over-the-internet"]],"Broadcast":[[0,"broadcast"]],"Buffer":[[0,"buffer"]],"Building Networks":[[6,null]],"Caveat Emptor":[[11,"caveat-emptor"]],"Channel":[[0,"channel"]],"Code Examples":[[0,null]],"Combining Hardware Types":[[3,"combining-hardware-types"]],"Common Interface Options":[[5,"common-interface-options"]],"Communications Hardware":[[3,null]],"Concepts & Overview":[[6,"concepts-overview"]],"Configuration & Data":[[10,"configuration-data"]],"Configuring Interfaces":[[5,null]],"Connect to the Public Testnet":[[2,"connect-to-the-public-testnet"]],"Connecting Remotes":[[5,"connecting-remotes"]],"Connecting Reticulum Instances Over the Internet":[[2,"connecting-reticulum-instances-over-the-internet"]],"Contribute Code":[[8,"contribute-code"]],"Creating RNodes":[[3,"creating-rnodes"]],"Creating a Network With Reticulum":[[2,"creating-a-network-with-reticulum"]],"Creating and Using Custom Interfaces":[[2,"creating-and-using-custom-interfaces"]],"Cryptographic Primitives":[[9,"cryptographic-primitives"]],"Current Status":[[11,"current-status"]],"Custom Interfaces":[[0,"custom-interfaces"],[5,"custom-interfaces"]],"Debian Bookworm":[[2,"debian-bookworm"]],"Destination Naming":[[9,"destination-naming"]],"Destinations":[[9,"destinations"]],"Develop a Program with Reticulum":[[2,"develop-a-program-with-reticulum"]],"Donations":[[8,"donations"]],"Echo":[[0,"echo"]],"Ethernet-based Hardware":[[3,"ethernet-based-hardware"]],"Example Scenarios":[[6,"example-scenarios"]],"Filetransfer":[[0,"filetransfer"]],"Fixed Serial Port Names":[[10,"fixed-serial-port-names"]],"Getting Further":[[9,"getting-further"]],"Getting Started Fast":[[2,null]],"Goals":[[9,"goals"]],"Growth and Convergence":[[6,"growth-and-convergence"]],"Heltec LoRa32 v2.0":[[3,"heltec-lora32-v2-0"]],"Heltec LoRa32 v3.0":[[3,"heltec-lora32-v3-0"]],"Heltec LoRa32 v4.0":[[3,"heltec-lora32-v4-0"]],"Heltec T114":[[3,"heltec-t114"]],"Hosting Public Entrypoints":[[2,"hosting-public-entrypoints"]],"I2P Interface":[[5,"i2p-interface"]],"Identification":[[0,"example-identify"]],"Identities":[[9,"understanding-identities"]],"Improving System Configuration":[[10,"improving-system-configuration"]],"Included Utility Programs":[[10,"included-utility-programs"]],"Indices and Tables":[[4,"indices-and-tables"]],"Installation":[[3,"installation"]],"Interconnected LoRa Sites":[[6,"interconnected-lora-sites"]],"Interface Access Codes":[[9,"interface-access-codes"]],"Interface Modes":[[5,"interface-modes"]],"Interface Types and Devices":[[11,"interface-types-and-devices"]],"Introduction & Basic Functionality":[[9,"introduction-basic-functionality"]],"KISS Interface":[[5,"kiss-interface"]],"LilyGO LoRa32 v1.0":[[3,"lilygo-lora32-v1-0"]],"LilyGO LoRa32 v2.0":[[3,"lilygo-lora32-v2-0"]],"LilyGO LoRa32 v2.1":[[3,"lilygo-lora32-v2-1"]],"LilyGO T-Beam":[[3,"lilygo-t-beam"]],"LilyGO T-Beam Supreme":[[3,"lilygo-t-beam-supreme"]],"LilyGO T-Deck":[[3,"lilygo-t-deck"]],"LilyGO T-Echo":[[3,"lilygo-t-echo"]],"LilyGO T3S3":[[3,"lilygo-t3s3"]],"Link":[[0,"link"]],"Link Establishment in Detail":[[9,"link-establishment-in-detail"]],"Listeners":[[5,"listeners"]],"MacOS":[[2,"macos"]],"MeshChat":[[2,"meshchat"]],"Minimal":[[0,"minimal"]],"Motivation":[[9,"motivation"]],"New Destination Rate Limiting":[[5,"new-destination-rate-limiting"]],"Node Types":[[9,"node-types"]],"Nomad Network":[[2,"nomad-network"]],"OpenCom XL":[[3,"opencom-xl"]],"OpenWRT":[[2,"openwrt"]],"Packet Prioritisation":[[9,"packet-prioritisation"]],"Packet Radio Modems":[[3,"packet-radio-modems"]],"Participate in Reticulum Development":[[2,"participate-in-reticulum-development"]],"Pipe Interface":[[5,"pipe-interface"]],"Platform-Specific Install Notes":[[2,"platform-specific-install-notes"]],"Protocol Specifics":[[9,"protocol-specifics"]],"Provide Feedback":[[8,"provide-feedback"]],"Public Key Announcements":[[9,"public-key-announcements"]],"Pure-Python Reticulum":[[2,"pure-python-reticulum"]],"RAK4631-based Boards":[[3,"rak4631-based-boards"]],"RISC-V":[[2,"risc-v"]],"RNode":[[3,"rnode"]],"RNode LoRa Interface":[[5,"rnode-lora-interface"]],"RNode Multi Interface":[[5,"rnode-multi-interface"]],"Raspberry Pi":[[2,"raspberry-pi"]],"Reaching the Destination":[[9,"reaching-the-destination"]],"Reference Setup":[[9,"reference-setup"]],"Remote Management":[[10,"remote-management"]],"Remote Shell":[[2,"remote-shell"]],"Requests & Responses":[[0,"requests-responses"]],"Resolving Dependency & Installation Issues":[[2,"resolving-dependency-installation-issues"]],"Resources":[[9,"resources"]],"Reticulum Network Stack Manual":[[4,null]],"Reticulum Transport":[[9,"reticulum-transport"]],"Reticulum as a System Service":[[10,"reticulum-as-a-system-service"]],"Serial Interface":[[5,"serial-interface"]],"Serial Lines & Devices":[[3,"serial-lines-devices"]],"Sideband":[[2,"sideband"]],"Standalone Reticulum Installation":[[2,"standalone-reticulum-installation"]],"Support Reticulum":[[8,null]],"Supported Boards and Devices":[[3,"supported-boards-and-devices"]],"Systemwide Service":[[10,"systemwide-service"]],"TCP Client Interface":[[5,"tcp-client-interface"]],"TCP Server Interface":[[5,"tcp-server-interface"]],"Table Of Contents":[[4,"table-of-contents"]],"The Announce Mechanism in Detail":[[9,"the-announce-mechanism-in-detail"]],"The rncp Utility":[[10,"the-rncp-utility"]],"The rnid Utility":[[10,"the-rnid-utility"]],"The rnodeconf Utility":[[10,"the-rnodeconf-utility"]],"The rnpath Utility":[[10,"the-rnpath-utility"]],"The rnprobe Utility":[[10,"the-rnprobe-utility"]],"The rnsd Utility":[[10,"the-rnsd-utility"]],"The rnstatus Utility":[[10,"the-rnstatus-utility"]],"The rnx Utility":[[10,"the-rnx-utility"]],"Try Using a Reticulum-based Program":[[2,"try-using-a-reticulum-based-program"]],"UDP Interface":[[5,"udp-interface"]],"Ubuntu Lunar":[[2,"ubuntu-lunar"]],"Understanding Reticulum":[[9,null]],"Unsigned RNode v2.x":[[3,"unsigned-rnode-v2-x"]],"Usage with Reticulum":[[3,"usage-with-reticulum"]],"Userspace Service":[[10,"userspace-service"]],"Using Reticulum on Your System":[[10,null]],"Using the Included Utilities":[[2,"using-the-included-utilities"]],"What does Reticulum Offer?":[[11,"what-does-reticulum-offer"]],"What is Reticulum?":[[11,null]],"Where can Reticulum be Used?":[[11,"where-can-reticulum-be-used"]],"WiFi-based Hardware":[[3,"wifi-based-hardware"]],"Windows":[[2,"windows"]],"Wire Format":[[9,"wire-format"]]},"docnames":["examples","forhumans","gettingstartedfast","hardware","index","interfaces","networks","reference","support","understanding","using","whatis"],"envversion":{"sphinx":65,"sphinx.domains.c":3,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":9,"sphinx.domains.index":1,"sphinx.domains.javascript":3,"sphinx.domains.math":2,"sphinx.domains.python":4,"sphinx.domains.rst":2,"sphinx.domains.std":2},"filenames":["examples.rst","forhumans.rst","gettingstartedfast.rst","hardware.rst","index.rst","interfaces.rst","networks.rst","reference.rst","support.rst","understanding.rst","using.rst","whatis.rst"],"indexentries":{"__init__() (rns.rawchannelreader method)":[[7,"RNS.RawChannelReader.__init__",false]],"__init__() (rns.rawchannelwriter method)":[[7,"RNS.RawChannelWriter.__init__",false]],"accepts_links() (rns.destination method)":[[7,"RNS.Destination.accepts_links",false]],"add_message_handler() (rns.channel.channel method)":[[7,"RNS.Channel.Channel.add_message_handler",false]],"add_ready_callback() (rns.rawchannelreader method)":[[7,"RNS.RawChannelReader.add_ready_callback",false]],"advertise() (rns.resource method)":[[7,"RNS.Resource.advertise",false]],"announce() (rns.destination method)":[[7,"RNS.Destination.announce",false]],"announce_cap (rns.reticulum attribute)":[[7,"RNS.Reticulum.ANNOUNCE_CAP",false]],"app_and_aspects_from_name() (rns.destination static method)":[[7,"RNS.Destination.app_and_aspects_from_name",false]],"buffer (class in rns)":[[7,"RNS.Buffer",false]],"cancel() (rns.resource method)":[[7,"RNS.Resource.cancel",false]],"channel (class in rns.channel)":[[7,"RNS.Channel.Channel",false]],"clear_default_app_data() (rns.destination method)":[[7,"RNS.Destination.clear_default_app_data",false]],"concluded() (rns.requestreceipt method)":[[7,"RNS.RequestReceipt.concluded",false]],"create_bidirectional_buffer() (rns.buffer static method)":[[7,"RNS.Buffer.create_bidirectional_buffer",false]],"create_keys() (rns.destination method)":[[7,"RNS.Destination.create_keys",false]],"create_reader() (rns.buffer static method)":[[7,"RNS.Buffer.create_reader",false]],"create_writer() (rns.buffer static method)":[[7,"RNS.Buffer.create_writer",false]],"current_ratchet_id() (rns.identity static method)":[[7,"RNS.Identity.current_ratchet_id",false]],"curve (rns.identity attribute)":[[7,"RNS.Identity.CURVE",false]],"curve (rns.link attribute)":[[7,"RNS.Link.CURVE",false]],"decrypt() (rns.destination method)":[[7,"RNS.Destination.decrypt",false]],"decrypt() (rns.identity method)":[[7,"RNS.Identity.decrypt",false]],"deregister_announce_handler() (rns.transport static method)":[[7,"RNS.Transport.deregister_announce_handler",false]],"deregister_request_handler() (rns.destination method)":[[7,"RNS.Destination.deregister_request_handler",false]],"destination (class in rns)":[[7,"RNS.Destination",false]],"enable_ratchets() (rns.destination method)":[[7,"RNS.Destination.enable_ratchets",false]],"encrypt() (rns.destination method)":[[7,"RNS.Destination.encrypt",false]],"encrypt() (rns.identity method)":[[7,"RNS.Identity.encrypt",false]],"encrypted_mdu (rns.packet attribute)":[[7,"RNS.Packet.ENCRYPTED_MDU",false]],"enforce_ratchets() (rns.destination method)":[[7,"RNS.Destination.enforce_ratchets",false]],"establishment_timeout_per_hop (rns.link attribute)":[[7,"RNS.Link.ESTABLISHMENT_TIMEOUT_PER_HOP",false]],"expand_name() (rns.destination static method)":[[7,"RNS.Destination.expand_name",false]],"from_bytes() (rns.identity static method)":[[7,"RNS.Identity.from_bytes",false]],"from_file() (rns.identity static method)":[[7,"RNS.Identity.from_file",false]],"full_hash() (rns.identity static method)":[[7,"RNS.Identity.full_hash",false]],"get_age() (rns.link method)":[[7,"RNS.Link.get_age",false]],"get_channel() (rns.link method)":[[7,"RNS.Link.get_channel",false]],"get_data_size() (rns.resource method)":[[7,"RNS.Resource.get_data_size",false]],"get_establishment_rate() (rns.link method)":[[7,"RNS.Link.get_establishment_rate",false]],"get_expected_rate() (rns.link method)":[[7,"RNS.Link.get_expected_rate",false]],"get_hash() (rns.resource method)":[[7,"RNS.Resource.get_hash",false]],"get_instance() (rns.reticulum static method)":[[7,"RNS.Reticulum.get_instance",false]],"get_mdu() (rns.link method)":[[7,"RNS.Link.get_mdu",false]],"get_mode() (rns.link method)":[[7,"RNS.Link.get_mode",false]],"get_mtu() (rns.link method)":[[7,"RNS.Link.get_mtu",false]],"get_parts() (rns.resource method)":[[7,"RNS.Resource.get_parts",false]],"get_private_key() (rns.destination method)":[[7,"RNS.Destination.get_private_key",false]],"get_private_key() (rns.identity method)":[[7,"RNS.Identity.get_private_key",false]],"get_progress() (rns.requestreceipt method)":[[7,"RNS.RequestReceipt.get_progress",false]],"get_progress() (rns.resource method)":[[7,"RNS.Resource.get_progress",false]],"get_public_key() (rns.identity method)":[[7,"RNS.Identity.get_public_key",false]],"get_q() (rns.link method)":[[7,"RNS.Link.get_q",false]],"get_q() (rns.packet method)":[[7,"RNS.Packet.get_q",false]],"get_random_hash() (rns.identity static method)":[[7,"RNS.Identity.get_random_hash",false]],"get_remote_identity() (rns.link method)":[[7,"RNS.Link.get_remote_identity",false]],"get_request_id() (rns.requestreceipt method)":[[7,"RNS.RequestReceipt.get_request_id",false]],"get_response() (rns.requestreceipt method)":[[7,"RNS.RequestReceipt.get_response",false]],"get_response_time() (rns.requestreceipt method)":[[7,"RNS.RequestReceipt.get_response_time",false]],"get_rssi() (rns.link method)":[[7,"RNS.Link.get_rssi",false]],"get_rssi() (rns.packet method)":[[7,"RNS.Packet.get_rssi",false]],"get_rtt() (rns.packetreceipt method)":[[7,"RNS.PacketReceipt.get_rtt",false]],"get_segments() (rns.resource method)":[[7,"RNS.Resource.get_segments",false]],"get_snr() (rns.link method)":[[7,"RNS.Link.get_snr",false]],"get_snr() (rns.packet method)":[[7,"RNS.Packet.get_snr",false]],"get_status() (rns.packetreceipt method)":[[7,"RNS.PacketReceipt.get_status",false]],"get_status() (rns.requestreceipt method)":[[7,"RNS.RequestReceipt.get_status",false]],"get_transfer_size() (rns.resource method)":[[7,"RNS.Resource.get_transfer_size",false]],"has_path() (rns.transport static method)":[[7,"RNS.Transport.has_path",false]],"hash() (rns.destination static method)":[[7,"RNS.Destination.hash",false]],"hash_from_name_and_identity() (rns.destination static method)":[[7,"RNS.Destination.hash_from_name_and_identity",false]],"hops_to() (rns.transport static method)":[[7,"RNS.Transport.hops_to",false]],"identify() (rns.link method)":[[7,"RNS.Link.identify",false]],"identity (class in rns)":[[7,"RNS.Identity",false]],"inactive_for() (rns.link method)":[[7,"RNS.Link.inactive_for",false]],"is_compressed() (rns.resource method)":[[7,"RNS.Resource.is_compressed",false]],"is_ready_to_send() (rns.channel.channel method)":[[7,"RNS.Channel.Channel.is_ready_to_send",false]],"keepalive (rns.link attribute)":[[7,"RNS.Link.KEEPALIVE",false]],"keepalive_timeout_factor (rns.link attribute)":[[7,"RNS.Link.KEEPALIVE_TIMEOUT_FACTOR",false]],"keysize (rns.identity attribute)":[[7,"RNS.Identity.KEYSIZE",false]],"link (class in rns)":[[7,"RNS.Link",false]],"link_mtu_discovery (rns.reticulum attribute)":[[7,"RNS.Reticulum.LINK_MTU_DISCOVERY",false]],"link_mtu_discovery() (rns.reticulum static method)":[[7,"RNS.Reticulum.link_mtu_discovery",false]],"load_private_key() (rns.destination method)":[[7,"RNS.Destination.load_private_key",false]],"load_private_key() (rns.identity method)":[[7,"RNS.Identity.load_private_key",false]],"load_public_key() (rns.identity method)":[[7,"RNS.Identity.load_public_key",false]],"mdu (rns.channel.channel property)":[[7,"RNS.Channel.Channel.mdu",false]],"messagebase (class in rns)":[[7,"RNS.MessageBase",false]],"minimum_bitrate (rns.reticulum attribute)":[[7,"RNS.Reticulum.MINIMUM_BITRATE",false]],"msgtype (rns.messagebase attribute)":[[7,"RNS.MessageBase.MSGTYPE",false]],"mtu (rns.reticulum attribute)":[[7,"RNS.Reticulum.MTU",false]],"next_hop() (rns.transport static method)":[[7,"RNS.Transport.next_hop",false]],"next_hop_interface() (rns.transport static method)":[[7,"RNS.Transport.next_hop_interface",false]],"no_data_for() (rns.link method)":[[7,"RNS.Link.no_data_for",false]],"no_inbound_for() (rns.link method)":[[7,"RNS.Link.no_inbound_for",false]],"no_outbound_for() (rns.link method)":[[7,"RNS.Link.no_outbound_for",false]],"pack() (rns.messagebase method)":[[7,"RNS.MessageBase.pack",false]],"packet (class in rns)":[[7,"RNS.Packet",false]],"packetreceipt (class in rns)":[[7,"RNS.PacketReceipt",false]],"pathfinder_m (rns.transport attribute)":[[7,"RNS.Transport.PATHFINDER_M",false]],"plain_mdu (rns.packet attribute)":[[7,"RNS.Packet.PLAIN_MDU",false]],"ratchet_count (rns.destination attribute)":[[7,"RNS.Destination.RATCHET_COUNT",false]],"ratchet_expiry (rns.identity attribute)":[[7,"RNS.Identity.RATCHET_EXPIRY",false]],"ratchet_interval (rns.destination attribute)":[[7,"RNS.Destination.RATCHET_INTERVAL",false]],"ratchetsize (rns.identity attribute)":[[7,"RNS.Identity.RATCHETSIZE",false]],"rawchannelreader (class in rns)":[[7,"RNS.RawChannelReader",false]],"rawchannelwriter (class in rns)":[[7,"RNS.RawChannelWriter",false]],"recall() (rns.identity static method)":[[7,"RNS.Identity.recall",false]],"recall_app_data() (rns.identity static method)":[[7,"RNS.Identity.recall_app_data",false]],"register_announce_handler() (rns.transport static method)":[[7,"RNS.Transport.register_announce_handler",false]],"register_message_type() (rns.channel.channel method)":[[7,"RNS.Channel.Channel.register_message_type",false]],"register_request_handler() (rns.destination method)":[[7,"RNS.Destination.register_request_handler",false]],"remote_management_enabled() (rns.reticulum static method)":[[7,"RNS.Reticulum.remote_management_enabled",false]],"remove_message_handler() (rns.channel.channel method)":[[7,"RNS.Channel.Channel.remove_message_handler",false]],"remove_ready_callback() (rns.rawchannelreader method)":[[7,"RNS.RawChannelReader.remove_ready_callback",false]],"request() (rns.link method)":[[7,"RNS.Link.request",false]],"request_path() (rns.transport static method)":[[7,"RNS.Transport.request_path",false]],"requestreceipt (class in rns)":[[7,"RNS.RequestReceipt",false]],"resend() (rns.packet method)":[[7,"RNS.Packet.resend",false]],"resource (class in rns)":[[7,"RNS.Resource",false]],"reticulum (class in rns)":[[7,"RNS.Reticulum",false]],"send() (rns.channel.channel method)":[[7,"RNS.Channel.Channel.send",false]],"send() (rns.packet method)":[[7,"RNS.Packet.send",false]],"set_default_app_data() (rns.destination method)":[[7,"RNS.Destination.set_default_app_data",false]],"set_delivery_callback() (rns.packetreceipt method)":[[7,"RNS.PacketReceipt.set_delivery_callback",false]],"set_link_closed_callback() (rns.link method)":[[7,"RNS.Link.set_link_closed_callback",false]],"set_link_established_callback() (rns.destination method)":[[7,"RNS.Destination.set_link_established_callback",false]],"set_packet_callback() (rns.destination method)":[[7,"RNS.Destination.set_packet_callback",false]],"set_packet_callback() (rns.link method)":[[7,"RNS.Link.set_packet_callback",false]],"set_proof_requested_callback() (rns.destination method)":[[7,"RNS.Destination.set_proof_requested_callback",false]],"set_proof_strategy() (rns.destination method)":[[7,"RNS.Destination.set_proof_strategy",false]],"set_ratchet_interval() (rns.destination method)":[[7,"RNS.Destination.set_ratchet_interval",false]],"set_remote_identified_callback() (rns.link method)":[[7,"RNS.Link.set_remote_identified_callback",false]],"set_resource_callback() (rns.link method)":[[7,"RNS.Link.set_resource_callback",false]],"set_resource_concluded_callback() (rns.link method)":[[7,"RNS.Link.set_resource_concluded_callback",false]],"set_resource_started_callback() (rns.link method)":[[7,"RNS.Link.set_resource_started_callback",false]],"set_resource_strategy() (rns.link method)":[[7,"RNS.Link.set_resource_strategy",false]],"set_retained_ratchets() (rns.destination method)":[[7,"RNS.Destination.set_retained_ratchets",false]],"set_timeout() (rns.packetreceipt method)":[[7,"RNS.PacketReceipt.set_timeout",false]],"set_timeout_callback() (rns.packetreceipt method)":[[7,"RNS.PacketReceipt.set_timeout_callback",false]],"should_use_implicit_proof() (rns.reticulum static method)":[[7,"RNS.Reticulum.should_use_implicit_proof",false]],"sign() (rns.destination method)":[[7,"RNS.Destination.sign",false]],"sign() (rns.identity method)":[[7,"RNS.Identity.sign",false]],"stale_grace (rns.link attribute)":[[7,"RNS.Link.STALE_GRACE",false]],"stale_time (rns.link attribute)":[[7,"RNS.Link.STALE_TIME",false]],"teardown() (rns.link method)":[[7,"RNS.Link.teardown",false]],"to_file() (rns.identity method)":[[7,"RNS.Identity.to_file",false]],"track_phy_stats() (rns.link method)":[[7,"RNS.Link.track_phy_stats",false]],"transport (class in rns)":[[7,"RNS.Transport",false]],"transport_enabled() (rns.reticulum static method)":[[7,"RNS.Reticulum.transport_enabled",false]],"truncated_hash() (rns.identity static method)":[[7,"RNS.Identity.truncated_hash",false]],"truncated_hashlength (rns.identity attribute)":[[7,"RNS.Identity.TRUNCATED_HASHLENGTH",false]],"unpack() (rns.messagebase method)":[[7,"RNS.MessageBase.unpack",false]],"validate() (rns.identity method)":[[7,"RNS.Identity.validate",false]]},"objects":{"RNS":[[7,0,1,"","Buffer"],[7,0,1,"","Destination"],[7,0,1,"","Identity"],[7,0,1,"","Link"],[7,0,1,"","MessageBase"],[7,0,1,"","Packet"],[7,0,1,"","PacketReceipt"],[7,0,1,"","RawChannelReader"],[7,0,1,"","RawChannelWriter"],[7,0,1,"","RequestReceipt"],[7,0,1,"","Resource"],[7,0,1,"","Reticulum"],[7,0,1,"","Transport"]],"RNS.Buffer":[[7,1,1,"","create_bidirectional_buffer"],[7,1,1,"","create_reader"],[7,1,1,"","create_writer"]],"RNS.Channel":[[7,0,1,"","Channel"]],"RNS.Channel.Channel":[[7,1,1,"","add_message_handler"],[7,1,1,"","is_ready_to_send"],[7,2,1,"","mdu"],[7,1,1,"","register_message_type"],[7,1,1,"","remove_message_handler"],[7,1,1,"","send"]],"RNS.Destination":[[7,3,1,"","RATCHET_COUNT"],[7,3,1,"","RATCHET_INTERVAL"],[7,1,1,"","accepts_links"],[7,1,1,"","announce"],[7,1,1,"","app_and_aspects_from_name"],[7,1,1,"","clear_default_app_data"],[7,1,1,"","create_keys"],[7,1,1,"","decrypt"],[7,1,1,"","deregister_request_handler"],[7,1,1,"","enable_ratchets"],[7,1,1,"","encrypt"],[7,1,1,"","enforce_ratchets"],[7,1,1,"","expand_name"],[7,1,1,"","get_private_key"],[7,1,1,"","hash"],[7,1,1,"","hash_from_name_and_identity"],[7,1,1,"","load_private_key"],[7,1,1,"","register_request_handler"],[7,1,1,"","set_default_app_data"],[7,1,1,"","set_link_established_callback"],[7,1,1,"","set_packet_callback"],[7,1,1,"","set_proof_requested_callback"],[7,1,1,"","set_proof_strategy"],[7,1,1,"","set_ratchet_interval"],[7,1,1,"","set_retained_ratchets"],[7,1,1,"","sign"]],"RNS.Identity":[[7,3,1,"","CURVE"],[7,3,1,"","KEYSIZE"],[7,3,1,"","RATCHETSIZE"],[7,3,1,"","RATCHET_EXPIRY"],[7,3,1,"","TRUNCATED_HASHLENGTH"],[7,1,1,"","current_ratchet_id"],[7,1,1,"","decrypt"],[7,1,1,"","encrypt"],[7,1,1,"","from_bytes"],[7,1,1,"","from_file"],[7,1,1,"","full_hash"],[7,1,1,"","get_private_key"],[7,1,1,"","get_public_key"],[7,1,1,"","get_random_hash"],[7,1,1,"","load_private_key"],[7,1,1,"","load_public_key"],[7,1,1,"","recall"],[7,1,1,"","recall_app_data"],[7,1,1,"","sign"],[7,1,1,"","to_file"],[7,1,1,"","truncated_hash"],[7,1,1,"","validate"]],"RNS.Link":[[7,3,1,"","CURVE"],[7,3,1,"","ESTABLISHMENT_TIMEOUT_PER_HOP"],[7,3,1,"","KEEPALIVE"],[7,3,1,"","KEEPALIVE_TIMEOUT_FACTOR"],[7,3,1,"","STALE_GRACE"],[7,3,1,"","STALE_TIME"],[7,1,1,"","get_age"],[7,1,1,"","get_channel"],[7,1,1,"","get_establishment_rate"],[7,1,1,"","get_expected_rate"],[7,1,1,"","get_mdu"],[7,1,1,"","get_mode"],[7,1,1,"","get_mtu"],[7,1,1,"","get_q"],[7,1,1,"","get_remote_identity"],[7,1,1,"","get_rssi"],[7,1,1,"","get_snr"],[7,1,1,"","identify"],[7,1,1,"","inactive_for"],[7,1,1,"","no_data_for"],[7,1,1,"","no_inbound_for"],[7,1,1,"","no_outbound_for"],[7,1,1,"","request"],[7,1,1,"","set_link_closed_callback"],[7,1,1,"","set_packet_callback"],[7,1,1,"","set_remote_identified_callback"],[7,1,1,"","set_resource_callback"],[7,1,1,"","set_resource_concluded_callback"],[7,1,1,"","set_resource_started_callback"],[7,1,1,"","set_resource_strategy"],[7,1,1,"","teardown"],[7,1,1,"","track_phy_stats"]],"RNS.MessageBase":[[7,3,1,"","MSGTYPE"],[7,1,1,"","pack"],[7,1,1,"","unpack"]],"RNS.Packet":[[7,3,1,"","ENCRYPTED_MDU"],[7,3,1,"","PLAIN_MDU"],[7,1,1,"","get_q"],[7,1,1,"","get_rssi"],[7,1,1,"","get_snr"],[7,1,1,"","resend"],[7,1,1,"","send"]],"RNS.PacketReceipt":[[7,1,1,"","get_rtt"],[7,1,1,"","get_status"],[7,1,1,"","set_delivery_callback"],[7,1,1,"","set_timeout"],[7,1,1,"","set_timeout_callback"]],"RNS.RawChannelReader":[[7,1,1,"","__init__"],[7,1,1,"","add_ready_callback"],[7,1,1,"","remove_ready_callback"]],"RNS.RawChannelWriter":[[7,1,1,"","__init__"]],"RNS.RequestReceipt":[[7,1,1,"","concluded"],[7,1,1,"","get_progress"],[7,1,1,"","get_request_id"],[7,1,1,"","get_response"],[7,1,1,"","get_response_time"],[7,1,1,"","get_status"]],"RNS.Resource":[[7,1,1,"","advertise"],[7,1,1,"","cancel"],[7,1,1,"","get_data_size"],[7,1,1,"","get_hash"],[7,1,1,"","get_parts"],[7,1,1,"","get_progress"],[7,1,1,"","get_segments"],[7,1,1,"","get_transfer_size"],[7,1,1,"","is_compressed"]],"RNS.Reticulum":[[7,3,1,"","ANNOUNCE_CAP"],[7,3,1,"","LINK_MTU_DISCOVERY"],[7,3,1,"","MINIMUM_BITRATE"],[7,3,1,"","MTU"],[7,1,1,"","get_instance"],[7,1,1,"","link_mtu_discovery"],[7,1,1,"","remote_management_enabled"],[7,1,1,"","should_use_implicit_proof"],[7,1,1,"","transport_enabled"]],"RNS.Transport":[[7,3,1,"","PATHFINDER_M"],[7,1,1,"","deregister_announce_handler"],[7,1,1,"","has_path"],[7,1,1,"","hops_to"],[7,1,1,"","next_hop"],[7,1,1,"","next_hop_interface"],[7,1,1,"","register_announce_handler"],[7,1,1,"","request_path"]]},"objnames":{"0":["py","class","Python class"],"1":["py","method","Python method"],"2":["py","property","Python property"],"3":["py","attribute","Python attribute"]},"objtypes":{"0":"py:class","1":"py:method","2":"py:property","3":"py:attribute"},"terms":{"":[0,2,5,6,9,10,11],"0":[0,2,5,7,9,10,11],"00":[9,10],"00000000":9,"00000100":9,"00000111":9,"01":9,"01010000":9,"02":2,"05":0,"08":[0,10],"0f4259fef4521ab75a3409e353fe9073eb10783b4912a6a9937c57bf44a62c1":10,"0x0101":0,"0x20":0,"0x7d":0,"0x7e":0,"0x81f7b979fea6134ba9fd5c701b3501a2e61e897a":8,"0xf000":[0,7],"1":[0,2,5,7,9,10],"10":[5,9,10],"100":[0,5,9],"1000":0,"10000000":9,"1024":0,"11":9,"115":9,"115200":[0,5,10],"12":[2,5,10],"1200":9,"125":5,"125000":5,"127":5,"128":[7,9],"13":10,"13425ec15b621c1d928589718000d814":9,"15":5,"150":[5,10],"150m":5,"16":[5,9,10],"1625":5,"1625000":5,"167":9,"17":10,"1726dbad538775b5bf9b0ea25a4079c8":10,"174a64852a75682259ad8b921b8bf416":2,"18":10,"1800":7,"187":10,"1b03013c25f1c2ca068a4f080b844a10":10,"2":[0,2,5,7,9,10],"20":[5,9,10],"200":[5,10],"201":5,"2023":[2,10],"21":2,"2225fdeecaf6e2db4556c3c2d7637294":10,"23":10,"24":5,"2400000000":5,"25":[0,4,11],"255":[5,10],"25519":7,"256":[5,7,9,10,11],"2592000":7,"27":10,"29":5,"297":[9,11],"29716":5,"2b489d06eaf7c543808c76a5332a447d":10,"2d03725b327348980d570f739a3a5708":10,"2d882c5586e548d79b5af27bca1776dc":10,"2f":0,"2owjajquafianpecac":2,"3":[0,2,5,9,10,11],"30":[5,7,10],"30602def3b3506a28ed33db6f60cc6c9":10,"32":[2,7,9],"3278":5,"33":5,"360":7,"3600":[0,5],"37428":10,"37429":10,"38":10,"383":7,"3b87":5,"3cpmacgm34qyvr6xwlvejmi2ane3pzquuq":8,"4":[7,9,10],"4242":[2,5],"4251":5,"42671":5,"430":9,"4343":5,"44":11,"45":[0,9],"464":7,"465":9,"469":10,"48555":5,"49":10,"49555":5,"4965":10,"4e":5,"4faf1b2e0a077e6a9d92fa051f256038":9,"4ghz":5,"5":[0,5,7,9,10,11],"500":[7,9,11],"5001":5,"51":9,"512":[5,7,9,11],"5245a8efe1788c6a1cd36144a270e13b":10,"55":5,"56":10,"564":0,"5757":5,"59":10,"5caf":5,"5d78":5,"5urvjicpzi7q3ybztsef4i5ow2aq4soktfj7zedz53s47r54jnqq":5,"6":[5,7,10],"60":[0,5],"600":5,"63":10,"64":[2,9,10],"7":[2,5,9,10],"71e5":5,"72":5,"720":7,"7200":5,"73":[5,10],"73cbd378bb0286ed11a707c13447bb1":10,"74":10,"781":10,"7a55144adf826958a9529a3bcf08b149":10,"8":[0,5,10],"80":10,"8001":5,"809":10,"83":[9,10],"84fpy1qbxhcgdseepynmhthcrgmx4nffbytz2gkytoqhvvhjp8eaw1z1eedrnkd19b3b8nilcgvxzkv17ummmeescrpya5w":8,"86":10,"865":5,"865600000":5,"867":5,"867200000":5,"868":9,"88":5,"89":5,"8dd57a738226809646089335a6b03695":10,"9":[2,7,10],"900":9,"921600":10,"941bed5e228775e5a8079fc38b1ccf3f":10,"96":9,"9600":0,"984b74a3f768bef236af4371e6f248cd":10,"99":9,"9fb6d773498fb3feda407ed8ef2c3229":10,"A":[0,2,5,6,7,9,10],"And":0,"As":[2,3,5,6,7,9,11],"At":[2,6,9],"Be":[7,10],"But":9,"By":[0,2,5,7,9,10],"For":[2,5,6,7,9,10,11],"IN":[0,7],"If":[0,2,3,5,6,7,9,10,11],"In":[0,2,3,5,6,7,9,10,11],"It":[0,2,3,5,7,9,10,11],"No":[0,2,5,9,10,11],"On":[0,2,5,10],"One":[3,7,9],"Or":[5,10,11],"That":9,"The":[0,2,3,4,5,6,7,11],"Then":[0,2],"There":[2,6,9],"These":[2,5,7,9,10],"To":[0,2,3,5,6,9,10,11],"Will":7,"With":[4,5,6,9,10],"_":9,"__":9,"______":9,"_______":9,"________":9,"________________":9,"__future__":0,"__init__":[0,7],"__main__":0,"__name__":0,"__str__":0,"a4d":5,"a79f":5,"aarch64":2,"ab":0,"abil":[2,3,11],"abl":[0,2,5,6,7,9,10],"abort":0,"about":[0,2,3,5,6,7,9],"abov":[2,3,5,9,10],"absolut":[2,8,11],"abstract":[7,9],"abstractmethod":7,"abund":3,"accept":[7,8,9,10],"accept_al":[0,7],"accept_app":7,"accept_non":7,"accepts_link":7,"access":[2,4,5,6,7,10],"access_point":5,"accommod":[7,9],"accord":[0,2,9],"accordingli":[0,5],"achiev":[5,7,9],"acknowledg":11,"across":[0,3,6,7],"act":[2,7,9,10],"action":0,"activ":[0,2,5,7,9],"actor":9,"actual":[0,2,5,9],"ad":[0,3,4,5,6,7,9,10,11],"adapt":[3,6],"add":[0,2,5,6,7,10],"add_argu":0,"add_message_handl":[0,7],"add_ready_callback":7,"addit":[2,3,5,7,9,10,11],"addition":[2,3,5,9],"addr":10,"address":[0,2,5,6,7,9,10,11],"adher":7,"adjust":[2,7],"admin":5,"administr":10,"adress":[7,9],"advanc":9,"advantag":7,"advers":11,"adversari":2,"advertis":[0,7],"advis":9,"ae":[7,9,11],"af73":5,"affect":[2,5],"after":[0,2,5,6,7,9,10],"again":[2,5,9],"against":9,"agenc":9,"agent":9,"agnost":[6,9],"agnostic":9,"aim":[4,9],"air":3,"airmax":3,"airtim":5,"airtime_limit_long":5,"airtime_limit_short":5,"aliv":[7,9],"all":[0,2,3,4,5,6,7,8,9,10,11],"allevi":3,"alloc":[5,7,9,10],"allow":[0,2,3,5,6,7,9,10,11],"allow_al":[0,7],"allow_list":7,"allow_non":7,"allowed_hash":10,"allowed_ident":10,"allowed_list":7,"almost":[3,5,9,10],"alon":5,"along":[5,6,7,9,10],"alreadi":[0,2,3,6,7,9,10],"also":[0,2,3,4,5,6,7,9,10,11],"alter":[2,7,9],"altern":[0,2,5,10],"although":[2,9,11],"alwai":[2,5,7,9,10],"amateur":[5,11],"amount":[0,5,6,7,9,11],"amsterdam":5,"an":[0,2,3,5,6,7,9,10,11],"analyt":8,"android":[4,5,10],"ani":[0,2,3,5,6,7,8,9,10,11],"annot":0,"annouce_cap":5,"announc":[4,7,10],"announce_cap":[5,7],"announce_handl":0,"announce_packet_hash":7,"announce_rate_grac":5,"announce_rate_penalti":5,"announce_rate_target":5,"announced_ident":[0,7],"announceloop":0,"announcesampl":0,"anonym":[2,6,7,9,11],"anoth":[2,7,9,10],"answer":[9,10],"antenna":3,"anymor":2,"anyon":[0,2,3,5,6,7,9,10],"anyth":[2,3,5,9,10,11],"anywher":[0,5],"ap":5,"api":[2,4,9,11],"apk":2,"app":[0,2,7,9],"app_and_aspects_from_nam":7,"app_data":[0,7],"app_nam":[0,7],"app_timeout":0,"append":[0,9],"appli":[5,7,9],"applic":[0,2,5,6,7,9,10,11],"approach":[3,9,10],"approv":9,"approxim":5,"april":2,"apt":2,"ar":[0,2,3,5,6,7,8,9,10,11],"arbitrari":[7,9,10,11],"arch":2,"architectur":2,"area":[3,5,6,9,11],"arg":0,"argon":0,"argpars":0,"argument":[0,7,10],"argumentpars":0,"arm64":4,"around":[5,9],"arriv":[0,9],"arx":10,"ask":[0,2,3,7],"aspect":[0,3,5,7,9,10],"aspect_filt":[0,7],"assign":[0,9,10],"associ":[2,7,9],"assum":[5,9],"asymmetr":[9,10,11],"attach":10,"attached_interfac":7,"attack":2,"attempt":[0,2,3,7],"attribut":7,"atx":10,"audit":11,"auth":10,"authent":[2,5,6,7,9,10,11],"author":[9,10],"authorit":9,"auto":[2,3,4,7,9],"auto_compress":7,"autoconfigur":11,"autodiscov":5,"autoinstal":[3,10],"autointerfac":[2,3,5,10],"autom":[3,8,9],"automat":[0,2,5,6,7,9,10,11],"autonom":[6,9],"autonomi":11,"avail":[0,2,3,4,5,6,7,9,10,11],"averag":9,"avoid":[3,9,10],"awai":[0,5,6,9,10],"awar":[2,5,9],"ax":[4,11],"ax25kissinterfac":5,"b":[0,6,10],"b32":5,"back":[0,5,9,11],"backbon":[2,3,4],"backboneinterfac":[2,5],"backend":[5,9],"background":[2,5],"backhaul":[3,6],"backup":10,"balanc":5,"band":[3,9],"bandwidth":[2,5,6,7,9,10,11],"bare":[0,5],"barrier":9,"base":[4,5,6,7,9,10,11],"base32":[5,10],"base64":10,"basi":[5,7,9,10,11],"basic":[0,2,4,5,7,10],"baud":[5,10],"baud_flash":10,"baudrat":0,"bc7291552be7a58f361522990465165c":10,"beacon":5,"becaus":[6,9],"becki":0,"becom":[0,2,6,7,9],"been":[0,2,3,5,6,7,9,11],"befor":[0,2,5,7,9,10],"begin":[0,3,7],"begun":7,"behalf":5,"behav":3,"behaviour":[2,5,10],"behind":[2,9],"being":[2,5,7,9],"beings":9,"belief":9,"below":[2,3,5],"benefici":[5,10],"best":[2,9,11],"better":[5,9],"between":[0,5,6,7,9,10],"betweenthebord":2,"bi":[7,9],"bidirect":9,"billion":[6,9],"bin":[2,10],"binari":[0,2,7,9,10],"bind":5,"bit":[0,2,5,7,9,10,11],"bitcoin":8,"bitrat":[0,5,7],"ble":5,"blob":[0,9],"block":5,"bluetooth":10,"board":[2,4,5,9,11],"bogu":5,"boil":3,"bookworm":4,"bool":7,"boot":[2,10],"bootstrap":10,"both":[0,2,3,5,6,7,9,10,11],"boundari":5,"box":3,"break":[2,7,9,11],"breviti":10,"bridg":[3,4],"briefli":[3,9],"bring":5,"broad":[2,3],"broadcast":[2,4,5,7,9],"broadcast_destin":0,"broadcastloop":0,"brought":[5,10],"browser":2,"buffer":[4,5,7,11],"bufferedread":7,"bufferedrwpair":7,"bufferedwrit":7,"bufferexampl":0,"bug":11,"build":[0,2,3,4,5,9,11],"built":[2,5,9,10,11],"bundl":0,"bureaucrat":11,"burst":5,"bw":10,"byte":[0,7,9,10,11],"bytes":0,"c":[0,6,10],"c50cc4e4f7838b6c31f60ab9032cbc62":10,"c89b4da064bf66d280f0e4d8abfd9806":10,"cabl":[5,6],"cach":10,"calcul":[7,9,10],"call":[0,6,7,9,11],"callabl":[0,7],"callback":[0,7],"callsign":5,"can":[0,2,3,4,5,6,7,8,9,10],"cancel":7,"candid":6,"cannot":[0,2,5,11],"cap":5,"capabl":[0,9],"capac":[3,5,7,9],"carambola":0,"care":[2,7,11],"carefulli":2,"cargo_build_target":2,"carri":[5,7,9,10,11],"carrier":[6,11],"case":[0,2,3,5,6,9,10],"cat":10,"categori":3,"caution":5,"caveat":4,"cb":[7,9],"cbc":[9,11],"cd":2,"cdma":5,"censor":9,"censorship":[9,11],"central":[3,6,9],"centralis":9,"certain":[0,5,6,8,9],"chain":5,"challeng":9,"chanc":3,"chang":[0,2,5,7,9,10,11],"channel":[2,4,5,6,7,8,9,11],"channelarg":0,"channelexampl":0,"chapter":[2,3,5,6,7,9,10,11],"charact":0,"characterist":9,"cheap":[3,5,9],"cheapli":2,"check":[0,2,7,9,10],"checksum":[7,11],"choic":2,"choos":[0,2,5,9],"chose":9,"chosen":[6,9],"chunk":0,"cific":5,"ciphertext":7,"ciphertext_token":7,"circumst":[8,9],"cl":0,"claim":9,"class":[0,6,7,11],"clear":[0,5,7,9,10],"clear_default_app_data":7,"clear_screen":0,"client":[0,2,3,4,7,10],"client_buffer_readi":0,"client_connect":0,"client_disconnect":0,"client_ident":0,"client_loop":0,"client_message_receiv":0,"client_packet_receiv":0,"client_request":0,"clone":[2,9],"close":[0,6,7,10],"closed_callback":7,"closer":9,"closest":9,"cluster":9,"co":[3,5,11],"code":[2,3,4,5,10],"codingr":5,"collect":8,"com":[0,2,8],"combin":[2,4,6,9],"come":[2,5,9],"comma":5,"command":[0,2,5,10],"comment":[5,10],"common":[0,3,4,6,9,10,11],"commonli":[3,5],"commun":[0,2,4,5,6,7,8,9,10,11],"communica":5,"compat":[0,2,3,5,7,9],"compil":2,"complet":[0,2,3,5,6,7,9,10,11],"complex":[5,9],"compon":[3,8,9],"compos":9,"compress":[0,7,9,10,11],"compromis":9,"comput":[2,5,9,11],"concaten":7,"conceiv":[2,3],"concept":[4,9,10],"conceptu":9,"conclud":[0,7],"concurr":[3,9,10],"condit":[9,11],"conf":2,"config":[0,2,5,6,10],"configarg":0,"configdir":7,"configpath":0,"configur":[0,2,3,4,6,7,9,11],"configuraion":3,"configure_devic":0,"confirm":[9,11],"conflict":2,"confus":[3,9],"congest":9,"conjunct":5,"connect":[0,3,4,6,7,9,10,11],"consequ":9,"conserv":5,"consid":[0,5,7,9,11],"consider":9,"consist":9,"consol":10,"constant":7,"constantli":9,"constrain":7,"construct":[9,11],"constructor":0,"consum":7,"contact":9,"contain":[0,6,7,9,10],"contend":9,"content":[0,2,6,10],"context":9,"contin":0,"continu":[5,7,8,11],"contribut":4,"control":[0,2,3,4,6,7,9,11],"convei":0,"conveni":0,"convent":0,"converg":[2,4,9],"coordin":[6,7,9,11],"copi":10,"core":[6,9,10,11],"correct":[0,9],"correctli":0,"correspond":9,"cost":[3,9,11],"could":[0,2,5,6,7,9,11],"count":9,"counter":0,"coupl":2,"cours":[2,5,9],"cover":[2,3,9,11],"coverag":6,"cpu":[0,9],"cpuinfo":10,"cr":10,"creat":[0,4,5,6,7,9,10,11],"create_bidirectional_buff":[0,7],"create_kei":7,"create_read":7,"create_receipt":[0,7],"create_writ":7,"creation":[9,11],"creator":9,"critic":[9,10],"cross":5,"cryptograph":[2,4,6,10,11],"cryptographi":[2,9,11],"ctrl":0,"cull":7,"current":[0,2,4,5,7,9],"current_download":0,"current_filenam":0,"current_ratchet_id":7,"curv":[6,7,9,11],"curve25519":[6,7,9,11],"custom":[3,4,7,9,11],"custom_network_nam":5,"customis":5,"d":[6,10],"daemon":[0,2,5,7,10],"dai":[6,7],"data":[0,2,3,4,5,6,7,9,11],"data_buff":0,"data_port":5,"databit":[0,5,10],"datar":5,"date":[0,2],"datetim":0,"db":[0,10],"dbm":[0,5,10],"debian":[4,9,10],"debug":[2,10],"decad":3,"decentralis":11,"decid":[5,6,7,9],"decis":[5,9],"decod":0,"decreas":10,"decrypt":[7,9,10],"dedic":[5,9],"deep":2,"def":0,"default":[0,2,3,5,6,7,9,10],"default_ifac_s":0,"defin":[0,5,7,9,10],"definit":[0,2,9],"degrad":6,"degre":5,"delai":[2,5,9,10],"delimit":0,"deliv":[0,7],"deliveri":[0,2,7,11],"demand":7,"demonstr":[0,2,5],"depend":[0,3,4,6,7,9,10],"deploi":9,"deregist":7,"deregister_announce_handl":7,"deregister_request_handl":7,"deriv":[2,7,9,11],"describ":[3,5,7,9],"descript":[0,10],"descriptor":0,"deseri":0,"deserializ":0,"design":[2,3,6,9,11],"desir":[0,3,5,9],"desktop":5,"dest_len":0,"destin":[0,2,4,6,7,10],"destination_1":0,"destination_2":0,"destination_clos":0,"destination_hash":[0,7,10],"destination_hexhash":0,"detail":[0,2,4,5,7,10,11],"detect":0,"determin":[2,7,9],"dev":[0,2,5,10],"devel":2,"develop":[3,4,7,8,9,11],"devic":[0,2,4,5,6,7,9,10],"dh":7,"dhcp":[3,5,10],"dict":0,"did":0,"differ":[0,2,3,5,6,7,9,10,11],"diffi":[6,9],"difficult":[2,3],"digit":[2,3,9,11],"dir":0,"dire":3,"direct":[0,2,3,6,7,9,10],"direction":9,"directli":[2,3,5,7,9,10,11],"directori":[0,2,10],"disabl":[5,9,10],"disappear":[5,10],"disassoci":9,"discard":[7,9],"disconnect":[0,5],"discov":[2,5],"discover":5,"discoveri":[5,7,9,10],"discovery_port":5,"discovery_scop":5,"discrimin":6,"discuss":[2,3,9],"disk":[0,7],"displai":[0,9,10],"disrupt":5,"dissolv":6,"distanc":[3,9],"distant":7,"distinct":[5,9],"distinguish":9,"distribut":[0,2,6,7,9,10,11],"disucss":2,"divid":7,"divmod":0,"dn":3,"dnf":2,"do":[0,2,3,5,7,9,10,11],"document":[2,7,9],"doe":[0,2,3,4,5,6,7,9,10],"doesn":5,"domain":[2,5,10],"don":[0,2,6,7,9,10],"donat":4,"done":[0,2,5,6,9,10],"dori":6,"dot":[9,10],"doubt":2,"dowload":2,"down":[0,2,3,5,7],"download":[0,2,5,10],"download_began":0,"download_conclud":0,"download_finish":0,"download_start":0,"download_tim":0,"driver":[10,11],"droid":2,"drop":[5,7,9,10],"dsrdtr":0,"dual":3,"dublin":10,"due":[0,6],"dump":10,"duplex":[9,11],"dynam":[2,10],"dysfunct":8,"e":[0,6,10],"e5c032d3ec4e64a6aca9927ba8ab73336780f6d71790":10,"e702c42ba8":10,"e7536ee90bd4a440e130490b87a25124":10,"each":[0,2,5,6,7,9,10],"earlier":9,"eas":[5,9],"easi":[2,3,5,9,10,11],"easier":[2,5,6,10,11],"easiest":[2,3,5,9],"easili":[2,5,6,9,10,11],"ecdh":[9,11],"echo":[2,4],"echo_destin":0,"echo_request":0,"ed25519":[9,11],"edit":[2,10],"eeprom":10,"effect":5,"effici":[0,2,5,7,9,11],"effort":3,"eg":10,"ei":0,"either":[2,3,6,7,9,10],"elaps":5,"elif":0,"ellipt":[6,7,9,11],"els":[0,2,6,9],"embed":3,"emploi":[3,9],"empow":11,"empti":0,"emptor":4,"emul":2,"enabl":[0,2,3,5,6,7,9,10,11],"enable_ratchet":7,"enable_remote_manag":10,"enable_transport":[9,10],"encapsul":[5,11],"encod":[0,7,10],"encrypt":[0,2,6,7,9,10,11],"encrypted_mdu":7,"end":[0,5,6,7,9,11],"endless":5,"endpoint":[0,6,7,9],"energi":2,"enforc":[5,7],"enforce_ratchet":7,"enhanc":9,"enough":[2,3,9],"ensur":[0,5,7,9,10,11],"ensurepath":2,"enter":[0,10],"entir":[0,2,6,7,9,10],"entiti":9,"entri":[0,2,9],"entrypoint":4,"enumer":0,"envelop":7,"environ":[2,6,9],"environment":9,"environmentlogg":9,"eof":5,"ephemer":[6,7,9,11],"epub":4,"equal":[6,7,9],"equip":[5,6,9],"equival":5,"error":[0,2,8,10],"esc":0,"esc_mask":0,"escap":0,"esp32":3,"especi":[2,3,5],"essenti":[2,5,9],"establish":[0,2,5,6,7,11],"established_callback":7,"establishment_timeout_per_hop":7,"etc":10,"eth0":5,"eth1":5,"ethereum":8,"ethernet":[2,4,5,6,9,11],"even":[0,2,5,6,7,9,10,11],"event":5,"eventu":7,"ever":9,"everi":[0,2,5,6,7,9],"everyon":[6,9],"everyth":[0,6,9],"evolv":6,"exact":[3,5,9],"exactli":[7,9],"exampl":[2,3,4,5,7,9,10,11],"example_util":0,"exampleannouncehandl":0,"exampleconfig":[2,10],"exampleinterfac":0,"exce":[0,5,7],"except":[0,5,7],"excess":5,"exchang":[6,7,9,11],"exclud":[7,9],"execstart":10,"execstartpr":10,"execut":[0,2,5,7,10],"exhaust":[3,9],"exist":[0,2,3,5,9,10,11],"exit":[0,2,7,10],"expand":[9,11],"expand_nam":7,"expect":[0,2,5,7,9,10],"expens":3,"experi":[2,9],"experienc":0,"experiment":[2,11],"expir":5,"expiri":[5,7],"explain":[3,7],"explan":[9,10],"explicit":7,"explicitli":10,"explor":[0,9,11],"export":[2,10],"expos":[5,7],"extend":[0,7],"extens":[5,11],"extern":[0,2,5,7,11],"extra":[2,5,6,10],"extract":10,"extrem":[2,9,10,11],"f":[0,2,10],"f4":5,"f53a1c4278e0726bb73fcc623d6ce763":10,"face":[2,5],"facilit":2,"fact":11,"factor":[5,7,10],"fail":[0,2,7],"failed_callback":[0,7],"failur":[2,5,7],"fals":[0,5,7],"far":[6,9],"fashion":8,"fast":[4,5,7,9],"faster":[2,5,9],"fastest":[5,9],"fe80":2,"featur":[2,5,7,8,9,11],"fedora":2,"feed":[2,7],"feedback":[0,4],"feel":2,"fernet":9,"fetch":10,"few":[2,3,5,6,9,10,11],"fewer":7,"ff":10,"fi":8,"fiber":3,"fibr":11,"field":9,"file":[0,2,3,5,6,7,9,10,11],"file_resourc":0,"file_s":0,"filelist":0,"filelist_data":0,"filelist_receiv":0,"filelist_timeout_job":0,"filenam":0,"filetransf":[2,4,7],"filter":[0,6,9,10],"final":[0,7,9],"find":[2,6,9],"find_spec":0,"firewal":[2,5],"firmwar":[2,3,9,10],"firmware_hash":10,"first":[0,2,5,7,9,10],"fit":0,"five":0,"fix":[4,9],"flag":[0,2,7,9],"flash":10,"flexibl":[2,3,5,11],"flight":7,"float":[0,7],"flow":[0,5,6],"flow_control":5,"flush":0,"folder":[0,2],"follow":[0,2,3,5,7,8,9,10,11],"forc":[0,10],"forcibli":[7,10],"foreground":2,"foremost":11,"form":[2,5,6,7,9],"format":[0,4,10,11],"forth":0,"forum":2,"forward":[5,7,9,11],"forward_ip":5,"forward_port":5,"found":[0,2,5,6,9,10],"foundat":11,"four":6,"frame":[0,5],"free":[2,6,8,11],"freedom":9,"freedv":3,"freeli":9,"freq":10,"frequenc":[3,5,9,10],"frequent":5,"friendli":2,"from":[0,2,3,5,6,7,9,10,11],"from_byt":7,"from_fil":7,"from_identity_hash":7,"fromhex":0,"fruit":0,"ftdi_ft230x_basic_uart_43891ckm":10,"full":[0,2,5,7,9,10,11],"full_hash":7,"full_nam":[7,10],"fulli":[0,2,3,5,9,10,11],"funcion":7,"function":[0,2,3,4,5,6,7,8,10,11],"fundament":[3,9],"further":[2,4,5],"futur":[6,7,9],"fw":10,"g":[0,10],"ga":0,"gain":[2,3,7,9],"galact":9,"gatekeep":9,"gatewai":[0,2,5,6,9],"gbp":10,"gener":[0,2,3,5,6,7,9,10,11],"generalis":11,"geograph":6,"get":[0,3,4,5,7,10,11],"get_ag":7,"get_channel":[0,7],"get_config_obj":0,"get_data_s":7,"get_establishment_r":7,"get_expected_r":7,"get_hash":7,"get_inst":7,"get_mdu":7,"get_mod":7,"get_mtu":7,"get_packet_rssi":0,"get_packet_snr":0,"get_part":7,"get_private_kei":7,"get_progress":[0,7],"get_public_kei":7,"get_q":7,"get_random_hash":[0,7],"get_remote_ident":[0,7],"get_request_id":7,"get_respons":7,"get_response_tim":7,"get_rssi":7,"get_rtt":[0,7],"get_seg":7,"get_snr":7,"get_statu":7,"get_transfer_s":7,"geti2p":5,"ghz":9,"gi":0,"gigabyt":11,"git":2,"github":[0,2,8],"give":[5,9,10],"given":[5,6,7,9],"global":[0,2,5,6,7,9,11],"glue":3,"go":[0,2,5,9],"goal":[4,5],"goe":2,"good":[2,3,6,9,10],"got":0,"got_respons":0,"govern":9,"grace":7,"gracefulli":5,"grape":0,"graphic":2,"gratefulli":8,"great":9,"greater":[7,9,11],"greatli":[2,5],"group":[5,7,9],"group_id":5,"groupinstal":2,"grow":6,"growth":4,"guarante":[2,9],"guess":5,"guid":[2,3,9],"gw":5,"h":[2,10],"ha":[0,2,3,5,6,7,9,11],"hack":11,"had":9,"half":[9,11],"hand":0,"handheld":9,"handl":[0,2,3,5,6,7,9,10,11],"handler":[0,7],"happen":[0,2,7,9],"hard":3,"hardcod":2,"hardlin":6,"hardwar":[0,2,4,5,6,7,9,10,11],"has_path":[0,7],"hasattr":0,"hash":[0,2,7,9,10],"hash1":9,"hash2":9,"hash_from_name_and_ident":7,"hashlib":9,"hashmap":0,"have":[0,2,3,5,6,7,9,10],"hazard":7,"hdlc":0,"head":2,"header":[0,7,9],"header_1":9,"header_2":9,"hear":9,"heard":[7,9],"held":[5,10],"helium":0,"hellman":[6,9],"help":[0,2,6,8,9,10,11],"helper":0,"her":6,"here":[0,2,5,9,10],"heterogen":11,"hex":[0,10],"hexadecim":[0,9,10],"hexbyt":10,"hidden":10,"hide":2,"hierarch":11,"high":[3,5,9,11],"higher":[6,11],"highest":7,"highli":9,"hill":6,"hint":0,"hit":0,"hkdf":9,"hmac":[9,11],"hoc":11,"hold":[5,7,9],"home":[6,10],"homebrew":5,"hop":[5,6,7,9,10,11],"hops_to":7,"host":[0,4,5,9,10],"hostnam":5,"hour":[0,5],"how":[0,2,3,5,6,9,10,11],"howev":[2,6,9],"http":[0,2,8],"hub":[2,5],"human":[0,7,8,9],"hundr":2,"hungri":3,"hw_mtu":0,"hwrev":10,"hz":10,"i":[0,2,3,4,5,6,7,8,9,10],"i2p":[2,4,11],"i2p_tunnel":5,"i2pd":[2,5],"i2pinterfac":[2,5],"ia":10,"ic":3,"ic_burst_freq":5,"ic_burst_freq_new":5,"ic_burst_hold":5,"ic_burst_penalti":5,"ic_held_release_interv":5,"ic_max_held_announc":5,"ic_new_tim":5,"id":[5,7,9,10],"id_callsign":5,"id_interv":5,"idea":[2,9,10],"ideal":[2,11],"ident":[0,2,4,7,10,11],"identif":[4,5,11],"identifi":[0,5,7,9,10],"identifyexampl":0,"identity_data":10,"ie":10,"if00":10,"ifac":[0,2,9,10],"ifac_s":5,"ifconf":0,"ifconfig":10,"ignor":[5,7,9],"ignored_devic":5,"illustr":[0,5,6,9],"immedi":[2,5,10],"impact":[5,7,9],"implement":[0,5,6,7,8,9,11],"implic":5,"implicit":[7,9],"import":[0,2,3,5,6,7,8,9,10],"importlib":0,"imposs":9,"improv":[2,4,5,8],"in_fram":0,"in_wait":0,"inactive_for":7,"inbound":[0,5,7],"includ":[0,3,4,5,7,9,11],"incom":[0,5,7,10],"incompat":[7,9],"increas":[5,7,10],"incur":5,"independ":[7,9,11],"index":[0,2,4],"indic":[0,7],"indirectli":9,"individu":[5,7,9,11],"inevit":9,"infer":9,"influx":5,"info":[7,9,10],"inform":[0,2,4,5,6,7,9,10],"infrastructur":[2,3,5,6,9,10],"ingo":7,"ingress":[0,5],"ingress_control":5,"init":2,"initi":[0,5,6,7,9,11],"initialis":[0,7,10],"input":[0,10],"insert":9,"insid":9,"inspect":[2,5,6,9,10],"instal":[0,4,5,6,9,10,11],"instanc":[0,4,5,7,9,10],"instance_control_port":10,"instance_nam":10,"instanti":7,"instead":[0,2,5,7,9,10],"instruct":2,"int":[0,7],"integ":[0,7],"integr":[2,6,9],"intend":[2,5,6,9],"intens":10,"intention":9,"inter":7,"inter_byte_timeout":0,"interact":[0,2,7,9,10],"interchang":5,"interconnect":[4,5,9],"interest":[2,9],"interfac":[3,4,6,7,10],"interface_class":0,"interface_en":10,"interfer":10,"intermediari":[5,7,9],"intermitt":5,"intern":[0,5,7,9],"internet":[4,5,9,11],"interoper":[2,3,6,9,11],"interrupt":5,"interv":[5,7,10],"intiat":0,"introduc":[2,9],"introduct":4,"intuit":11,"invalid":[0,7],"invers":9,"investig":6,"invis":[2,5],"involv":6,"io":3,"ioerror":0,"iot":3,"ip":[2,3,5,9,10,11],"ipv4":5,"ipv6":[2,5,10],"is_compress":7,"is_connected_to_shared_inst":0,"is_open":0,"is_path_respons":7,"is_ready_to_send":[0,7],"isdir":0,"isfil":0,"isinst":0,"island":6,"ism":[3,9],"isol":[2,5,10],"isp":5,"issu":[4,5,6,8],"its":[3,5,7,9],"itself":[4,9],"iv":[9,11],"j":10,"jail":10,"job":0,"join":[0,2,6,8,9],"json":10,"just":[0,2,3,5,6,9,11],"k":[0,10],"kb":10,"kbp":10,"keep":[0,6,7,9,10,11],"keepal":[7,9],"keepalive_timeout_factor":7,"kei":[0,4,6,7,10,11],"kept":[5,6,7,9],"kernel":[5,10,11],"keyboardinterrupt":0,"keyerror":7,"keypair":9,"keyset":11,"keysiz":7,"keystor":6,"khz":5,"ki":0,"kill":[7,9],"kind":[3,5,6,9],"kiss":[3,4,10,11],"kiss_fram":5,"kissinterfac":[5,10],"know":[0,2,3,6,7,9],"knowledg":[6,9],"known":[0,5,7,9,10],"ko":8,"krypton":0,"l":[5,10],"lack":9,"laid":9,"lan":5,"larg":[0,3,5,6,7,9,11],"larger":[6,9,10],"laser":5,"last":[0,5,7],"last_read_m":0,"last_unit":0,"latenc":[2,9,11],"later":[0,2,5,10],"latest":[0,2,5,7,10],"latest_buff":0,"latest_client_link":0,"laucnh":2,"launch":[2,10],"layer":[3,5,6,7,9,10,11],"lead":[2,9],"leak":2,"learn":[0,2,8,9],"least":[3,5,9,10,11],"leav":[2,6,9],"ledger":9,"left":[5,7,9,10],"legaci":6,"legal":5,"legisl":5,"len":0,"length":[0,5,7,9],"less":[0,2,3,5,7,9,11],"let":[0,2,5,6,9,10],"level":[3,5,9,10],"liber":3,"liberapai":8,"libffi":2,"librari":2,"licens":9,"light":10,"lightweight":11,"like":[0,2,3,5,6,7,9,10,11],"limit":[0,2,3,4,6,9],"line":[0,2,4,5,6,9,10,11],"linger":10,"link":[2,3,4,5,6,7,10,11],"link_clos":0,"link_establish":0,"link_id":[0,7],"link_mtu_discoveri":7,"linkexampl":0,"linux":[2,3,5,9],"list":[0,2,3,5,7,9,11],"list_deliv":0,"list_fil":0,"list_packet":0,"list_receipt":0,"list_timeout":0,"listdir":0,"listen":[0,4,9,10],"listen_ip":5,"listen_on":[2,5],"listen_port":5,"littl":[3,9],"live":7,"lki":9,"lkr":9,"ll":[0,2,11],"ln":[2,10],"load":[0,2,3,7,10,11],"load_private_kei":7,"load_public_kei":7,"local":[0,2,5,6,7,9,10,11],"locat":[2,5,6,9,10],"log":[0,2,5,10],"log_crit":0,"log_error":0,"log_info":0,"log_verbos":0,"logdest":7,"loginctl":10,"loglevel":[0,7,10],"long":[0,2,3,5,7,9],"longer":[0,2,6,9,10],"longest":5,"look":[0,2,5,9,10],"loop":0,"lora":[2,3,4,9,11],"lorawan":[3,9],"loss":[5,9],"lot":9,"low":[2,3,5,6,9,11],"lower":[0,2,5,10],"ltu":3,"lunar":4,"lxmf":[2,7,10],"m":[0,2,9,10],"mac":[5,9],"machin":[2,9],"maco":4,"made":[2,7,9],"mai":[2,5,7,9,10],"main":0,"mainli":6,"maintain":[2,9],"mainten":9,"make":[0,2,3,5,8,9,10,11],"malici":9,"manag":[2,4,6,7,9,11],"mani":[0,2,3,5,6,7,9,10,11],"manipul":[9,11],"manjaro":2,"manner":6,"manual":[0,2,5,6,7,9,10],"manufactur":[3,5],"mark":[7,9],"markqvist":[0,2,8],"master":[0,7],"match":[0,5,9,10],"matter":[2,5],"max":10,"maximum":[0,5,7,9,10],"mbp":10,"mdu":[0,7],"mean":[3,5,6,7,9,10],"meantim":7,"measur":9,"mechan":[4,5,11],"medium":[0,3,5,6,7,9,11],"member":6,"memori":[2,9],"mention":[5,9],"menu":0,"menu_mod":0,"mesh":[2,5,6,11],"meshchat":4,"messag":[0,2,7,9,10],"message_class":7,"messagebas":[0,4,7],"messagecallbacktyp":7,"messeng":9,"metadata":[2,9],"metavar":0,"meth":0,"method":[0,2,5,7,9],"methodologi":[9,10],"mhz":[5,9],"mi":0,"microcontrol":9,"might":[2,5,6,9,10],"mikrotik":3,"millimet":3,"millisecond":[0,10],"mind":[6,11],"minim":[3,4,9],"minimalsampl":0,"minimum":[0,5,6,7,9],"minimum_bitr":7,"minut":[0,2,5,9],"mirror":10,"mislead":2,"miss":[0,2],"mix":[2,5,6,10],"mixtur":11,"mobil":[5,9],"mode":[0,2,3,4,7,9,10,11],"model":10,"modem":[4,5,6,7,9,11],"moder":5,"modern":3,"modifi":[5,9,10],"modul":[0,2,3,5,9,10,11],"moment":9,"momentarili":5,"monero":8,"monitor":9,"moon":0,"more":[0,2,3,5,6,7,9,10,11],"most":[2,3,5,6,7,9,10],"mostli":[5,6,9],"motiv":4,"move":[2,5,9,10],"msgtype":[0,7],"mtu":[0,7,9,11],"much":[2,5,6,9,10,11],"multi":[4,9,10,11],"multicast":5,"multicast_address_typ":5,"multilater":9,"multipl":[0,5,6,9,10],"multiplex":0,"multipoint":9,"must":[0,2,5,6,7,9,10],"mw":5,"my":9,"my_fil":10,"my_ident":10,"mycal":5,"myriad":9,"n":[0,9,10],"name":[0,2,4,5,6,7],"namespac":0,"nano":2,"narg":0,"nat":2,"nativ":0,"natur":5,"nearbi":5,"nears":9,"neccessari":5,"necesarri":5,"necessari":[2,3,5,6,7,9],"necessarili":9,"need":[0,2,3,4,5,6,7,9,10,11],"neg":2,"neglig":9,"neither":[7,9],"neon":0,"neopixel":10,"net":5,"netcat":5,"network":[0,3,5,7,9,10,11],"network_nam":[2,5],"never":[5,7,9],"new":[0,4,6,7,9,10],"new_id":10,"new_ident":10,"newer":[7,9],"newest":9,"newli":[5,6,7,9],"next":[2,6,7,9],"next_hop":7,"next_hop_interfac":7,"nicknam":9,"no1cll":5,"no_data_for":7,"no_inbound_for":7,"no_outbound_for":7,"noauth":10,"nobl":0,"noble_ga":0,"noble_gas":0,"nocheck":10,"node":[2,4,5,6,10,11],"noid":10,"nois":7,"nomad":4,"nomadnet":2,"non":[2,7,9],"none":[0,2,5,7,9,10],"normal":[0,2,5,7,9,10],"notat":[9,10],"note":[0,3,4,5,7,9,10],"noth":[3,11],"notic":[9,10],"notif":[0,7],"now":[0,2,6,9,10],"np":10,"nrf52":3,"nt":0,"num":0,"number":[0,2,5,6,7,9,10],"o":[0,2,5,9,10,11],"object":[0,7],"obscur":2,"obtain":[3,7,9],"obvious":9,"occasion":2,"occur":[0,5,10,11],"ocur":7,"odd":0,"off":[5,9,10,11],"offer":[2,4,5,7,9],"offlin":[0,2],"often":[2,5,6,9,10],"oganesson":0,"old":[0,3,8,9],"older":10,"omit":7,"on_interfac":7,"onc":[0,2,3,5,6,7,9,10,11],"one":[0,2,3,5,6,7,9,10,11],"ones":[5,10],"oneself":9,"onli":[0,2,3,5,6,7,9,10,11],"onlin":[0,10],"onto":[2,9],"open":[0,2,3,5,6,7,8,9,10,11],"open_port":0,"openmodem":[5,11],"openssl":[2,9],"openwrt":4,"oper":[2,3,5,6,7,9,10,11],"opkg":2,"opposit":[0,5],"opt":9,"optic":[3,11],"optim":6,"option":[0,2,3,4,6,7,9,10],"ord":0,"order":[0,7,10],"organ":6,"organis":[5,6,8],"orient":9,"origin":[0,6,9],"os":2,"other":[0,2,3,5,6,7,9,10],"otherwis":[0,7],"our":[0,9],"out":[0,2,3,5,6,7,9,10,11],"outbound":[7,9],"outgo":[0,5,7,9,10],"outli":6,"outlier":6,"outlin":[2,3,9],"output":[5,10],"outsid":[7,11],"over":[0,3,4,5,7,9,10,11],"overal":9,"overcom":9,"overhead":[2,3,5,9],"overlai":2,"overrid":0,"oversight":9,"overview":[4,5,9],"overwhelm":[5,7],"overwrit":10,"own":[0,2,6,7,9,10,11],"owner":0,"p":[0,10],"pack":[0,7],"packag":[0,2,5,9],"packb":0,"packed_s":0,"packet":[0,2,4,5,6,7,10,11],"packet_callback":0,"packet_deliv":0,"packet_hash":0,"packet_receipt":[0,7],"packet_timed_out":0,"packetreceipt":[0,4,7],"pad":[9,11],"page":[2,4,9],"pair":[5,7,9,10],"pamac":2,"panic":[0,10],"panic_on_interface_error":[0,10],"paper":2,"par":[0,2],"parallel":2,"param":0,"paramet":[0,3,5,6,7,9,10],"pariti":[0,5,10],"parity_even":0,"parity_non":0,"parity_odd":0,"pars":0,"parse_arg":0,"parser":0,"part":[0,5,6,7,9,10],"particip":[4,6,9],"particular":[0,3,9],"pass":[0,3,5,6,7,9,10],"passphras":[2,5,9],"path":[0,2,3,5,7,9,10],"path_respons":7,"pathfinder_m":7,"pattern":[3,9],"payload":[0,7,9,10],"pdf":4,"peach":0,"peer":[0,2,5,7,9,10],"penalti":5,"pend":[0,9],"peopl":[2,9],"per":[5,7,9,10,11],"percent":[0,5],"percentag":7,"perfectli":2,"perform":[0,2,5,6,7,9,10],"period":[0,5,7,9],"perman":[5,10],"permissionless":9,"persecut":9,"persist":[5,10],"person":[5,9],"perspect":[5,7,9,11],"pet":0,"philosophi":9,"phy":10,"physic":[0,2,3,5,7,9,10,11],"pi":[0,4,6,9,10,11],"pick":9,"piec":9,"ping":[2,10],"pip":[0,2,3,10],"pip3":2,"pipe":[2,4,11],"pipeinterfac":[3,5],"pipx":2,"pitfal":9,"pkcs7":[9,11],"pkg":2,"place":[0,2,5,6,9,10],"plaform":3,"plain":[0,3,5,7,9],"plain_mdu":7,"plaintext":[0,7],"plan":[6,9],"planetari":11,"platform":[0,3,4,9,10],"pleas":[0,2,5,7,10,11],"plenti":9,"plug":10,"pmr":9,"point":[2,3,5,6,9,10],"pointer":2,"pomelo":0,"poorli":6,"popul":7,"popular":11,"port":[0,2,3,4,5,6,9,11],"port0":10,"portabl":[5,9],"pose":[2,9],"posit":[0,10],"posix":2,"possess":9,"possibl":[2,3,5,6,7,9,10,11],"possibli":[2,9],"post":0,"postfix":10,"potenti":[0,2,5,8,9,10,11],"power":[2,3,5,9,10,11],"powershel":2,"ppp":0,"practic":[2,9,11],"pre":[2,7,9],"preambl":[5,10],"preced":0,"precompil":2,"predict":9,"prefer":[2,9],"prefer_ipv6":5,"prepar":[0,6],"prerequisit":7,"presenc":7,"present":5,"preserv":[2,7],"preshar":9,"press":0,"pretend":9,"pretti":9,"prettyhexrep":0,"previou":0,"previous":[5,6,7,9],"primari":9,"primarili":5,"primit":[2,4],"principl":[9,11],"print":[0,5,10],"print_filelist":0,"print_help":0,"print_menu":0,"priorit":9,"prioriti":9,"prioritis":[4,5,6,7],"privaci":11,"privat":[2,5,7,8,9,10,11],"private_ret":2,"privileg":10,"probabl":[0,2,6,9,10,11],"probe":10,"problem":[2,9],"proc":10,"procedur":[2,7,9],"process":[0,2,3,5,7,9],"process_incom":0,"process_outgo":0,"product":10,"program":[0,3,4,5,7,9,11],"program_setup":0,"programm":9,"programmat":9,"progress":[0,7,10,11],"progress_callback":7,"project":2,"prompt":[0,2],"proof":[0,7,9,10],"proof_packet":0,"proof_requested_callback":7,"proof_strategi":7,"propag":[4,5,7],"proper":2,"properti":[0,6,7],"proport":9,"propos":2,"protocol":[2,3,4,5,11],"prove":[0,9],"prove_al":[0,7],"prove_app":7,"prove_non":7,"proven":[7,9],"provid":[0,2,3,4,5,6,7,9,11],"provis":[3,10],"prv_byte":7,"pseudo":10,"pub_byt":7,"public":[0,4,5,7,10],"public_inform":0,"publicli":[2,5],"pull":2,"purchas":[2,6,9,11],"pure":[4,9],"purg":7,"purpos":[2,3,5,7,9,10],"put":[0,3,5,10],"py":[0,2,9,10],"py3":2,"pyca":[2,9],"pyseri":[0,2],"python":[0,4,7,9,10,11],"python3":[0,2,3],"q":[0,10],"qr":2,"qualiti":7,"queri":[0,2,7,10],"question":[2,3,5],"queu":[7,10],"queue":[5,9],"quickli":[8,9,11],"quiet":[5,10],"quinc":0,"quirk":2,"quit":[0,2],"r":[0,5,9,10],"radio":[4,5,6,7,9,10,11],"radon":0,"rais":[0,7],"rak":3,"ram":[2,5],"randint":0,"random":[0,7,9],"random_text_gener":0,"randomis":9,"randomli":[0,9],"rang":[0,2,3,5,6,9,10,11],"rapidli":5,"rare":[2,5],"raspberri":[4,6,9,10,11],"rasperri":2,"ratchet":[7,9],"ratchet_count":7,"ratchet_expiri":7,"ratchet_id_receiv":7,"ratchet_interv":7,"ratchets":7,"ratchets_path":7,"rate":[0,4,7,10],"rather":[2,7],"ratio":7,"raw":[0,3,7],"rawchannelread":[4,7],"rawchannelwrit":[4,7],"rawiobas":7,"rb":0,"re":[0,5,7,9],"reach":[2,4,5,6],"reachabl":[0,2,5,6,7,9,10],"read":[0,2,5,7,9,10],"read_loop":0,"readabl":[0,7,9],"reader":[0,7],"readi":[0,2,3,5,6,7,11],"readili":11,"ready_byt":[0,7],"ready_callback":7,"real":[3,6,11],"realiti":8,"realli":[5,7],"reappear":5,"reason":[2,5,9],"reassembl":9,"reboot":2,"recal":[0,7,10],"recall_app_data":7,"recap":9,"receipt":[0,7,9],"receiv":[0,2,5,7,9,10],"receive_path_respons":7,"receive_stream_id":7,"received_announc":[0,7],"recent":[7,9],"recept":7,"reception_rssi":0,"reception_snr":0,"reception_stat":0,"recip":2,"recipi":9,"recommend":[0,2,5,9],"recondit":10,"reconnect":0,"reconnect_port":0,"reconstruct":9,"record":[2,9],"recoveri":5,"recreat":9,"recurs":[7,9],"redund":2,"refer":[0,2,4],"regard":9,"regist":[0,7],"register_announce_handl":[0,7],"register_message_typ":[0,7],"register_request_handl":[0,7],"regul":5,"regular":10,"rel":[3,5,9],"relai":2,"relat":2,"releas":[2,5,7,9],"relev":[0,3,5,7,9,10],"reli":[8,9],"reliabl":[3,5,6,7,9,11],"reload":10,"rem":0,"remain":[5,7,9],"rememb":[7,9],"remot":[0,4,7],"remote_ident":[0,7],"remote_identifi":0,"remote_management_allow":10,"remote_management_en":7,"remote_p":0,"remotesensor":9,"remov":[7,10],"remove_message_handl":7,"remove_ready_callback":7,"render":2,"repeat":2,"replac":[0,2,7,9,10],"repli":[0,10],"replic":[3,9],"reply_data":0,"reply_messag":0,"reply_text":0,"report":[5,7,8,10],"repositori":[2,8,9],"repres":9,"represent":[0,7],"request":[2,4,5,7,9,10,11],"request_destin":0,"request_fail":0,"request_id":[0,7],"request_packet":0,"request_path":[0,7],"request_receipt":[0,7],"request_receiv":0,"requested_at":[0,7],"requestexampl":0,"requestor":5,"requestreceipt":[4,7],"requir":[0,2,5,6,7,9,10,11],"require_shared_inst":7,"research":11,"resend":7,"reserv":[0,7],"resid":5,"resili":11,"resolut":2,"resolv":[4,5,9,10],"resourc":[0,2,4,5,7,8],"resource_callback":7,"resource_sending_conclud":0,"resource_strategi":7,"respawn":5,"respawn_delai":5,"respawn_interv":5,"respect":[5,11],"respond":[0,7,10],"respond_to_prob":10,"respons":[4,5,7,9,11],"response_callback":[0,7],"response_gener":[0,7],"rest":[6,11],"restart":10,"restartsec":10,"restor":[2,5],"restrict":[6,10],"result":[0,5,9,10],"retain":[5,7],"retained_ratchet":7,"reticulum":[0,5,6,7],"retransmiss":9,"retransmit":[5,9],"retri":[0,7,9],"retriev":7,"return":[0,7,10],"reveal":[2,7,9,11],"revers":10,"review":[9,11],"revis":10,"rfe":10,"ridicul":9,"right":[5,6],"risc":4,"risk":9,"rn":[0,2,3,7,9,10],"rncp":4,"rnid":4,"rnode":[2,4,9,10,11],"rnodeconf":[3,4],"rnodef3b9":5,"rnodeinterfac":[3,5,10],"rnodemultiinterfac":5,"rnpath":[2,4,5],"rnprobe":[2,4],"rns_bin_dir":10,"rnsd":[2,4],"rnsh":[2,10],"rnspure":[2,9],"rnstatu":[2,4,5,9],"rnstransport":10,"rnx":4,"roadmap":8,"roam":5,"robot":9,"roll":5,"rom":10,"rotat":[7,9,10],"round":[0,7,10],"rout":[2,3,5,6,7,9,10,11],"router":[5,10],"rpc":10,"rpc_kei":10,"rprogress":0,"rssi":[0,7,10],"rtsct":0,"rtt":[0,7,9],"rttstring":0,"rule":[2,4,5],"run":[0,2,3,5,6,7,9,10,11],"runtim":[0,9],"rust":2,"rx":[5,10],"rxb":0,"safe":9,"sai":2,"said":9,"same":[0,2,3,5,6,7,9,10],"satisfi":9,"save":[7,9,10],"save_error":0,"saved_filenam":0,"scalabl":11,"scale":[9,11],"scan":5,"scenario":[2,4,9],"schedul":7,"scheme":3,"scope":5,"scratch":3,"screen":0,"script":[2,3],"scrutini":9,"seamlessli":5,"search":[4,7],"second":[0,5,7,9,10,11],"secreci":[7,9,11],"section":[2,3,5,6,9,10],"secur":[2,9,11],"see":[0,2,5,6,7,9,10,11],"seek":9,"seen":[5,9],"segment":[0,5,6,7,9,11],"select":[0,5],"self":[0,6,11],"semtech":3,"send":[0,5,7,9,10],"send_stream_id":7,"sender":[0,2,6,9,10],"sensibl":[2,3,5],"sensor":9,"sent":[0,2,7,9,10],"sentiment":9,"separ":[0,2,5,6,9,10],"sequenc":[0,7,9,11],"sequenti":11,"seri":3,"serial":[0,2,4,9,11],"serialinterfac":[3,5],"serv":[0,3,5,6,9,10],"serve_path":0,"server":[0,2,3,4,7,10],"server_buffer_readi":0,"server_callback":0,"server_client_connect":0,"server_destin":0,"server_fil":0,"server_ident":0,"server_link":0,"server_loop":0,"server_message_receiv":0,"server_packet_receiv":0,"servic":[2,4,6],"session":[2,9],"set":[0,2,3,5,6,7,9,10,11],"set_default_app_data":7,"set_delivery_callback":[0,7],"set_link_closed_callback":[0,7],"set_link_established_callback":[0,7],"set_packet_callback":[0,7],"set_proof_requested_callback":7,"set_proof_strategi":[0,7],"set_ratchet_interv":7,"set_remote_identified_callback":[0,7],"set_resource_callback":7,"set_resource_concluded_callback":[0,7],"set_resource_started_callback":[0,7],"set_resource_strategi":[0,7],"set_retained_ratchet":7,"set_timeout":[0,7],"set_timeout_callback":[0,7],"setup":[0,2,4,5,10],"sever":[2,6,7,10],"sf":10,"sha":[7,9],"sha256":[9,11],"shall":9,"share":[0,2,6,7,9,10],"share_inst":10,"shared_instance_port":10,"shared_instance_typ":[7,10],"she":6,"shelf":[9,11],"shell":[4,10],"ship":2,"shop":0,"short":[3,5,9,10],"shorter":5,"shorthand":[5,10],"shot":2,"should":[0,2,5,6,7,9,10,11],"should_ingress_limit":0,"should_quit":0,"should_use_implicit_proof":7,"show":[2,10],"shown":0,"side":[5,11],"sideband":4,"sight":6,"sign":[7,9,10],"signal":[0,7,9],"signatur":[7,9,10,11],"significantli":[5,7],"silent":10,"similar":[0,2,3,5,6,7,10,11],"simpl":[0,3,7,9,10,11],"simpler":[5,11],"simplest":[5,9],"simpli":[0,2,3,5,6,9,10],"simplic":9,"simplifi":0,"simplyequip":3,"simultan":[2,9],"sinc":[0,2,5,6,7,9],"singl":[0,5,7,9,10,11],"singular":9,"site":[4,5],"situat":[2,3,5,6,9],"size":[0,2,5,7,9,10],"size_str":0,"skip":0,"sleep":[0,10],"slice":0,"slightli":[0,2],"slottim":[5,10],"slow":[0,5,9],"slower":[5,7,9],"small":[0,2,5,6,7,9,11],"smaller":7,"snippet":2,"snr":[0,7,10],"so":[0,2,3,5,6,7,8,9,10,11],"socket":[5,10,11],"softwar":[2,3,5,9],"solut":[2,9,10],"solv":9,"some":[0,2,3,5,6,7,9,10],"someon":[2,5],"someth":9,"somethign":0,"sometim":[3,5],"somewhat":2,"soon":7,"sort":[5,9,10],"soundmodem":5,"sourc":[0,2,3,6,9,11],"sovereignti":11,"space":[0,2,3,6,9,11],"spam":5,"span":[5,9],"spawn":5,"spe":5,"spec":9,"special":[9,10],"specif":[0,3,4,5,7,10],"specifi":[0,2,3,5,6,7,9,10],"spectrum":[5,9],"speed":[0,5,7,9,10],"split":0,"sponsor":[8,11],"spread":[5,10],"spreadingfactor":5,"squelch":5,"ssh":2,"ssid":5,"stabl":[9,11],"stack":[0,2,6,7,9,10,11],"stage":9,"stai":[0,9,10],"stale":7,"stale_grac":7,"stale_tim":7,"standalon":4,"standard":[3,9],"start":[0,3,4,5,7,9,10],"startup":[0,2,10],"stat":[7,10],"state":0,"static":7,"staticmethod":0,"station":5,"stationari":[6,10],"statist":[0,5,7,8],"statu":[0,2,4,5,7,9,10],"stderr":10,"stdin":[5,10],"stdio":11,"stdout":[0,5,10],"step":[0,2,3],"still":[0,2,5,6,9,10],"stock":0,"stop":[7,11],"stopbit":[0,5,10],"storag":2,"store":[0,7,9,10],"store_tru":0,"str":0,"straightforward":5,"strategi":[5,7],"stream":[0,7,9],"stream_id":[0,7],"strength":[7,11],"strictli":[5,9],"string":[0,7],"stringmessag":0,"strong":9,"struct":0,"structur":[0,7,9,11],"sub":[0,5],"subclass":[0,7],"subinterfac":5,"subject":[2,11],"submit":2,"subnet":[2,6],"subsequ":[0,9],"subset":5,"subsid":5,"succe":2,"succeed":[0,7],"successful":7,"successfulli":[0,7,9],"sudo":[2,10],"suffic":9,"suffici":[2,5,9,10],"suffix":0,"suggest":8,"suit":[2,3,9,10],"suitabl":[0,2,5,6,9,11],"super":0,"suppli":[0,5,6,7,9,11],"supplier":2,"support":[0,2,4,5,6,7,9,10,11],"sure":[0,2,3,10],"surveil":9,"surviv":9,"switch":[3,5,9,10],"sx1262":3,"sx1268":3,"sx1276":3,"sx1278":3,"sx1280":3,"sy":0,"symlink":[2,10],"symmetr":[7,9],"system":[0,2,3,4,5,6,7,8,9,11],"systemctl":10,"systemd":10,"t":[0,2,5,6,7,9,10],"tabl":[2,5,6,9,10],"tag":7,"tail":5,"tailor":9,"take":[0,2,5,9,10,11],"taken":[0,9],"tangerin":0,"tap":3,"target":[0,5,10],"target_hash":7,"target_host":[2,5],"target_port":[2,5],"task":10,"tcp":[2,3,4,6,9,10,11],"tcpclientinterfac":[2,3,5],"tcpinterfac":10,"tcpserverinterfac":[2,5],"tdata":0,"teach":10,"teardown":[0,7],"teardown_reason":0,"teffect":0,"telemetri":8,"tell":[0,5],"temperatur":9,"temporari":5,"temporarili":5,"ten":9,"tend":5,"term":[5,6,9],"termin":[0,2,7],"terminologi":[6,9],"termux":2,"test":[2,9,10],"testnet":[4,10],"text":[0,2,6,9],"tfile":0,"tgz":10,"than":[0,2,5,6,7,9,10,11],"thei":[0,2,5,6,7,9,10],"them":[0,2,3,5,6,8,9,10,11],"themselv":5,"thereaft":9,"therefor":[2,9,11],"thi":[0,2,3,4,5,6,7,9,10,11],"thing":[0,2],"think":[2,3],"thorough":11,"those":[6,9],"though":[2,5,9],"thousand":[2,5,9],"thread":0,"three":[2,6,9],"threshold":5,"throough":5,"throttl":6,"through":[0,2,3,5,6,7,9,10,11],"throughout":9,"throughput":[7,9,11],"thrown":7,"thu":[6,7,9],"ti":[0,9],"time":[0,2,3,5,6,7,9,10],"time_since_last":0,"timeout":[0,7,10],"timeoutarg":0,"timestamp":[0,9],"timestr":0,"tion":5,"tnc":[3,5,7,10,11],"to_fil":7,"todai":9,"togeth":[3,9,10],"token":[7,9,11],"toler":5,"too":[0,6],"tool":[2,3,9,10,11],"top":[6,9],"topic":9,"topographi":[2,6,9],"topologi":[5,9,11],"torn":7,"total":[7,9,11],"total_s":0,"touch":11,"toward":[0,5,9],"track":7,"track_phy_stat":7,"trade":9,"tradit":[6,9],"traffic":[0,2,5,6,7,9,10],"transceiv":[2,3,5,9,11],"transfer":[0,7,9,10,11],"transfer_s":0,"transform":11,"transmiss":[2,5,7,9],"transmit":[0,5,9],"transpar":[3,5,9,10],"transport":[0,2,4,5,6,7,10,11],"transport_en":7,"travers":[7,9],"treat":9,"tri":0,"trip":[0,7,10],"trivial":[9,11],"true":[0,2,5,7,10],"truli":[3,9],"truncat":[7,9,10],"truncated_hash":7,"truncated_hashlength":[0,7],"trust":[9,10],"trustless":[6,9,11],"try":[0,4,5,7],"ttime":0,"ttransfer":0,"ttyacm0":5,"ttyusb0":[0,5,10],"ttyusb1":5,"ttyusb2":5,"tun":[3,5],"tun0":5,"tunnel":[5,9,11],"tupl":7,"turn":[0,5,10],"turnaround":5,"tutori":2,"two":[0,3,5,6,7,9],"tx":[5,10],"txb":0,"txp":10,"txpower":5,"txt":10,"txtail":[5,10],"type":[0,2,4,5,6,7,10],"typeerror":7,"u":[8,9,10],"ubiqu":3,"ubuntu":[4,10],"uci":2,"udp":[4,6,9,10,11],"udpinterfac":5,"uhf":[10,11],"ultim":9,"umsgpack":0,"uncencrypt":0,"uncensor":2,"under":[7,8,10,11],"underli":[0,5,6,7,9,11],"understand":[2,4,7,10],"underwai":2,"unencrypt":[0,7,9],"unequivoc":9,"unexplor":6,"unforg":11,"unfortun":2,"unidentifi":0,"unidirect":0,"unifi":6,"uninterest":0,"uniqu":[0,5,7,9,10,11],"unit":[0,2,7,10],"unknown":[0,5,7,9,10],"unless":[0,2,5,7,9],"unlicens":9,"unlik":9,"unlock":10,"unorganis":6,"unpack":[0,7],"unpackb":0,"unplug":10,"unrecover":[0,10],"unreli":5,"unset":9,"unsupport":7,"until":[0,2,5,7],"unus":10,"unwant":9,"up":[0,2,3,5,6,7,9,10,11],"updat":[0,2,7,9,10],"upgrad":[2,7,9],"upkeep":5,"upon":[0,5,9],"upset":0,"urandom":[9,11],"url":10,"us":[0,3,4,5,6,7,9],"usabl":[5,9],"usag":[2,4,5,7,8,10],"usb":[3,6,9,10],"useabl":9,"user":[0,2,5,6,9,10,11],"user_input":0,"userland":11,"usernameher":10,"usr":10,"usual":2,"utf":0,"util":[0,3,4,5,9],"utilis":[0,2,5,6,7,9,10,11],"v":[4,10],"valid":[0,5,7,9,10],"valu":[0,5,7,9,10],"valuabl":[3,8],"valueerror":[0,7],"vari":[2,5,9,10],"variabl":[0,2,7],"varieti":[5,9,10,11],"variou":[0,2,5,6,9,10,11],"vast":9,"ve":2,"vehicl":5,"vendor":[0,3,11],"verbos":[7,10],"veri":[2,3,5,6,7,8,9,10,11],"verif":[7,9,10],"verifi":[0,2,7,9,10,11],"versa":[6,11],"version":[0,2,7,9,10],"vhf":[6,9,11],"via":[2,3,5,8,9,10,11],"vice":[6,11],"view":[2,5,9,10],"violat":5,"virtual":[2,3,5,6,9,10,11],"visibl":0,"volunt":2,"vport":5,"vvv":2,"w":10,"wa":[0,3,5,6,7,9,10,11],"wai":[0,2,5,6,7,9,10],"wait":[0,5,9,10],"want":[0,2,5,6,9,10,11],"wantedbi":10,"warn":10,"warrant":11,"wast":5,"wave":3,"wb":0,"we":[0,2,3,5,8,9],"weaken":9,"websit":[2,5],"weight":10,"weird":2,"welcom":2,"well":[2,3,5,6,7,9,10,11],"went":0,"were":[0,6],"what":[0,2,4,5,7,9],"whatev":[7,9],"wheel":2,"when":[0,2,3,5,6,7,9,10],"whenev":[0,7,9],"where":[2,3,4,5,6,7,9,10],"whereupon":9,"whether":[0,2,5,7,9],"which":[0,2,5,6,7,9,10],"while":[0,2,3,5,6,7,9,11],"whl":2,"who":[2,5,9],"whole":10,"wide":[2,3,5,9,10,11],"wider":[2,5,9,10],"wifi":[2,4,5,6,9,10,11],"wiki":2,"wildcard":0,"willing":6,"window":[4,5],"wipe":10,"wire":[2,3,4,5,11],"wireless":[3,6],"wirelessli":5,"wish":[0,9,10],"within":[0,2,5,6,7,9],"without":[0,2,3,5,6,9,10,11],"wlan0":5,"wolf":3,"won":0,"word":2,"work":[2,3,5,6,9,10,11],"world":[3,5,6,11],"worri":6,"worth":2,"would":[2,5,6,7,9],"write":[0,2,3,5,7,9,10],"write_timeout":0,"writer":[0,7],"written":[0,9],"wrong":[0,5],"wrote":[0,5],"x":[7,9,10],"x25519":[9,11],"xenon":0,"xonxoff":0,"y":0,"ye":[2,5,9,10],"year":9,"yet":[0,5,9,11],"yggdrasil":5,"yi":0,"you":[0,2,3,4,5,6,7,8,9,10,11],"your":[0,2,3,4,5,6,7,8,9,11],"yourself":[2,9,11],"z":0,"zero":[7,11],"zi":0,"zshrc":2},"titles":["Code Examples","An Explanation of Reticulum for Human Beings","Getting Started Fast","Communications Hardware","Reticulum Network Stack Manual","Configuring Interfaces","Building Networks","API Reference","Support Reticulum","Understanding Reticulum","Using Reticulum on Your System","What is Reticulum?"],"titleterms":{"0":3,"1":3,"25":5,"Beings":1,"Of":4,"The":[9,10],"With":2,"access":9,"ad":2,"an":1,"android":2,"announc":[0,5,9],"api":7,"arm64":2,"auto":5,"ax":5,"backbon":5,"base":[2,3],"basic":9,"beam":3,"board":3,"bookworm":2,"bridg":6,"broadcast":0,"buffer":0,"build":6,"can":11,"caveat":11,"channel":0,"client":5,"code":[0,8,9],"combin":3,"common":5,"commun":3,"concept":6,"configur":[5,10],"connect":[2,5],"content":4,"contribut":8,"control":5,"converg":6,"creat":[2,3],"cryptograph":9,"current":11,"custom":[0,2,5],"data":10,"debian":2,"deck":3,"depend":2,"destin":[5,9],"detail":9,"develop":2,"devic":[3,11],"doe":11,"donat":8,"echo":[0,3],"emptor":11,"entrypoint":2,"establish":9,"ethernet":3,"exampl":[0,6],"explan":1,"fast":2,"feedback":8,"filetransf":0,"fix":10,"format":9,"function":9,"further":9,"get":[2,9],"goal":9,"growth":6,"hardwar":3,"heltec":3,"host":2,"human":1,"i":11,"i2p":5,"ident":9,"identif":0,"improv":10,"includ":[2,10],"indic":4,"instal":[2,3],"instanc":2,"interconnect":6,"interfac":[0,2,5,9,11],"internet":[2,6],"introduct":9,"issu":2,"kei":9,"kiss":5,"lilygo":3,"limit":5,"line":3,"link":[0,9],"listen":5,"lora":[5,6],"lora32":3,"lunar":2,"maco":2,"manag":10,"manual":4,"mechan":9,"meshchat":2,"minim":0,"mode":5,"modem":3,"motiv":9,"multi":5,"name":[9,10],"network":[2,4,6],"new":5,"node":9,"nomad":2,"note":2,"offer":11,"opencom":3,"openwrt":2,"option":5,"over":[2,6],"overview":6,"packet":[3,9],"particip":2,"pi":2,"pipe":5,"platform":2,"port":10,"primit":9,"prioritis":9,"program":[2,10],"propag":9,"protocol":9,"provid":8,"public":[2,9],"pure":2,"python":2,"radio":[2,3],"rak4631":3,"raspberri":2,"rate":5,"reach":9,"refer":[7,9],"remot":[2,5,10],"request":0,"resolv":2,"resourc":9,"respons":0,"reticulum":[1,2,3,4,8,9,10,11],"risc":2,"rncp":10,"rnid":10,"rnode":[3,5],"rnodeconf":10,"rnpath":10,"rnprobe":10,"rnsd":10,"rnstatu":10,"rnx":10,"rule":9,"scenario":6,"serial":[3,5,10],"server":5,"servic":10,"setup":9,"shell":2,"sideband":2,"site":6,"specif":[2,9],"stack":4,"standalon":2,"start":2,"statu":11,"support":[3,8],"suprem":3,"system":10,"systemwid":10,"t":3,"t114":3,"t3s3":3,"tabl":4,"tcp":5,"testnet":2,"transport":9,"try":2,"type":[3,9,11],"ubuntu":2,"udp":5,"understand":9,"unsign":3,"us":[2,10,11],"usag":3,"userspac":10,"util":[2,10],"v":2,"v1":3,"v2":3,"v3":3,"v4":3,"what":11,"where":11,"wifi":3,"window":2,"wire":9,"x":3,"xl":3,"your":10}}) \ No newline at end of file diff --git a/docs/manual/support.html b/docs/manual/support.html index ab4bb28..2b6cb88 100644 --- a/docs/manual/support.html +++ b/docs/manual/support.html @@ -7,7 +7,7 @@ - Support Reticulum - Reticulum Network Stack 1.0.3 documentation + Support Reticulum - Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -368,7 +368,7 @@ report issues, suggest functionality and contribute code to Reticulum.

- + diff --git a/docs/manual/understanding.html b/docs/manual/understanding.html index d5fae30..5f48e22 100644 --- a/docs/manual/understanding.html +++ b/docs/manual/understanding.html @@ -7,7 +7,7 @@ - Understanding Reticulum - Reticulum Network Stack 1.0.3 documentation + Understanding Reticulum - Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
@@ -204,7 +204,7 @@
- Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -381,7 +381,7 @@ to be transported over multiple hops in a complex network to reach the recipient Reticulum uses the singular concept of destinations. Any application using Reticulum as its networking stack will need to create one or more destinations to receive data, and know the destinations it needs to send data to.

-

All destinations in Reticulum are _represented_ as a 16 byte hash. This hash is derived from truncating a full +

All destinations in Reticulum are represented as a 16 byte hash. This hash is derived from truncating a full SHA-256 hash of identifying characteristics of the destination. To users, the destination addresses will be displayed as 16 hexadecimal bytes, like this example: <13425ec15b621c1d928589718000d814>.

The truncation size of 16 bytes (128 bits) for destinations has been chosen as a reasonable trade-off @@ -402,7 +402,7 @@ packet communication can also provide forward secrecy, with automatic key ratche ratchets on a per-destination basis. The multi-hop transport, coordination, verification and reliability layers are fully autonomous and also based on elliptic curve cryptography.

Reticulum also offers symmetric key encryption for group-oriented communications, as well as -unencrypted packets for local broadcast purposes.

+unencrypted packets (for local broadcast purposes only).

Reticulum can connect to a variety of interfaces such as radio modems, data radios and serial ports, and offers the possibility to easily tunnel Reticulum traffic over IP links such as the Internet or private IP networks.

@@ -650,17 +650,26 @@ application specific data, it will replace the old announce.
-

Once an announce has reached a node in the network, any other node in direct contact with that -node will be able to reach the destination the announce originated from, simply by sending a packet -addressed to that destination. Any node with knowledge of the announce will be able to direct the -packet towards the destination by looking up the next node with the shortest amount of hops to the -destination.

+

Once an announce has reached a transport node in the network, any other node in direct contact with that +transport node will be able to reach the destination the announce originated from, simply by sending a packet +addressed to that destination. Any transport node with knowledge of the announce will be able to direct the +packet towards the destination by looking up the most efficient next node to the destination.

According to these rules, an announce will propagate throughout the network in a predictable way, and make the announced destination reachable in a short amount of time. Fast networks that have the capacity to process many announces can reach full convergence very quickly, even when constantly adding new destinations. Slower segments of such networks might take a bit longer to gain full knowledge about the wide and fast networks they are connected to, but can still do so over time, while prioritising full and quickly converging end-to-end connectivity for their local, slower segments.

+
+

Tip

+

Even very slow networks, that simply don’t have the capacity to ever reach full convergence +will generally still be able to reach any other destination on any connected segments, since +interconnecting transport nodes will prioritize announces into the slower segments that are +actually requested by nodes on these.

+

This means that slow, low-capacity or low-resource segments don’t need to have full network +knowledge, since paths can always be recursively resolved from other segments that do have +knowledge about them.

+

In general, even extremely complex networks, that utilize the maximum 128 hops will converge to full end-to-end connectivity in about one minute, given there is enough bandwidth available to process the required amount of announces.

@@ -668,7 +677,7 @@ the required amount of announces.

Reaching the Destination

In networks with changing topology and trustless connectivity, nodes need a way to establish -verified connectivity with each other. Since the network is assumed to be trustless, Reticulum +verified connectivity with each other. Since the underlying network mediums are assumed to be trustless, Reticulum must provide a way to guarantee that the peer you are communicating with is actually who you expect. Reticulum offers two ways to do this.

For exchanges of small amounts of information, Reticulum offers the Packet API, which works exactly like you would expect - on a per packet level. The following process is employed when sending a packet:

@@ -681,7 +690,7 @@ an ECDH key exchange with the destination’s public key (or ratchet key, if ava
  • It is important to note that this key exchange does not require any network traffic. The sender already -knows the public key of the destination from an earlier received announce, and can thus perform the ECDH +knows the public key of the destination from an earlier received announce, and can thus perform the ECDH key exchange locally, before sending the packet.
  • @@ -719,16 +728,16 @@ strictly necessary to use one of the others.

    For exchanges of larger amounts of data, or when longer sessions of bidirectional communication is desired, Reticulum offers the Link API. To establish a link, the following process is employed:

    • -
      First, the node that wishes to establish a link will send out a special packet, that +
      First, the node that wishes to establish a link will send out a link request packet, that traverses the network and locates the desired destination. Along the way, the Transport Nodes that -forward the packet will take note of this link request.
      +forward the packet will take note of this link request, and mark it as pending.
    • Second, if the destination accepts the link request , it will send back a packet that proves the authenticity of its identity (and the receipt of the link request) to the initiating node. All nodes that initially forwarded the packet will also be able to verify this proof, and thus -accept the validity of the link throughout the network.
      +accept the validity of the link throughout the network. The link is now marked as established.
    • @@ -841,8 +850,11 @@ that is used to encrypt the channel. Information can now be exchanged reliably a
    +
    +

    Note

    It’s important to note that this methodology ensures that the source of the request does not need to -reveal any identifying information about itself. The link initiator remains completely anonymous.

    +reveal any identifying information about itself. The link initiator remains completely anonymous.

    +

    When using links, Reticulum will automatically verify all data sent over the link, and can also automate retransmissions if Resources are used.

    @@ -903,27 +915,30 @@ into the future. The current Reference System Setup is as follows:

  • Interface Device

    A data radio consisting of a LoRa radio module, and a microcontroller with open source firmware, that can connect to host devices via USB. It operates in either the 430, 868 or 900 -MHz frequency bands. More details can be found on the RNode Page.

    +MHz frequency bands. More details can be found on the RNode Page.

  • Host Device

    Any computer device running Linux and Python. A Raspberry Pi with a Debian based OS is -recommended.

    +a good place to start, but anything can be used.

  • -
    Software Stack

    The most recently released Python Implementation of Reticulum, running on a Debian based +

    Software Stack

    The most recently released Python Implementation of Reticulum, running on a Linux-based operating system.

  • +
    +

    Note

    To avoid confusion, it is very important to note, that the reference interface device does not use the LoRaWAN standard, but uses a custom MAC layer on top of the plain LoRa modulation! As such, you will -need a plain LoRa radio module connected to an controller with the correct firmware. Full details on how to -get or make such a device is available on the RNode Page.

    +need a plain LoRa radio module connected to a controller with the correct firmware. Full details on how to +get or make such a device is available on the RNode Page.

    +

    With the current reference setup, it should be possible to get on a Reticulum network for around 100$ even if you have none of the hardware already, and need to purchase everything.

    This reference setup is of course just a recommendation for getting started easily, and you should @@ -932,20 +947,20 @@ tailor it to your own specific needs, or whatever hardware you have available.

    Protocol Specifics

    This chapter will detail protocol specific information that is essential to the implementation of -Reticulum, but non critical in understanding how the protocol works on a general level. It should be +Reticulum, but non-critical in understanding how the protocol works on a general level. It should be treated more as a reference than as essential reading.

    Packet Prioritisation

    -

    Currently, Reticulum is completely priority-agnostic regarding general traffic. All traffic is handled -on a first-come, first-serve basis. Announce re-transmission are handled according to the re-transmission -times and priorities described earlier in this chapter.

    +

    Currently, Reticulum is completely priority-agnostic regarding general traffic. All traffic is handled +on a first-come, first-serve basis. Announce re-transmission and other maintenance traffic is handled +according to the re-transmission times and priorities described earlier in this chapter.

    Interface Access Codes

    Reticulum can create named virtual networks, and networks that are only accessible by knowing a preshared passphrase. The configuration of this is detailed in the Common Interface Options -section. To implement these feature, Reticulum uses the concept of Interface Access Codes, that are calculated -and verified per packet.

    +section. To implement this feature, Reticulum uses the concept of Interface Access Codes, that are calculated +and verified per-packet.

    An interface with a named virtual network or passphrase authentication enabled will derive a shared Ed25519 signing identity, and for every outbound packet generate a signature of the entire packet. This signature is then inserted into the packet as an Interface Access Code before transmission. Depending on the speed and @@ -1141,6 +1156,10 @@ instead use the internal pure-python primitives. A trivial consequence of this i with the OpenSSL backend being much faster. The most important consequence however, is the potential loss of security by using primitives that has not seen the same amount of scrutiny, testing and review as those from OpenSSL.

    +

    Using the normal RNS installation procedures, it is not possible to install Reticulum on a +system without the required OpenSSL primitives being available, and if they are not, they will +be resolved and installed as a dependency. It is only possible to use the pure-python primitives +by manually specifying this, for example by using the rnspure package.

    Warning

    If you want to use the internal pure-python primitives, it is highly advisable that you @@ -1248,7 +1267,7 @@ those risks are acceptable to you.

    - + diff --git a/docs/manual/using.html b/docs/manual/using.html index 6d8b983..020a3e7 100644 --- a/docs/manual/using.html +++ b/docs/manual/using.html @@ -7,7 +7,7 @@ - Using Reticulum on Your System - Reticulum Network Stack 1.0.3 documentation + Using Reticulum on Your System - Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
    @@ -204,7 +204,7 @@
    - Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -1191,7 +1191,7 @@ systemctl --user enable rnsd.service
    - + diff --git a/docs/manual/whatis.html b/docs/manual/whatis.html index 006deb6..e126d0f 100644 --- a/docs/manual/whatis.html +++ b/docs/manual/whatis.html @@ -7,7 +7,7 @@ - What is Reticulum? - Reticulum Network Stack 1.0.3 documentation + What is Reticulum? - Reticulum Network Stack 1.0.4 documentation @@ -180,7 +180,7 @@
    @@ -204,7 +204,7 @@
    - Reticulum Network Stack 1.0.3 documentation + Reticulum Network Stack 1.0.4 documentation @@ -494,7 +494,7 @@ want to help out with this, or can help sponsor an audit, please do get in touch
    - +