From 0f8efe3de1cfb0e96c9f55c0026e68f25a7c9d95 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Sun, 24 Nov 2024 14:03:50 +0100 Subject: [PATCH] Updated documentation and manual --- docs/Reticulum Manual.epub | Bin 3591724 -> 3592293 bytes docs/Reticulum Manual.pdf | Bin 3659748 -> 3661133 bytes .../_sources/gettingstartedfast.rst.txt | 27 ++++++++++++++++++ docs/manual/_sources/whatis.rst.txt | 2 +- docs/manual/gettingstartedfast.html | 23 +++++++++++++++ docs/manual/index.html | 1 + docs/manual/reference.html | 2 +- docs/manual/searchindex.js | 2 +- docs/manual/whatis.html | 2 +- docs/source/gettingstartedfast.rst | 27 ++++++++++++++++++ 10 files changed, 82 insertions(+), 4 deletions(-) diff --git a/docs/Reticulum Manual.epub b/docs/Reticulum Manual.epub index 83b2bf77a035711c9e217ccbad3c8743e9ec8f43..017df2b3c32c55a49f25747e678c691524c50ad7 100644 GIT binary patch delta 56767 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 diff --git a/docs/Reticulum Manual.pdf b/docs/Reticulum Manual.pdf index 7dd4f041244b733351f64c7632dcadc4887d4af4..02d000fffa30c0351ed8d8fc28a96d1af7a7fb75 100644 GIT binary patch delta 73776 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%0D)2^**pqv$N3#HLEF_qjM* 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 delta 72470 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

H+PXU@{iBhIXSR}*JGoGIpm`C{t%pk3 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 BO?ChP diff --git a/docs/manual/_sources/gettingstartedfast.rst.txt b/docs/manual/_sources/gettingstartedfast.rst.txt index e2bc637..f295873 100644 --- a/docs/manual/_sources/gettingstartedfast.rst.txt +++ b/docs/manual/_sources/gettingstartedfast.rst.txt @@ -474,6 +474,19 @@ While it is possible to install and run Reticulum on 32-bit Rasperry Pi OSes, it will require manually configuring and installing some packages, and is not detailed in this manual. +OpenWRT +^^^^^^^^^^^^^^^^^^^^^^^^^ +On OpenWRT systems with sufficient storage and memory, you can easily install +Reticulum and related utilities using the `opkg` package manager and `pip`. + +.. code:: + + # Install dependencies + opkg install python3 python3-pip python3-cryptography python3-pyserial + + # Install Reticulum + pip install rns + Debian Bookworm ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -503,6 +516,13 @@ following section: [global] break-system-packages = true +For a one-shot installation of Reticulum, without globally enabling the ``break-system-packages`` +option, you can use the following command: + +.. code:: text + + pip install rns --break-system-packages + Please note that the "break-system-packages" directive is a somewhat misleading choice of words. Setting it will of course not break any system packages, but will simply allow installing ``pip`` packages user- and system-wide. While this *could* in rare @@ -537,6 +557,13 @@ following section: [global] break-system-packages = true +For a one-shot installation of Reticulum, without globally enabling the ``break-system-packages`` +option, you can use the following command: + +.. code:: text + + pip install rns --break-system-packages + Please note that the "break-system-packages" directive is a somewhat misleading choice of words. Setting it will of course not break any system packages, but will simply allow installing ``pip`` packages user- and system-wide. While this _could_ in rare diff --git a/docs/manual/_sources/whatis.rst.txt b/docs/manual/_sources/whatis.rst.txt index b5586eb..5f30b2b 100644 --- a/docs/manual/_sources/whatis.rst.txt +++ b/docs/manual/_sources/whatis.rst.txt @@ -17,7 +17,7 @@ Reticulum enables secure digital communication that cannot be subjected to outside control, manipulation or censorship. Reticulum enables the construction of both small and potentially planetary-scale -networks, without any need for hierarchical or beaureucratic structures to control +networks, without any need for hierarchical or bureaucratic structures to control or manage them, while ensuring individuals and communities full sovereignty over their own network segments. diff --git a/docs/manual/gettingstartedfast.html b/docs/manual/gettingstartedfast.html index 2bf1392..966361e 100644 --- a/docs/manual/gettingstartedfast.html +++ b/docs/manual/gettingstartedfast.html @@ -601,6 +601,18 @@ don’t always have packages available for some dependencies.

it will require manually configuring and installing some packages, and is not detailed in this manual.

+
+

OpenWRT#

+

On OpenWRT systems with sufficient storage and memory, you can easily install +Reticulum and related utilities using the opkg package manager and pip.

+
# Install dependencies
+opkg install python3 python3-pip python3-cryptography python3-pyserial
+
+# Install Reticulum
+pip install rns
+
+
+

Debian Bookworm#

On versions of Debian released after April 2023, it is no longer possible by default @@ -625,6 +637,11 @@ following section:

break-system-packages = true +

For a one-shot installation of Reticulum, without globally enabling the break-system-packages +option, you can use the following command:

+
pip install rns --break-system-packages
+
+

Please note that the “break-system-packages” directive is a somewhat misleading choice of words. Setting it will of course not break any system packages, but will simply allow installing pip packages user- and system-wide. While this could in rare @@ -654,6 +671,11 @@ following section:

break-system-packages = true +

For a one-shot installation of Reticulum, without globally enabling the break-system-packages +option, you can use the following command:

+
pip install rns --break-system-packages
+
+

Please note that the “break-system-packages” directive is a somewhat misleading choice of words. Setting it will of course not break any system packages, but will simply allow installing pip packages user- and system-wide. While this _could_ in rare @@ -759,6 +781,7 @@ section of this manual.

  • Android
  • ARM64
  • Raspberry Pi
  • +
  • OpenWRT
  • Debian Bookworm
  • Ubuntu Lunar
  • diff --git a/docs/manual/index.html b/docs/manual/index.html index de5d279..795b45a 100644 --- a/docs/manual/index.html +++ b/docs/manual/index.html @@ -261,6 +261,7 @@ to participate in the development of Reticulum itself.

  • Android
  • ARM64
  • Raspberry Pi
  • +
  • OpenWRT
  • Debian Bookworm
  • Ubuntu Lunar
  • diff --git a/docs/manual/reference.html b/docs/manual/reference.html index 5c704d5..1dc640b 100644 --- a/docs/manual/reference.html +++ b/docs/manual/reference.html @@ -228,7 +228,7 @@ This chapter lists and explains all classes exposed by the Reticulum Network Sta

    Reticulum

    -class RNS.Reticulum(configdir=None, loglevel=None, logdest=None, verbosity=None)#
    +class RNS.Reticulum(configdir=None, loglevel=None, logdest=None, verbosity=None, require_shared_instance=False)#

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

    Reticulum enables the construction of both small and potentially planetary-scale -networks, without any need for hierarchical or beaureucratic structures to control +networks, without any need for hierarchical or bureaucratic structures to control or manage them, while ensuring individuals and communities full sovereignty over their own network segments.

    Reticulum is a complete networking stack, and does not need IP or higher diff --git a/docs/source/gettingstartedfast.rst b/docs/source/gettingstartedfast.rst index e2bc637..f295873 100644 --- a/docs/source/gettingstartedfast.rst +++ b/docs/source/gettingstartedfast.rst @@ -474,6 +474,19 @@ While it is possible to install and run Reticulum on 32-bit Rasperry Pi OSes, it will require manually configuring and installing some packages, and is not detailed in this manual. +OpenWRT +^^^^^^^^^^^^^^^^^^^^^^^^^ +On OpenWRT systems with sufficient storage and memory, you can easily install +Reticulum and related utilities using the `opkg` package manager and `pip`. + +.. code:: + + # Install dependencies + opkg install python3 python3-pip python3-cryptography python3-pyserial + + # Install Reticulum + pip install rns + Debian Bookworm ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -503,6 +516,13 @@ following section: [global] break-system-packages = true +For a one-shot installation of Reticulum, without globally enabling the ``break-system-packages`` +option, you can use the following command: + +.. code:: text + + pip install rns --break-system-packages + Please note that the "break-system-packages" directive is a somewhat misleading choice of words. Setting it will of course not break any system packages, but will simply allow installing ``pip`` packages user- and system-wide. While this *could* in rare @@ -537,6 +557,13 @@ following section: [global] break-system-packages = true +For a one-shot installation of Reticulum, without globally enabling the ``break-system-packages`` +option, you can use the following command: + +.. code:: text + + pip install rns --break-system-packages + Please note that the "break-system-packages" directive is a somewhat misleading choice of words. Setting it will of course not break any system packages, but will simply allow installing ``pip`` packages user- and system-wide. While this _could_ in rare