mirror of
https://github.com/markqvist/Reticulum.git
synced 2024-11-26 23:40:18 +00:00
Compare commits
9 Commits
155ea24008
...
7497e7aa0c
Author | SHA1 | Date | |
---|---|---|---|
|
7497e7aa0c | ||
|
efa084fb0f | ||
|
48e4a27054 | ||
|
96cf6a790e | ||
|
d7b54ff397 | ||
|
90ab065073 | ||
|
b6f0784311 | ||
|
e37ec654ee | ||
|
b237d51276 |
12
README.md
12
README.md
@ -35,7 +35,7 @@ userland, and can run on practically any system that runs Python 3.
|
|||||||
## Read The Manual
|
## Read The Manual
|
||||||
The full documentation for Reticulum is available at [markqvist.github.io/Reticulum/manual/](https://markqvist.github.io/Reticulum/manual/).
|
The full documentation for Reticulum is available at [markqvist.github.io/Reticulum/manual/](https://markqvist.github.io/Reticulum/manual/).
|
||||||
|
|
||||||
You can also [download the Reticulum manual as a PDF](https://github.com/markqvist/Reticulum/raw/master/docs/Reticulum%20Manual.pdf)
|
You can also download the [Reticulum manual as a PDF](https://github.com/markqvist/Reticulum/raw/master/docs/Reticulum%20Manual.pdf) or [as an e-book in EPUB format](https://github.com/markqvist/Reticulum/raw/master/docs/Reticulum%20Manual.epub).
|
||||||
|
|
||||||
For more info, see [reticulum.network](https://reticulum.network/)
|
For more info, see [reticulum.network](https://reticulum.network/)
|
||||||
|
|
||||||
@ -59,8 +59,9 @@ For more info, see [reticulum.network](https://reticulum.network/)
|
|||||||
- The API is very easy to use, and provides transfer progress
|
- The API is very easy to use, and provides transfer progress
|
||||||
- Lightweight, flexible and expandable Request/Response mechanism
|
- Lightweight, flexible and expandable Request/Response mechanism
|
||||||
- Efficient link establishment
|
- Efficient link establishment
|
||||||
- Total bandwidth cost of setting up an encrypted link is 3 packets totaling 297 bytes
|
- Total cost of setting up an encrypted and verified link is only 3 packets, totalling 297 bytes
|
||||||
- Low cost of keeping links open at only 0.44 bits per second
|
- Low cost of keeping links open at only 0.44 bits per second
|
||||||
|
- Reliable sequential delivery with Channel and Buffer mechanisms
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
While Reticulum is already a fully featured and functional networking stack,
|
While Reticulum is already a fully featured and functional networking stack,
|
||||||
@ -154,12 +155,15 @@ section of the [Reticulum Manual](https://markqvist.github.io/Reticulum/manual/)
|
|||||||
- An interface status utility called `rnstatus`, that displays information about interfaces
|
- An interface status utility called `rnstatus`, that displays information about interfaces
|
||||||
- The path lookup and management tool `rnpath` letting you view and modify path tables
|
- The path lookup and management tool `rnpath` letting you view and modify path tables
|
||||||
- A diagnostics tool called `rnprobe` for checking connectivity to destinations
|
- A diagnostics tool called `rnprobe` for checking connectivity to destinations
|
||||||
- A simple file transfer program called `rncp` making it easy to copy files to remote systems
|
- A simple file transfer program called `rncp` making it easy to transfer files between systems
|
||||||
|
- The identity management and encryption utility `rnid` let's you manage Identities and encrypt/decrypt files
|
||||||
- The remote command execution program `rnx` let's you run commands and
|
- The remote command execution program `rnx` let's you run commands and
|
||||||
programs and retrieve output from remote systems
|
programs and retrieve output from remote systems
|
||||||
|
|
||||||
All tools, including `rnx` and `rncp`, work reliably and well even over very
|
All tools, including `rnx` and `rncp`, work reliably and well even over very
|
||||||
low-bandwidth links like LoRa or Packet Radio.
|
low-bandwidth links like LoRa or Packet Radio. For full-featured remote shells
|
||||||
|
over Reticulum, also have a look at the [rnsh](https://github.com/acehoss/rnsh)
|
||||||
|
program.
|
||||||
|
|
||||||
## Supported interface types and devices
|
## Supported interface types and devices
|
||||||
|
|
||||||
|
@ -381,7 +381,6 @@ class Channel(contextlib.AbstractContextManager):
|
|||||||
with self._lock:
|
with self._lock:
|
||||||
i = 0
|
i = 0
|
||||||
|
|
||||||
window_overflow = (self._next_rx_sequence+Channel.WINDOW_MAX) % Channel.SEQ_MODULUS
|
|
||||||
for existing in ring:
|
for existing in ring:
|
||||||
|
|
||||||
if envelope.sequence == existing.sequence:
|
if envelope.sequence == existing.sequence:
|
||||||
|
@ -166,8 +166,8 @@ def main():
|
|||||||
RNS.log("Identity request timed out", RNS.LOG_ERROR)
|
RNS.log("Identity request timed out", RNS.LOG_ERROR)
|
||||||
exit(6)
|
exit(6)
|
||||||
else:
|
else:
|
||||||
RNS.log("Received Identity "+str(identity)+" for destination "+RNS.prettyhexrep(destination_hash)+" from the network")
|
|
||||||
identity = RNS.Identity.recall(destination_hash)
|
identity = RNS.Identity.recall(destination_hash)
|
||||||
|
RNS.log("Received Identity "+str(identity)+" for destination "+RNS.prettyhexrep(destination_hash)+" from the network")
|
||||||
|
|
||||||
else:
|
else:
|
||||||
RNS.log("Recalled Identity "+str(identity)+" for destination "+RNS.prettyhexrep(destination_hash))
|
RNS.log("Recalled Identity "+str(identity)+" for destination "+RNS.prettyhexrep(destination_hash))
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -1,4 +1,4 @@
|
|||||||
# Sphinx build info version 1
|
# Sphinx build info version 1
|
||||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||||
config: 71ad04f9b77e073c86e777694a7a1080
|
config: 9ef972bb4338b710c7167c93f93f8e8a
|
||||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||||
|
@ -70,7 +70,8 @@ Remote Shell
|
|||||||
|
|
||||||
The `rnsh <https://github.com/acehoss/rnsh>`_ program lets you establish fully interactive
|
The `rnsh <https://github.com/acehoss/rnsh>`_ program lets you establish fully interactive
|
||||||
remote shell sessions over Reticulum. It also allows you to pipe any program to or from a
|
remote shell sessions over Reticulum. It also allows you to pipe any program to or from a
|
||||||
remote system, and is similar to how ``ssh`` works.
|
remote system, and is similar to how ``ssh`` works. The ``rnsh`` is very efficient, and
|
||||||
|
can facilitate fully interactive shell sessions, even over extremely low-bandwidth links.
|
||||||
|
|
||||||
Nomad Network
|
Nomad Network
|
||||||
^^^^^^^^^^^^^
|
^^^^^^^^^^^^^
|
||||||
@ -281,7 +282,7 @@ started is to install the latest release of Reticulum via pip:
|
|||||||
|
|
||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
pip3 install rns
|
pip install rns
|
||||||
|
|
||||||
The above command will install Reticulum and dependencies, and you will be
|
The above command will install Reticulum and dependencies, and you will be
|
||||||
ready to import and use RNS in your own programs. The next step will most
|
ready to import and use RNS in your own programs. The next step will most
|
||||||
@ -291,7 +292,7 @@ For extended functionality, you can install optional dependencies:
|
|||||||
|
|
||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
pip3 install pyserial
|
pip install pyserial
|
||||||
|
|
||||||
|
|
||||||
Further information can be found in the :ref:`API Reference<api-main>`.
|
Further information can be found in the :ref:`API Reference<api-main>`.
|
||||||
@ -306,7 +307,7 @@ don't use pip, but try this recipe:
|
|||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
pip3 install cryptography pyserial
|
pip install cryptography pyserial
|
||||||
|
|
||||||
# Clone repository
|
# Clone repository
|
||||||
git clone https://github.com/markqvist/Reticulum.git
|
git clone https://github.com/markqvist/Reticulum.git
|
||||||
@ -316,25 +317,25 @@ don't use pip, but try this recipe:
|
|||||||
ln -s ../RNS ./Examples/
|
ln -s ../RNS ./Examples/
|
||||||
|
|
||||||
# Run an example
|
# Run an example
|
||||||
python3 Examples/Echo.py -s
|
python Examples/Echo.py -s
|
||||||
|
|
||||||
# Unless you've manually created a config file, Reticulum will do so now,
|
# Unless you've manually created a config file, Reticulum will do so now,
|
||||||
# and immediately exit. Make any necessary changes to the file:
|
# and immediately exit. Make any necessary changes to the file:
|
||||||
nano ~/.reticulum/config
|
nano ~/.reticulum/config
|
||||||
|
|
||||||
# ... and launch the example again.
|
# ... and launch the example again.
|
||||||
python3 Examples/Echo.py -s
|
python Examples/Echo.py -s
|
||||||
|
|
||||||
# You can now repeat the process on another computer,
|
# You can now repeat the process on another computer,
|
||||||
# and run the same example with -h to get command line options.
|
# and run the same example with -h to get command line options.
|
||||||
python3 Examples/Echo.py -h
|
python Examples/Echo.py -h
|
||||||
|
|
||||||
# Run the example in client mode to "ping" the server.
|
# Run the example in client mode to "ping" the server.
|
||||||
# Replace the hash below with the actual destination hash of your server.
|
# Replace the hash below with the actual destination hash of your server.
|
||||||
python3 Examples/Echo.py 174a64852a75682259ad8b921b8bf416
|
python Examples/Echo.py 174a64852a75682259ad8b921b8bf416
|
||||||
|
|
||||||
# Have a look at another example
|
# Have a look at another example
|
||||||
python3 Examples/Filetransfer.py -h
|
python Examples/Filetransfer.py -h
|
||||||
|
|
||||||
When you have experimented with the basic examples, it's time to go read the
|
When you have experimented with the basic examples, it's time to go read the
|
||||||
:ref:`Understanding Reticulum<understanding-main>` chapter. Before submitting
|
:ref:`Understanding Reticulum<understanding-main>` chapter. Before submitting
|
||||||
@ -446,11 +447,11 @@ detailed in this manual.
|
|||||||
|
|
||||||
Debian Bookworm
|
Debian Bookworm
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
On versions of Debian released after April 2023, it is no longer possible
|
On versions of Debian released after April 2023, it is no longer possible by default
|
||||||
to use ``pip`` to install packages onto your system. Unfortunately, you will need to
|
to use ``pip`` to install packages onto your system. Unfortunately, you will need to
|
||||||
use the replacement ``pipx`` command instead, which places installed packages in an
|
use the replacement ``pipx`` command instead, which places installed packages in an
|
||||||
isolated environment. This should not negatively affect Reticulum, but installation
|
isolated environment. This should not negatively affect Reticulum, but will not work
|
||||||
via this method is not fully tested yet.
|
for including and using Reticulum in your own scripts and programs.
|
||||||
|
|
||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
@ -463,14 +464,28 @@ via this method is not fully tested yet.
|
|||||||
# Install Reticulum
|
# Install Reticulum
|
||||||
pipx install rns
|
pipx install rns
|
||||||
|
|
||||||
|
Alternatively, you can restore normal behaviour to ``pip`` by creating or editing
|
||||||
|
the configuration file located at ``~/.config/pip/pip.conf``, and adding the
|
||||||
|
following section:
|
||||||
|
|
||||||
|
.. code:: text
|
||||||
|
|
||||||
|
[global]
|
||||||
|
break-system-packages = true
|
||||||
|
|
||||||
|
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
|
||||||
|
cases lead to version conflicts, it does not generally pose any problems.
|
||||||
|
|
||||||
|
|
||||||
Ubuntu Lunar
|
Ubuntu Lunar
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
On versions of Ubuntu released after April 2023, it is no longer possible
|
On versions of Ubuntu released after April 2023, it is no longer possible by default
|
||||||
to use ``pip`` to install packages onto your system. Unfortunately, you will need to
|
to use ``pip`` to install packages onto your system. Unfortunately, you will need to
|
||||||
use the replacement ``pipx`` command instead, which places installed packages in an
|
use the replacement ``pipx`` command instead, which places installed packages in an
|
||||||
isolated environment. This should not negatively affect Reticulum, but installation
|
isolated environment. This should not negatively affect Reticulum, but will not work
|
||||||
via this method is not fully tested yet.
|
for including and using Reticulum in your own scripts and programs.
|
||||||
|
|
||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
@ -483,14 +498,24 @@ via this method is not fully tested yet.
|
|||||||
# Install Reticulum
|
# Install Reticulum
|
||||||
pipx install rns
|
pipx install rns
|
||||||
|
|
||||||
|
Alternatively, you can restore normal behaviour to ``pip`` by creating or editing
|
||||||
|
the configuration file located at ``~/.config/pip/pip.conf``, and adding the
|
||||||
|
following section:
|
||||||
|
|
||||||
|
.. code:: text
|
||||||
|
|
||||||
|
[global]
|
||||||
|
break-system-packages = true
|
||||||
|
|
||||||
|
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
|
||||||
|
cases lead to version conflicts, it does not generally pose any problems.
|
||||||
|
|
||||||
Pure-Python Reticulum
|
Pure-Python Reticulum
|
||||||
==============================================
|
==============================================
|
||||||
In some rare cases, and on more obscure system types, it is not possible to
|
In some rare cases, and on more obscure system types, it is not possible to
|
||||||
install one or more dependencies
|
install one or more dependencies. In such situations,
|
||||||
|
|
||||||
On more unusual systems, and in some rare cases, it might not be possible to
|
|
||||||
install or even compile one or more of the above modules. In such situations,
|
|
||||||
you can use the ``rnspure`` package instead of the ``rns`` package, or use ``pip``
|
you can use the ``rnspure`` package instead of the ``rns`` package, or use ``pip``
|
||||||
with the ``--no-dependencies`` command-line option. The ``rnspure``
|
with the ``--no-dependencies`` command-line option. The ``rnspure``
|
||||||
package requires no external dependencies for installation. Please note that the
|
package requires no external dependencies for installation. Please note that the
|
||||||
|
@ -24,11 +24,20 @@ starting from scratch.
|
|||||||
This chapter will outline a few different sensible starting paths to get
|
This chapter will outline a few different sensible starting paths to get
|
||||||
real-world functional wireless communications up and running with minimal cost
|
real-world functional wireless communications up and running with minimal cost
|
||||||
and effort. Two fundamental devices categories will be covered, *RNodes* and
|
and effort. Two fundamental devices categories will be covered, *RNodes* and
|
||||||
*WiFi-based radios*.
|
*WiFi-based radios*. Additionally, other common options will be briefly described.
|
||||||
|
|
||||||
|
Knowing how to employ just a few different types of hardware will make it possible
|
||||||
|
to build a wide range of useful networks with little effort.
|
||||||
|
|
||||||
|
Combining Hardware Types
|
||||||
|
========================
|
||||||
|
|
||||||
|
It is useful to combine different link and hardware types when designing and
|
||||||
|
building a network. One useful design pattern is to employ high-capacity point-to-point
|
||||||
|
links based on WiFi or millimeter-wave radios (with high-gain directional antennas)
|
||||||
|
for the network backbone, and using LoRa-based RNodes for covering large areas with
|
||||||
|
connectivity for client devices.
|
||||||
|
|
||||||
While there are many other device categories that are useful in building Reticulum
|
|
||||||
networks, knowing how to employ just these two will make it possible to build
|
|
||||||
a wide range of useful networks with little effort.
|
|
||||||
|
|
||||||
.. _rnode-main:
|
.. _rnode-main:
|
||||||
|
|
||||||
@ -190,13 +199,6 @@ such as serial port and on-air parameters. For v2.x firmwares, you just need to
|
|||||||
the Connection ID of the RNode, and Reticulum will automatically locate and connect to the
|
the Connection ID of the RNode, and Reticulum will automatically locate and connect to the
|
||||||
RNode, using the parameters stored in the RNode itself.
|
RNode, using the parameters stored in the RNode itself.
|
||||||
|
|
||||||
.. _rnode-suppliers:
|
|
||||||
|
|
||||||
Suppliers
|
|
||||||
^^^^^^^^^
|
|
||||||
Get in touch if you want to have your RNode supplier listed here, or if you want help to
|
|
||||||
get started with producing RNodes.
|
|
||||||
|
|
||||||
|
|
||||||
WiFi-based Hardware
|
WiFi-based Hardware
|
||||||
===================
|
===================
|
||||||
@ -231,11 +233,31 @@ that is relatively cheap while providing long range and high capacity for Reticu
|
|||||||
networks. As in all other cases, it is also possible for Reticulum to co-exist with IP
|
networks. As in all other cases, it is also possible for Reticulum to co-exist with IP
|
||||||
networks running concurrently on such devices.
|
networks running concurrently on such devices.
|
||||||
|
|
||||||
Combining Hardware Types
|
Ethernet-based Hardware
|
||||||
========================
|
=======================
|
||||||
|
|
||||||
It is useful to combine different link and hardware types when designing and
|
Reticulum can run over any kind of hardware that can provide a switched Ethernet-based
|
||||||
building a network. One useful design pattern is to employ high-capacity point-to-point
|
medium. This means that anything from a plain Ethernet switch, to fiber-optic systems,
|
||||||
links based on WiFi or millimeter-wave radios (with high-gain directional antennas)
|
to data radios with Ethernet interfaces can be used by Reticulum.
|
||||||
for the network backbone, and using LoRa-based RNodes for covering large areas with
|
|
||||||
connectivity for client devices.
|
The Ethernet medium does not need to have any IP infrastructure such as DHCP servers
|
||||||
|
or routing set up, but in case such infrastructure does exist, Reticulum will simply
|
||||||
|
co-exist with.
|
||||||
|
|
||||||
|
To use Reticulum over Ethernet-based mediums, it is generally enough to use the included
|
||||||
|
:ref:`AutoInterface<interfaces-auto>`. This interface also works over any kind of
|
||||||
|
virtual networking adapter, such as ``tun`` and ``tap`` devices in Linux.
|
||||||
|
|
||||||
|
Serial Lines & Devices
|
||||||
|
======================
|
||||||
|
|
||||||
|
Using Reticulum over any kind of raw serial line is also possible with the
|
||||||
|
:ref:`SerialInterface<interfaces-serial>`. This interface type is also useful for
|
||||||
|
using Reticulum over communications hardware that provides a serial port interface.
|
||||||
|
|
||||||
|
Packet Radio Modems
|
||||||
|
===================
|
||||||
|
|
||||||
|
Any packet radio modem that provides a standard KISS interface over USB, serial or TCP
|
||||||
|
can be used with Reticulum. This includes virtual software modems such as
|
||||||
|
`FreeDV TNC <https://github.com/xssfox/freedv-tnc>`_ and `Dire Wolf <https://github.com/wb2osz/direwolf>`_.
|
||||||
|
@ -145,10 +145,19 @@ configuration file is created. The default configuration looks like this:
|
|||||||
If Reticulum infrastructure already exists locally, you probably don't need to
|
If Reticulum infrastructure already exists locally, you probably don't need to
|
||||||
change anything, and you may already be connected to a wider network. If not,
|
change anything, and you may already be connected to a wider network. If not,
|
||||||
you will probably need to add relevant *interfaces* to the configuration, in
|
you will probably need to add relevant *interfaces* to the configuration, in
|
||||||
order to communicate with other systems. It is a good idea to read the comments
|
order to communicate with other systems.
|
||||||
and explanations in the above default config. It will teach you the basic
|
|
||||||
concepts you need to understand to configure your network. Once you have done that,
|
You can generate a much more verbose configuration example by running the command:
|
||||||
take a look at the :ref:`Interfaces<interfaces-main>` chapter of this manual.
|
|
||||||
|
``rnsd --exampleconfig``
|
||||||
|
|
||||||
|
The output includes examples for most interface types supported
|
||||||
|
by Reticulum, along with additional options and configuration parameters.
|
||||||
|
|
||||||
|
It is a good idea to read the comments and explanations in the above default config.
|
||||||
|
It will teach you the basic concepts you need to understand to configure your network.
|
||||||
|
Once you have done that, take a look at the :ref:`Interfaces<interfaces-main>` chapter
|
||||||
|
of this manual.
|
||||||
|
|
||||||
Included Utility Programs
|
Included Utility Programs
|
||||||
-------------------------
|
-------------------------
|
||||||
@ -254,6 +263,81 @@ interfaces, similar to the ``ifconfig`` program.
|
|||||||
-v, --verbose
|
-v, --verbose
|
||||||
|
|
||||||
|
|
||||||
|
The rnid Utility
|
||||||
|
====================
|
||||||
|
|
||||||
|
With the ``rnid`` utility, you can generate, manage and view Reticulum Identities.
|
||||||
|
The program can also calculate Destination hashes, and perform encryption and
|
||||||
|
decryption of files. Using ``rnid``, it is possible to asymmetrically encrypt
|
||||||
|
files and information for any destination hash, and also to create and verify
|
||||||
|
cryptographic signatures.
|
||||||
|
|
||||||
|
.. code:: text
|
||||||
|
|
||||||
|
# Generate a new Identity
|
||||||
|
rnid -g ./new_identity
|
||||||
|
|
||||||
|
# Display Identity key information
|
||||||
|
rnid -i ./new_identity -p
|
||||||
|
|
||||||
|
Loaded Identity <984b74a3f768bef236af4371e6f248cd> from new_id
|
||||||
|
Public Key : 0f4259fef4521ab75a3409e353fe9073eb10783b4912a6a9937c57bf44a62c1e
|
||||||
|
Private Key : Hidden
|
||||||
|
|
||||||
|
# Encrypt a file for an LXMF user
|
||||||
|
rnid -i 8dd57a738226809646089335a6b03695 -e my_file.txt
|
||||||
|
|
||||||
|
Recalled Identity <bc7291552be7a58f361522990465165c> for destination <8dd57a738226809646089335a6b03695>
|
||||||
|
Encrypting my_file.txt
|
||||||
|
File my_file.txt encrypted for <bc7291552be7a58f361522990465165c> to my_file.txt.rfe
|
||||||
|
|
||||||
|
# If the Identity for the destination is not already known,
|
||||||
|
# you can fetch it from the network by using the -R option
|
||||||
|
rnid -R -i 30602def3b3506a28ed33db6f60cc6c9 -e my_file.txt
|
||||||
|
|
||||||
|
Requesting unknown Identity for <30602def3b3506a28ed33db6f60cc6c9>...
|
||||||
|
Received Identity <2b489d06eaf7c543808c76a5332a447d> for destination <30602def3b3506a28ed33db6f60cc6c9> from the network
|
||||||
|
Encrypting my_file.txt
|
||||||
|
File my_file.txt encrypted for <2b489d06eaf7c543808c76a5332a447d> to my_file.txt.rfe
|
||||||
|
|
||||||
|
.. code:: text
|
||||||
|
|
||||||
|
usage: rnid [-h] [--config path] [-i identity] [-g path] [-v] [-q] [-a aspects] [-H aspects] [-e path] [-d path] [-s path] [-V path] [-r path] [-w path] [-f] [-R] [-t seconds] [-p] [-P]
|
||||||
|
[--version]
|
||||||
|
|
||||||
|
Reticulum Identity & Encryption Utility
|
||||||
|
|
||||||
|
options:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--config path path to alternative Reticulum config directory
|
||||||
|
-i identity, --identity identity
|
||||||
|
hexadecimal Reticulum Destination hash or path to Identity file
|
||||||
|
-g path, --generate path
|
||||||
|
generate a new Identity
|
||||||
|
-v, --verbose increase verbosity
|
||||||
|
-q, --quiet decrease verbosity
|
||||||
|
-a aspects, --announce aspects
|
||||||
|
announce a destination based on this Identity
|
||||||
|
-H aspects, --hash aspects
|
||||||
|
show destination hashes for other aspects for this Identity
|
||||||
|
-e path, --encrypt path
|
||||||
|
encrypt file
|
||||||
|
-d path, --decrypt path
|
||||||
|
decrypt file
|
||||||
|
-s path, --sign path sign file
|
||||||
|
-V path, --validate path
|
||||||
|
validate signature
|
||||||
|
-r path, --read path input file path
|
||||||
|
-w path, --write path
|
||||||
|
output file path
|
||||||
|
-f, --force write output even if it overwrites existing files
|
||||||
|
-R, --request request unknown Identities from the network
|
||||||
|
-t seconds identity request timeout before giving up
|
||||||
|
-p, --print-identity print identity info and exit
|
||||||
|
-P, --print-private allow displaying private keys
|
||||||
|
--version show program's version number and exit
|
||||||
|
|
||||||
|
|
||||||
The rnpath Utility
|
The rnpath Utility
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
@ -21,15 +21,15 @@ networks, without any need for hierarchical or beaureucratic structures to contr
|
|||||||
or manage them, while ensuring individuals and communities full sovereignty
|
or manage them, while ensuring individuals and communities full sovereignty
|
||||||
over their own network segments.
|
over their own network segments.
|
||||||
|
|
||||||
Reticulum is a complete networking stack, and does not need IP or higher
|
Reticulum is a **complete networking stack**, and does not need IP or higher
|
||||||
layers, although it is easy to utilise IP (with TCP or UDP) as the underlying
|
layers, although it is easy to utilise IP (with TCP or UDP) as the underlying
|
||||||
carrier for Reticulum. It is therefore trivial to tunnel Reticulum over the
|
carrier for Reticulum. It is therefore trivial to tunnel Reticulum over the
|
||||||
Internet or private IP networks. Reticulum is built directly on cryptographic
|
Internet or private IP networks. Reticulum is built directly on cryptographic
|
||||||
principles, allowing resilience and stable functionality in open and trustless
|
principles, allowing resilience and stable functionality in open and trustless
|
||||||
networks.
|
networks.
|
||||||
|
|
||||||
No kernel modules or drivers are required. Reticulum runs completely in
|
No kernel modules or drivers are required. Reticulum can run completely in
|
||||||
userland, and can run on practically any system that runs Python 3. Reticulum
|
userland, and will run on practically any system that runs Python 3. Reticulum
|
||||||
runs well even on small single-board computers like the Pi Zero.
|
runs well even on small single-board computers like the Pi Zero.
|
||||||
|
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ Current Status
|
|||||||
**Please know!** Reticulum should currently be considered beta software. All core protocol
|
**Please know!** Reticulum should currently be considered beta software. All core protocol
|
||||||
features are implemented and functioning, but additions will probably occur as
|
features are implemented and functioning, but additions will probably occur as
|
||||||
real-world use is explored. *There will be bugs*. The API and wire-format can be
|
real-world use is explored. *There will be bugs*. The API and wire-format can be
|
||||||
considered stable at the moment, but could change if absolutely warranted.
|
considered complete and stable at the moment, but could change if absolutely warranted.
|
||||||
|
|
||||||
|
|
||||||
What does Reticulum Offer?
|
What does Reticulum Offer?
|
||||||
@ -71,7 +71,7 @@ What does Reticulum Offer?
|
|||||||
|
|
||||||
* Efficient link establishment
|
* Efficient link establishment
|
||||||
|
|
||||||
* Total bandwidth cost of setting up a link is only 3 packets, totalling 297 bytes
|
* Total cost of setting up an encrypted and verified link is only 3 packets, totalling 297 bytes
|
||||||
|
|
||||||
* Low cost of keeping links open at only 0.44 bits per second
|
* Low cost of keeping links open at only 0.44 bits per second
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
var DOCUMENTATION_OPTIONS = {
|
var DOCUMENTATION_OPTIONS = {
|
||||||
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
||||||
VERSION: '0.5.8 beta',
|
VERSION: '0.5.9 beta',
|
||||||
LANGUAGE: 'en',
|
LANGUAGE: 'en',
|
||||||
COLLAPSE_INDEX: false,
|
COLLAPSE_INDEX: false,
|
||||||
BUILDER: 'html',
|
BUILDER: 'html',
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Support Reticulum" href="support.html" /><link rel="prev" title="Building Networks" href="networks.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Support Reticulum" href="support.html" /><link rel="prev" title="Building Networks" href="networks.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>Code Examples - Reticulum Network Stack 0.5.8 beta documentation</title>
|
<title>Code Examples - Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -3322,7 +3322,7 @@ interface to efficiently pass files of any size over a Reticulum <a class="refer
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>An Explanation of Reticulum for Human Beings - Reticulum Network Stack 0.5.8 beta documentation</title>
|
<title>An Explanation of Reticulum for Human Beings - Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -257,7 +257,7 @@
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="#" /><link rel="search" title="Search" href="search.html" />
|
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="#" /><link rel="search" title="Search" href="search.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/><title>Index - Reticulum Network Stack 0.5.8 beta documentation</title>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/><title>Index - Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -139,7 +139,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -165,7 +165,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -723,7 +723,7 @@
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Using Reticulum on Your System" href="using.html" /><link rel="prev" title="What is Reticulum?" href="whatis.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Using Reticulum on Your System" href="using.html" /><link rel="prev" title="What is Reticulum?" href="whatis.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>Getting Started Fast - Reticulum Network Stack 0.5.8 beta documentation</title>
|
<title>Getting Started Fast - Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -277,7 +277,8 @@ radio interfaces can then be added later.</p>
|
|||||||
<h3>Remote Shell<a class="headerlink" href="#remote-shell" title="Permalink to this heading">#</a></h3>
|
<h3>Remote Shell<a class="headerlink" href="#remote-shell" title="Permalink to this heading">#</a></h3>
|
||||||
<p>The <a class="reference external" href="https://github.com/acehoss/rnsh">rnsh</a> program lets you establish fully interactive
|
<p>The <a class="reference external" href="https://github.com/acehoss/rnsh">rnsh</a> program lets you establish fully interactive
|
||||||
remote shell sessions over Reticulum. It also allows you to pipe any program to or from a
|
remote shell sessions over Reticulum. It also allows you to pipe any program to or from a
|
||||||
remote system, and is similar to how <code class="docutils literal notranslate"><span class="pre">ssh</span></code> works.</p>
|
remote system, and is similar to how <code class="docutils literal notranslate"><span class="pre">ssh</span></code> works. The <code class="docutils literal notranslate"><span class="pre">rnsh</span></code> is very efficient, and
|
||||||
|
can facilitate fully interactive shell sessions, even over extremely low-bandwidth links.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="nomad-network">
|
<section id="nomad-network">
|
||||||
<h3>Nomad Network<a class="headerlink" href="#nomad-network" title="Permalink to this heading">#</a></h3>
|
<h3>Nomad Network<a class="headerlink" href="#nomad-network" title="Permalink to this heading">#</a></h3>
|
||||||
@ -426,7 +427,7 @@ digital radio transceiver, that integrates easily with Reticulum.</p>
|
|||||||
<p>To build one yourself requires installing a custom firmware on a supported LoRa
|
<p>To build one yourself requires installing a custom firmware on a supported LoRa
|
||||||
development board with an auto-install script. Please see the <a class="reference internal" href="hardware.html#hardware-main"><span class="std std-ref">Communications Hardware</span></a>
|
development board with an auto-install script. Please see the <a class="reference internal" href="hardware.html#hardware-main"><span class="std std-ref">Communications Hardware</span></a>
|
||||||
chapter for a guide. If you prefer purchasing a ready-made unit, you can refer to the
|
chapter for a guide. If you prefer purchasing a ready-made unit, you can refer to the
|
||||||
<a class="reference internal" href="hardware.html#rnode-suppliers"><span class="std std-ref">list of suppliers</span></a>. For more information on RNode, you can also
|
<span class="xref std std-ref">list of suppliers</span>. For more information on RNode, you can also
|
||||||
refer to these additional external resources:</p>
|
refer to these additional external resources:</p>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference external" href="https://unsigned.io/how-to-make-your-own-rnodes/">How To Make Your Own RNodes</a></p></li>
|
<li><p><a class="reference external" href="https://unsigned.io/how-to-make-your-own-rnodes/">How To Make Your Own RNodes</a></p></li>
|
||||||
@ -443,14 +444,14 @@ and propose adding an interface for the hardware.</p>
|
|||||||
<h2>Develop a Program with Reticulum<a class="headerlink" href="#develop-a-program-with-reticulum" title="Permalink to this heading">#</a></h2>
|
<h2>Develop a Program with Reticulum<a class="headerlink" href="#develop-a-program-with-reticulum" title="Permalink to this heading">#</a></h2>
|
||||||
<p>If you want to develop programs that use Reticulum, the easiest way to get
|
<p>If you want to develop programs that use Reticulum, the easiest way to get
|
||||||
started is to install the latest release of Reticulum via pip:</p>
|
started is to install the latest release of Reticulum via pip:</p>
|
||||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip3</span> <span class="n">install</span> <span class="n">rns</span>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">rns</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
<p>The above command will install Reticulum and dependencies, and you will be
|
<p>The above command will install Reticulum and dependencies, and you will be
|
||||||
ready to import and use RNS in your own programs. The next step will most
|
ready to import and use RNS in your own programs. The next step will most
|
||||||
likely be to look at some <a class="reference internal" href="examples.html#examples-main"><span class="std std-ref">Example Programs</span></a>.</p>
|
likely be to look at some <a class="reference internal" href="examples.html#examples-main"><span class="std std-ref">Example Programs</span></a>.</p>
|
||||||
<p>For extended functionality, you can install optional dependencies:</p>
|
<p>For extended functionality, you can install optional dependencies:</p>
|
||||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip3</span> <span class="n">install</span> <span class="n">pyserial</span>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pip</span> <span class="n">install</span> <span class="n">pyserial</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
<p>Further information can be found in the <a class="reference internal" href="reference.html#api-main"><span class="std std-ref">API Reference</span></a>.</p>
|
<p>Further information can be found in the <a class="reference internal" href="reference.html#api-main"><span class="std std-ref">API Reference</span></a>.</p>
|
||||||
@ -461,7 +462,7 @@ likely be to look at some <a class="reference internal" href="examples.html#exam
|
|||||||
utilities, you’ll want to get the latest source from GitHub. In that case,
|
utilities, you’ll want to get the latest source from GitHub. In that case,
|
||||||
don’t use pip, but try this recipe:</p>
|
don’t use pip, but try this recipe:</p>
|
||||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Install dependencies</span>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Install dependencies</span>
|
||||||
<span class="n">pip3</span> <span class="n">install</span> <span class="n">cryptography</span> <span class="n">pyserial</span>
|
<span class="n">pip</span> <span class="n">install</span> <span class="n">cryptography</span> <span class="n">pyserial</span>
|
||||||
|
|
||||||
<span class="c1"># Clone repository</span>
|
<span class="c1"># Clone repository</span>
|
||||||
<span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">markqvist</span><span class="o">/</span><span class="n">Reticulum</span><span class="o">.</span><span class="n">git</span>
|
<span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">markqvist</span><span class="o">/</span><span class="n">Reticulum</span><span class="o">.</span><span class="n">git</span>
|
||||||
@ -471,25 +472,25 @@ don’t use pip, but try this recipe:</p>
|
|||||||
<span class="n">ln</span> <span class="o">-</span><span class="n">s</span> <span class="o">../</span><span class="n">RNS</span> <span class="o">./</span><span class="n">Examples</span><span class="o">/</span>
|
<span class="n">ln</span> <span class="o">-</span><span class="n">s</span> <span class="o">../</span><span class="n">RNS</span> <span class="o">./</span><span class="n">Examples</span><span class="o">/</span>
|
||||||
|
|
||||||
<span class="c1"># Run an example</span>
|
<span class="c1"># Run an example</span>
|
||||||
<span class="n">python3</span> <span class="n">Examples</span><span class="o">/</span><span class="n">Echo</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">s</span>
|
<span class="n">python</span> <span class="n">Examples</span><span class="o">/</span><span class="n">Echo</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">s</span>
|
||||||
|
|
||||||
<span class="c1"># Unless you've manually created a config file, Reticulum will do so now,</span>
|
<span class="c1"># Unless you've manually created a config file, Reticulum will do so now,</span>
|
||||||
<span class="c1"># and immediately exit. Make any necessary changes to the file:</span>
|
<span class="c1"># and immediately exit. Make any necessary changes to the file:</span>
|
||||||
<span class="n">nano</span> <span class="o">~/.</span><span class="n">reticulum</span><span class="o">/</span><span class="n">config</span>
|
<span class="n">nano</span> <span class="o">~/.</span><span class="n">reticulum</span><span class="o">/</span><span class="n">config</span>
|
||||||
|
|
||||||
<span class="c1"># ... and launch the example again.</span>
|
<span class="c1"># ... and launch the example again.</span>
|
||||||
<span class="n">python3</span> <span class="n">Examples</span><span class="o">/</span><span class="n">Echo</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">s</span>
|
<span class="n">python</span> <span class="n">Examples</span><span class="o">/</span><span class="n">Echo</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">s</span>
|
||||||
|
|
||||||
<span class="c1"># You can now repeat the process on another computer,</span>
|
<span class="c1"># You can now repeat the process on another computer,</span>
|
||||||
<span class="c1"># and run the same example with -h to get command line options.</span>
|
<span class="c1"># and run the same example with -h to get command line options.</span>
|
||||||
<span class="n">python3</span> <span class="n">Examples</span><span class="o">/</span><span class="n">Echo</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">h</span>
|
<span class="n">python</span> <span class="n">Examples</span><span class="o">/</span><span class="n">Echo</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">h</span>
|
||||||
|
|
||||||
<span class="c1"># Run the example in client mode to "ping" the server.</span>
|
<span class="c1"># Run the example in client mode to "ping" the server.</span>
|
||||||
<span class="c1"># Replace the hash below with the actual destination hash of your server.</span>
|
<span class="c1"># Replace the hash below with the actual destination hash of your server.</span>
|
||||||
<span class="n">python3</span> <span class="n">Examples</span><span class="o">/</span><span class="n">Echo</span><span class="o">.</span><span class="n">py</span> <span class="mi">174</span><span class="n">a64852a75682259ad8b921b8bf416</span>
|
<span class="n">python</span> <span class="n">Examples</span><span class="o">/</span><span class="n">Echo</span><span class="o">.</span><span class="n">py</span> <span class="mi">174</span><span class="n">a64852a75682259ad8b921b8bf416</span>
|
||||||
|
|
||||||
<span class="c1"># Have a look at another example</span>
|
<span class="c1"># Have a look at another example</span>
|
||||||
<span class="n">python3</span> <span class="n">Examples</span><span class="o">/</span><span class="n">Filetransfer</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">h</span>
|
<span class="n">python</span> <span class="n">Examples</span><span class="o">/</span><span class="n">Filetransfer</span><span class="o">.</span><span class="n">py</span> <span class="o">-</span><span class="n">h</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
<p>When you have experimented with the basic examples, it’s time to go read the
|
<p>When you have experimented with the basic examples, it’s time to go read the
|
||||||
@ -586,11 +587,11 @@ detailed in this manual.</p>
|
|||||||
</section>
|
</section>
|
||||||
<section id="debian-bookworm">
|
<section id="debian-bookworm">
|
||||||
<h3>Debian Bookworm<a class="headerlink" href="#debian-bookworm" title="Permalink to this heading">#</a></h3>
|
<h3>Debian Bookworm<a class="headerlink" href="#debian-bookworm" title="Permalink to this heading">#</a></h3>
|
||||||
<p>On versions of Debian released after April 2023, it is no longer possible
|
<p>On versions of Debian released after April 2023, it is no longer possible by default
|
||||||
to use <code class="docutils literal notranslate"><span class="pre">pip</span></code> to install packages onto your system. Unfortunately, you will need to
|
to use <code class="docutils literal notranslate"><span class="pre">pip</span></code> to install packages onto your system. Unfortunately, you will need to
|
||||||
use the replacement <code class="docutils literal notranslate"><span class="pre">pipx</span></code> command instead, which places installed packages in an
|
use the replacement <code class="docutils literal notranslate"><span class="pre">pipx</span></code> command instead, which places installed packages in an
|
||||||
isolated environment. This should not negatively affect Reticulum, but installation
|
isolated environment. This should not negatively affect Reticulum, but will not work
|
||||||
via this method is not fully tested yet.</p>
|
for including and using Reticulum in your own scripts and programs.</p>
|
||||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Install pipx</span>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Install pipx</span>
|
||||||
<span class="n">sudo</span> <span class="n">apt</span> <span class="n">install</span> <span class="n">pipx</span>
|
<span class="n">sudo</span> <span class="n">apt</span> <span class="n">install</span> <span class="n">pipx</span>
|
||||||
|
|
||||||
@ -601,14 +602,25 @@ via this method is not fully tested yet.</p>
|
|||||||
<span class="n">pipx</span> <span class="n">install</span> <span class="n">rns</span>
|
<span class="n">pipx</span> <span class="n">install</span> <span class="n">rns</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
|
<p>Alternatively, you can restore normal behaviour to <code class="docutils literal notranslate"><span class="pre">pip</span></code> by creating or editing
|
||||||
|
the configuration file located at <code class="docutils literal notranslate"><span class="pre">~/.config/pip/pip.conf</span></code>, and adding the
|
||||||
|
following section:</p>
|
||||||
|
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>[global]
|
||||||
|
break-system-packages = true
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<p>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 <code class="docutils literal notranslate"><span class="pre">pip</span></code> packages user- and system-wide. While this <em>could</em> in rare
|
||||||
|
cases lead to version conflicts, it does not generally pose any problems.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="ubuntu-lunar">
|
<section id="ubuntu-lunar">
|
||||||
<h3>Ubuntu Lunar<a class="headerlink" href="#ubuntu-lunar" title="Permalink to this heading">#</a></h3>
|
<h3>Ubuntu Lunar<a class="headerlink" href="#ubuntu-lunar" title="Permalink to this heading">#</a></h3>
|
||||||
<p>On versions of Ubuntu released after April 2023, it is no longer possible
|
<p>On versions of Ubuntu released after April 2023, it is no longer possible by default
|
||||||
to use <code class="docutils literal notranslate"><span class="pre">pip</span></code> to install packages onto your system. Unfortunately, you will need to
|
to use <code class="docutils literal notranslate"><span class="pre">pip</span></code> to install packages onto your system. Unfortunately, you will need to
|
||||||
use the replacement <code class="docutils literal notranslate"><span class="pre">pipx</span></code> command instead, which places installed packages in an
|
use the replacement <code class="docutils literal notranslate"><span class="pre">pipx</span></code> command instead, which places installed packages in an
|
||||||
isolated environment. This should not negatively affect Reticulum, but installation
|
isolated environment. This should not negatively affect Reticulum, but will not work
|
||||||
via this method is not fully tested yet.</p>
|
for including and using Reticulum in your own scripts and programs.</p>
|
||||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Install pipx</span>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Install pipx</span>
|
||||||
<span class="n">sudo</span> <span class="n">apt</span> <span class="n">install</span> <span class="n">pipx</span>
|
<span class="n">sudo</span> <span class="n">apt</span> <span class="n">install</span> <span class="n">pipx</span>
|
||||||
|
|
||||||
@ -619,14 +631,23 @@ via this method is not fully tested yet.</p>
|
|||||||
<span class="n">pipx</span> <span class="n">install</span> <span class="n">rns</span>
|
<span class="n">pipx</span> <span class="n">install</span> <span class="n">rns</span>
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
|
<p>Alternatively, you can restore normal behaviour to <code class="docutils literal notranslate"><span class="pre">pip</span></code> by creating or editing
|
||||||
|
the configuration file located at <code class="docutils literal notranslate"><span class="pre">~/.config/pip/pip.conf</span></code>, and adding the
|
||||||
|
following section:</p>
|
||||||
|
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>[global]
|
||||||
|
break-system-packages = true
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<p>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 <code class="docutils literal notranslate"><span class="pre">pip</span></code> packages user- and system-wide. While this _could_ in rare
|
||||||
|
cases lead to version conflicts, it does not generally pose any problems.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="pure-python-reticulum">
|
<section id="pure-python-reticulum">
|
||||||
<h2>Pure-Python Reticulum<a class="headerlink" href="#pure-python-reticulum" title="Permalink to this heading">#</a></h2>
|
<h2>Pure-Python Reticulum<a class="headerlink" href="#pure-python-reticulum" title="Permalink to this heading">#</a></h2>
|
||||||
<p>In some rare cases, and on more obscure system types, it is not possible to
|
<p>In some rare cases, and on more obscure system types, it is not possible to
|
||||||
install one or more dependencies</p>
|
install one or more dependencies. In such situations,
|
||||||
<p>On more unusual systems, and in some rare cases, it might not be possible to
|
|
||||||
install or even compile one or more of the above modules. In such situations,
|
|
||||||
you can use the <code class="docutils literal notranslate"><span class="pre">rnspure</span></code> package instead of the <code class="docutils literal notranslate"><span class="pre">rns</span></code> package, or use <code class="docutils literal notranslate"><span class="pre">pip</span></code>
|
you can use the <code class="docutils literal notranslate"><span class="pre">rnspure</span></code> package instead of the <code class="docutils literal notranslate"><span class="pre">rns</span></code> package, or use <code class="docutils literal notranslate"><span class="pre">pip</span></code>
|
||||||
with the <code class="docutils literal notranslate"><span class="pre">--no-dependencies</span></code> command-line option. The <code class="docutils literal notranslate"><span class="pre">rnspure</span></code>
|
with the <code class="docutils literal notranslate"><span class="pre">--no-dependencies</span></code> command-line option. The <code class="docutils literal notranslate"><span class="pre">rnspure</span></code>
|
||||||
package requires no external dependencies for installation. Please note that the
|
package requires no external dependencies for installation. Please note that the
|
||||||
@ -737,7 +758,7 @@ section of this manual.</p>
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Supported Interfaces" href="interfaces.html" /><link rel="prev" title="Understanding Reticulum" href="understanding.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Supported Interfaces" href="interfaces.html" /><link rel="prev" title="Understanding Reticulum" href="understanding.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>Communications Hardware - Reticulum Network Stack 0.5.8 beta documentation</title>
|
<title>Communications Hardware - Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -240,10 +240,17 @@ starting from scratch.</p>
|
|||||||
<p>This chapter will outline a few different sensible starting paths to get
|
<p>This chapter will outline a few different sensible starting paths to get
|
||||||
real-world functional wireless communications up and running with minimal cost
|
real-world functional wireless communications up and running with minimal cost
|
||||||
and effort. Two fundamental devices categories will be covered, <em>RNodes</em> and
|
and effort. Two fundamental devices categories will be covered, <em>RNodes</em> and
|
||||||
<em>WiFi-based radios</em>.</p>
|
<em>WiFi-based radios</em>. Additionally, other common options will be briefly described.</p>
|
||||||
<p>While there are many other device categories that are useful in building Reticulum
|
<p>Knowing how to employ just a few different types of hardware will make it possible
|
||||||
networks, knowing how to employ just these two will make it possible to build
|
to build a wide range of useful networks with little effort.</p>
|
||||||
a wide range of useful networks with little effort.</p>
|
<section id="combining-hardware-types">
|
||||||
|
<h2>Combining Hardware Types<a class="headerlink" href="#combining-hardware-types" title="Permalink to this heading">#</a></h2>
|
||||||
|
<p>It is useful to combine different link and hardware types when designing and
|
||||||
|
building a network. One useful design pattern is to employ high-capacity point-to-point
|
||||||
|
links based on WiFi or millimeter-wave radios (with high-gain directional antennas)
|
||||||
|
for the network backbone, and using LoRa-based RNodes for covering large areas with
|
||||||
|
connectivity for client devices.</p>
|
||||||
|
</section>
|
||||||
<section id="rnode">
|
<section id="rnode">
|
||||||
<span id="rnode-main"></span><h2>RNode<a class="headerlink" href="#rnode" title="Permalink to this heading">#</a></h2>
|
<span id="rnode-main"></span><h2>RNode<a class="headerlink" href="#rnode" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Reliable and general-purpose long-range digital radio transceiver systems are
|
<p>Reliable and general-purpose long-range digital radio transceiver systems are
|
||||||
@ -373,11 +380,6 @@ such as serial port and on-air parameters. For v2.x firmwares, you just need to
|
|||||||
the Connection ID of the RNode, and Reticulum will automatically locate and connect to the
|
the Connection ID of the RNode, and Reticulum will automatically locate and connect to the
|
||||||
RNode, using the parameters stored in the RNode itself.</p>
|
RNode, using the parameters stored in the RNode itself.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="suppliers">
|
|
||||||
<span id="rnode-suppliers"></span><h3>Suppliers<a class="headerlink" href="#suppliers" title="Permalink to this heading">#</a></h3>
|
|
||||||
<p>Get in touch if you want to have your RNode supplier listed here, or if you want help to
|
|
||||||
get started with producing RNodes.</p>
|
|
||||||
</section>
|
|
||||||
</section>
|
</section>
|
||||||
<section id="wifi-based-hardware">
|
<section id="wifi-based-hardware">
|
||||||
<h2>WiFi-based Hardware<a class="headerlink" href="#wifi-based-hardware" title="Permalink to this heading">#</a></h2>
|
<h2>WiFi-based Hardware<a class="headerlink" href="#wifi-based-hardware" title="Permalink to this heading">#</a></h2>
|
||||||
@ -403,13 +405,29 @@ that is relatively cheap while providing long range and high capacity for Reticu
|
|||||||
networks. As in all other cases, it is also possible for Reticulum to co-exist with IP
|
networks. As in all other cases, it is also possible for Reticulum to co-exist with IP
|
||||||
networks running concurrently on such devices.</p>
|
networks running concurrently on such devices.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="combining-hardware-types">
|
<section id="ethernet-based-hardware">
|
||||||
<h2>Combining Hardware Types<a class="headerlink" href="#combining-hardware-types" title="Permalink to this heading">#</a></h2>
|
<h2>Ethernet-based Hardware<a class="headerlink" href="#ethernet-based-hardware" title="Permalink to this heading">#</a></h2>
|
||||||
<p>It is useful to combine different link and hardware types when designing and
|
<p>Reticulum can run over any kind of hardware that can provide a switched Ethernet-based
|
||||||
building a network. One useful design pattern is to employ high-capacity point-to-point
|
medium. This means that anything from a plain Ethernet switch, to fiber-optic systems,
|
||||||
links based on WiFi or millimeter-wave radios (with high-gain directional antennas)
|
to data radios with Ethernet interfaces can be used by Reticulum.</p>
|
||||||
for the network backbone, and using LoRa-based RNodes for covering large areas with
|
<p>The Ethernet medium does not need to have any IP infrastructure such as DHCP servers
|
||||||
connectivity for client devices.</p>
|
or routing set up, but in case such infrastructure does exist, Reticulum will simply
|
||||||
|
co-exist with.</p>
|
||||||
|
<p>To use Reticulum over Ethernet-based mediums, it is generally enough to use the included
|
||||||
|
<a class="reference internal" href="interfaces.html#interfaces-auto"><span class="std std-ref">AutoInterface</span></a>. This interface also works over any kind of
|
||||||
|
virtual networking adapter, such as <code class="docutils literal notranslate"><span class="pre">tun</span></code> and <code class="docutils literal notranslate"><span class="pre">tap</span></code> devices in Linux.</p>
|
||||||
|
</section>
|
||||||
|
<section id="serial-lines-devices">
|
||||||
|
<h2>Serial Lines & Devices<a class="headerlink" href="#serial-lines-devices" title="Permalink to this heading">#</a></h2>
|
||||||
|
<p>Using Reticulum over any kind of raw serial line is also possible with the
|
||||||
|
<a class="reference internal" href="interfaces.html#interfaces-serial"><span class="std std-ref">SerialInterface</span></a>. This interface type is also useful for
|
||||||
|
using Reticulum over communications hardware that provides a serial port interface.</p>
|
||||||
|
</section>
|
||||||
|
<section id="packet-radio-modems">
|
||||||
|
<h2>Packet Radio Modems<a class="headerlink" href="#packet-radio-modems" title="Permalink to this heading">#</a></h2>
|
||||||
|
<p>Any packet radio modem that provides a standard KISS interface over USB, serial or TCP
|
||||||
|
can be used with Reticulum. This includes virtual software modems such as
|
||||||
|
<a class="reference external" href="https://github.com/xssfox/freedv-tnc">FreeDV TNC</a> and <a class="reference external" href="https://github.com/wb2osz/direwolf">Dire Wolf</a>.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@ -470,6 +488,7 @@ connectivity for client devices.</p>
|
|||||||
<div class="toc-tree">
|
<div class="toc-tree">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a class="reference internal" href="#">Communications Hardware</a><ul>
|
<li><a class="reference internal" href="#">Communications Hardware</a><ul>
|
||||||
|
<li><a class="reference internal" href="#combining-hardware-types">Combining Hardware Types</a></li>
|
||||||
<li><a class="reference internal" href="#rnode">RNode</a><ul>
|
<li><a class="reference internal" href="#rnode">RNode</a><ul>
|
||||||
<li><a class="reference internal" href="#creating-rnodes">Creating RNodes</a></li>
|
<li><a class="reference internal" href="#creating-rnodes">Creating RNodes</a></li>
|
||||||
<li><a class="reference internal" href="#supported-boards">Supported Boards</a><ul>
|
<li><a class="reference internal" href="#supported-boards">Supported Boards</a><ul>
|
||||||
@ -483,11 +502,12 @@ connectivity for client devices.</p>
|
|||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#installation">Installation</a></li>
|
<li><a class="reference internal" href="#installation">Installation</a></li>
|
||||||
<li><a class="reference internal" href="#usage-with-reticulum">Usage with Reticulum</a></li>
|
<li><a class="reference internal" href="#usage-with-reticulum">Usage with Reticulum</a></li>
|
||||||
<li><a class="reference internal" href="#suppliers">Suppliers</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="reference internal" href="#wifi-based-hardware">WiFi-based Hardware</a></li>
|
<li><a class="reference internal" href="#wifi-based-hardware">WiFi-based Hardware</a></li>
|
||||||
<li><a class="reference internal" href="#combining-hardware-types">Combining Hardware Types</a></li>
|
<li><a class="reference internal" href="#ethernet-based-hardware">Ethernet-based Hardware</a></li>
|
||||||
|
<li><a class="reference internal" href="#serial-lines-devices">Serial Lines & Devices</a></li>
|
||||||
|
<li><a class="reference internal" href="#packet-radio-modems">Packet Radio Modems</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -499,7 +519,7 @@ connectivity for client devices.</p>
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="What is Reticulum?" href="whatis.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="What is Reticulum?" href="whatis.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>Reticulum Network Stack 0.5.8 beta documentation</title>
|
<title>Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="#"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="#"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -272,6 +272,7 @@ to participate in the development of Reticulum itself.</p>
|
|||||||
<li class="toctree-l2"><a class="reference internal" href="using.html#included-utility-programs">Included Utility Programs</a><ul>
|
<li class="toctree-l2"><a class="reference internal" href="using.html#included-utility-programs">Included Utility Programs</a><ul>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="using.html#the-rnsd-utility">The rnsd Utility</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="using.html#the-rnsd-utility">The rnsd Utility</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="using.html#the-rnstatus-utility">The rnstatus Utility</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="using.html#the-rnstatus-utility">The rnstatus Utility</a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="using.html#the-rnid-utility">The rnid Utility</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="using.html#the-rnpath-utility">The rnpath Utility</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="using.html#the-rnpath-utility">The rnpath Utility</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="using.html#the-rnprobe-utility">The rnprobe Utility</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="using.html#the-rnprobe-utility">The rnprobe Utility</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="using.html#the-rncp-utility">The rncp Utility</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="using.html#the-rncp-utility">The rncp Utility</a></li>
|
||||||
@ -315,16 +316,18 @@ to participate in the development of Reticulum itself.</p>
|
|||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a><ul>
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a><ul>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="hardware.html#combining-hardware-types">Combining Hardware Types</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="hardware.html#rnode">RNode</a><ul>
|
<li class="toctree-l2"><a class="reference internal" href="hardware.html#rnode">RNode</a><ul>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="hardware.html#creating-rnodes">Creating RNodes</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="hardware.html#creating-rnodes">Creating RNodes</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="hardware.html#supported-boards">Supported Boards</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="hardware.html#supported-boards">Supported Boards</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="hardware.html#installation">Installation</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="hardware.html#installation">Installation</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="hardware.html#usage-with-reticulum">Usage with Reticulum</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="hardware.html#usage-with-reticulum">Usage with Reticulum</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="hardware.html#suppliers">Suppliers</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="hardware.html#wifi-based-hardware">WiFi-based Hardware</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="hardware.html#wifi-based-hardware">WiFi-based Hardware</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="hardware.html#combining-hardware-types">Combining Hardware Types</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="hardware.html#ethernet-based-hardware">Ethernet-based Hardware</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="hardware.html#serial-lines-devices">Serial Lines & Devices</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="hardware.html#packet-radio-modems">Packet Radio Modems</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a><ul>
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a><ul>
|
||||||
@ -464,7 +467,7 @@ to participate in the development of Reticulum itself.</p>
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Building Networks" href="networks.html" /><link rel="prev" title="Communications Hardware" href="hardware.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Building Networks" href="networks.html" /><link rel="prev" title="Communications Hardware" href="hardware.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>Supported Interfaces - Reticulum Network Stack 0.5.8 beta documentation</title>
|
<title>Supported Interfaces - Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -1020,7 +1020,7 @@ that a large span of network types can seamlessly <em>co-exist</em> and intercon
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Code Examples" href="examples.html" /><link rel="prev" title="Supported Interfaces" href="interfaces.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Code Examples" href="examples.html" /><link rel="prev" title="Supported Interfaces" href="interfaces.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>Building Networks - Reticulum Network Stack 0.5.8 beta documentation</title>
|
<title>Building Networks - Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -467,7 +467,7 @@ connected outliers are now an integral part of the network.</p>
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
Binary file not shown.
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="prev" title="Support Reticulum" href="support.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="prev" title="Support Reticulum" href="support.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>API Reference - Reticulum Network Stack 0.5.8 beta documentation</title>
|
<title>API Reference - Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -2013,7 +2013,7 @@ will announce it.</p>
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="#" />
|
<meta name="color-scheme" content="light dark"><link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="#" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/><title>Search - Reticulum Network Stack 0.5.8 beta documentation</title><link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/><title>Search - Reticulum Network Stack 0.5.9 beta documentation</title><link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
@ -138,7 +138,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -164,7 +164,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="#" role="search">
|
</a><form class="sidebar-search-container" method="get" action="#" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -262,7 +262,7 @@
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
File diff suppressed because one or more lines are too long
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="API Reference" href="reference.html" /><link rel="prev" title="Code Examples" href="examples.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="API Reference" href="reference.html" /><link rel="prev" title="Code Examples" href="examples.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>Support Reticulum - Reticulum Network Stack 0.5.8 beta documentation</title>
|
<title>Support Reticulum - Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -330,7 +330,7 @@ report issues, suggest functionality and contribute code to Reticulum.</p>
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Communications Hardware" href="hardware.html" /><link rel="prev" title="Using Reticulum on Your System" href="using.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Communications Hardware" href="hardware.html" /><link rel="prev" title="Using Reticulum on Your System" href="using.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>Understanding Reticulum - Reticulum Network Stack 0.5.8 beta documentation</title>
|
<title>Understanding Reticulum - Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -1196,7 +1196,7 @@ those risks are acceptable to you.</p>
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Understanding Reticulum" href="understanding.html" /><link rel="prev" title="Getting Started Fast" href="gettingstartedfast.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Understanding Reticulum" href="understanding.html" /><link rel="prev" title="Getting Started Fast" href="gettingstartedfast.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>Using Reticulum on Your System - Reticulum Network Stack 0.5.8 beta documentation</title>
|
<title>Using Reticulum on Your System - Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -354,10 +354,15 @@ configuration file is created. The default configuration looks like this:</p>
|
|||||||
<p>If Reticulum infrastructure already exists locally, you probably don’t need to
|
<p>If Reticulum infrastructure already exists locally, you probably don’t need to
|
||||||
change anything, and you may already be connected to a wider network. If not,
|
change anything, and you may already be connected to a wider network. If not,
|
||||||
you will probably need to add relevant <em>interfaces</em> to the configuration, in
|
you will probably need to add relevant <em>interfaces</em> to the configuration, in
|
||||||
order to communicate with other systems. It is a good idea to read the comments
|
order to communicate with other systems.</p>
|
||||||
and explanations in the above default config. It will teach you the basic
|
<p>You can generate a much more verbose configuration example by running the command:</p>
|
||||||
concepts you need to understand to configure your network. Once you have done that,
|
<p><code class="docutils literal notranslate"><span class="pre">rnsd</span> <span class="pre">--exampleconfig</span></code></p>
|
||||||
take a look at the <a class="reference internal" href="interfaces.html#interfaces-main"><span class="std std-ref">Interfaces</span></a> chapter of this manual.</p>
|
<p>The output includes examples for most interface types supported
|
||||||
|
by Reticulum, along with additional options and configuration parameters.</p>
|
||||||
|
<p>It is a good idea to read the comments and explanations in the above default config.
|
||||||
|
It will teach you the basic concepts you need to understand to configure your network.
|
||||||
|
Once you have done that, take a look at the <a class="reference internal" href="interfaces.html#interfaces-main"><span class="std std-ref">Interfaces</span></a> chapter
|
||||||
|
of this manual.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="included-utility-programs">
|
<section id="included-utility-programs">
|
||||||
<h2>Included Utility Programs<a class="headerlink" href="#included-utility-programs" title="Permalink to this heading">#</a></h2>
|
<h2>Included Utility Programs<a class="headerlink" href="#included-utility-programs" title="Permalink to this heading">#</a></h2>
|
||||||
@ -451,6 +456,77 @@ optional arguments:
|
|||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
<section id="the-rnid-utility">
|
||||||
|
<h3>The rnid Utility<a class="headerlink" href="#the-rnid-utility" title="Permalink to this heading">#</a></h3>
|
||||||
|
<p>With the <code class="docutils literal notranslate"><span class="pre">rnid</span></code> utility, you can generate, manage and view Reticulum Identities.
|
||||||
|
The program can also calculate Destination hashes, and perform encryption and
|
||||||
|
decryption of files. Using <code class="docutils literal notranslate"><span class="pre">rnid</span></code>, it is possible to asymmetrically encrypt
|
||||||
|
files and information for any destination hash, and also to create and verify
|
||||||
|
cryptographic signatures.</p>
|
||||||
|
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span># Generate a new Identity
|
||||||
|
rnid -g ./new_identity
|
||||||
|
|
||||||
|
# Display Identity key information
|
||||||
|
rnid -i ./new_identity -p
|
||||||
|
|
||||||
|
Loaded Identity <984b74a3f768bef236af4371e6f248cd> from new_id
|
||||||
|
Public Key : 0f4259fef4521ab75a3409e353fe9073eb10783b4912a6a9937c57bf44a62c1e
|
||||||
|
Private Key : Hidden
|
||||||
|
|
||||||
|
# Encrypt a file for an LXMF user
|
||||||
|
rnid -i 8dd57a738226809646089335a6b03695 -e my_file.txt
|
||||||
|
|
||||||
|
Recalled Identity <bc7291552be7a58f361522990465165c> for destination <8dd57a738226809646089335a6b03695>
|
||||||
|
Encrypting my_file.txt
|
||||||
|
File my_file.txt encrypted for <bc7291552be7a58f361522990465165c> to my_file.txt.rfe
|
||||||
|
|
||||||
|
# If the Identity for the destination is not already known,
|
||||||
|
# you can fetch it from the network by using the -R option
|
||||||
|
rnid -R -i 30602def3b3506a28ed33db6f60cc6c9 -e my_file.txt
|
||||||
|
|
||||||
|
Requesting unknown Identity for <30602def3b3506a28ed33db6f60cc6c9>...
|
||||||
|
Received Identity <2b489d06eaf7c543808c76a5332a447d> for destination <30602def3b3506a28ed33db6f60cc6c9> from the network
|
||||||
|
Encrypting my_file.txt
|
||||||
|
File my_file.txt encrypted for <2b489d06eaf7c543808c76a5332a447d> to my_file.txt.rfe
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>usage: rnid [-h] [--config path] [-i identity] [-g path] [-v] [-q] [-a aspects] [-H aspects] [-e path] [-d path] [-s path] [-V path] [-r path] [-w path] [-f] [-R] [-t seconds] [-p] [-P]
|
||||||
|
[--version]
|
||||||
|
|
||||||
|
Reticulum Identity & Encryption Utility
|
||||||
|
|
||||||
|
options:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--config path path to alternative Reticulum config directory
|
||||||
|
-i identity, --identity identity
|
||||||
|
hexadecimal Reticulum Destination hash or path to Identity file
|
||||||
|
-g path, --generate path
|
||||||
|
generate a new Identity
|
||||||
|
-v, --verbose increase verbosity
|
||||||
|
-q, --quiet decrease verbosity
|
||||||
|
-a aspects, --announce aspects
|
||||||
|
announce a destination based on this Identity
|
||||||
|
-H aspects, --hash aspects
|
||||||
|
show destination hashes for other aspects for this Identity
|
||||||
|
-e path, --encrypt path
|
||||||
|
encrypt file
|
||||||
|
-d path, --decrypt path
|
||||||
|
decrypt file
|
||||||
|
-s path, --sign path sign file
|
||||||
|
-V path, --validate path
|
||||||
|
validate signature
|
||||||
|
-r path, --read path input file path
|
||||||
|
-w path, --write path
|
||||||
|
output file path
|
||||||
|
-f, --force write output even if it overwrites existing files
|
||||||
|
-R, --request request unknown Identities from the network
|
||||||
|
-t seconds identity request timeout before giving up
|
||||||
|
-p, --print-identity print identity info and exit
|
||||||
|
-P, --print-private allow displaying private keys
|
||||||
|
--version show program's version number and exit
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
<section id="the-rnpath-utility">
|
<section id="the-rnpath-utility">
|
||||||
<h3>The rnpath Utility<a class="headerlink" href="#the-rnpath-utility" title="Permalink to this heading">#</a></h3>
|
<h3>The rnpath Utility<a class="headerlink" href="#the-rnpath-utility" title="Permalink to this heading">#</a></h3>
|
||||||
<p>With the <code class="docutils literal notranslate"><span class="pre">rnpath</span></code> utility, you can look up and view paths for
|
<p>With the <code class="docutils literal notranslate"><span class="pre">rnpath</span></code> utility, you can look up and view paths for
|
||||||
@ -789,6 +865,7 @@ WantedBy=multi-user.target
|
|||||||
<li><a class="reference internal" href="#included-utility-programs">Included Utility Programs</a><ul>
|
<li><a class="reference internal" href="#included-utility-programs">Included Utility Programs</a><ul>
|
||||||
<li><a class="reference internal" href="#the-rnsd-utility">The rnsd Utility</a></li>
|
<li><a class="reference internal" href="#the-rnsd-utility">The rnsd Utility</a></li>
|
||||||
<li><a class="reference internal" href="#the-rnstatus-utility">The rnstatus Utility</a></li>
|
<li><a class="reference internal" href="#the-rnstatus-utility">The rnstatus Utility</a></li>
|
||||||
|
<li><a class="reference internal" href="#the-rnid-utility">The rnid Utility</a></li>
|
||||||
<li><a class="reference internal" href="#the-rnpath-utility">The rnpath Utility</a></li>
|
<li><a class="reference internal" href="#the-rnpath-utility">The rnpath Utility</a></li>
|
||||||
<li><a class="reference internal" href="#the-rnprobe-utility">The rnprobe Utility</a></li>
|
<li><a class="reference internal" href="#the-rnprobe-utility">The rnprobe Utility</a></li>
|
||||||
<li><a class="reference internal" href="#the-rncp-utility">The rncp Utility</a></li>
|
<li><a class="reference internal" href="#the-rncp-utility">The rncp Utility</a></li>
|
||||||
@ -812,7 +889,7 @@ WantedBy=multi-user.target
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Getting Started Fast" href="gettingstartedfast.html" /><link rel="prev" title="Reticulum Network Stack Manual" href="index.html" />
|
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" /><link rel="next" title="Getting Started Fast" href="gettingstartedfast.html" /><link rel="prev" title="Reticulum Network Stack Manual" href="index.html" />
|
||||||
|
|
||||||
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
<meta name="generator" content="sphinx-7.1.2, furo 2022.09.29.dev1"/>
|
||||||
<title>What is Reticulum? - Reticulum Network Stack 0.5.8 beta documentation</title>
|
<title>What is Reticulum? - Reticulum Network Stack 0.5.9 beta documentation</title>
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=a746c00c" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=189ec851f9bb375a2509b67be1f64f0cf212b702" />
|
||||||
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css?v=76b2166b" />
|
||||||
@ -141,7 +141,7 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-center">
|
<div class="header-center">
|
||||||
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.8 beta documentation</div></a>
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.5.9 beta documentation</div></a>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<div class="theme-toggle-container theme-toggle-header">
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
@ -167,7 +167,7 @@
|
|||||||
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.8 beta documentation</span>
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.5.9 beta documentation</span>
|
||||||
|
|
||||||
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
|
||||||
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
<input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
|
||||||
@ -238,21 +238,21 @@ outside control, manipulation or censorship.</p>
|
|||||||
networks, without any need for hierarchical or beaureucratic structures to control
|
networks, without any need for hierarchical or beaureucratic structures to control
|
||||||
or manage them, while ensuring individuals and communities full sovereignty
|
or manage them, while ensuring individuals and communities full sovereignty
|
||||||
over their own network segments.</p>
|
over their own network segments.</p>
|
||||||
<p>Reticulum is a complete networking stack, and does not need IP or higher
|
<p>Reticulum is a <strong>complete networking stack</strong>, and does not need IP or higher
|
||||||
layers, although it is easy to utilise IP (with TCP or UDP) as the underlying
|
layers, although it is easy to utilise IP (with TCP or UDP) as the underlying
|
||||||
carrier for Reticulum. It is therefore trivial to tunnel Reticulum over the
|
carrier for Reticulum. It is therefore trivial to tunnel Reticulum over the
|
||||||
Internet or private IP networks. Reticulum is built directly on cryptographic
|
Internet or private IP networks. Reticulum is built directly on cryptographic
|
||||||
principles, allowing resilience and stable functionality in open and trustless
|
principles, allowing resilience and stable functionality in open and trustless
|
||||||
networks.</p>
|
networks.</p>
|
||||||
<p>No kernel modules or drivers are required. Reticulum runs completely in
|
<p>No kernel modules or drivers are required. Reticulum can run completely in
|
||||||
userland, and can run on practically any system that runs Python 3. Reticulum
|
userland, and will run on practically any system that runs Python 3. Reticulum
|
||||||
runs well even on small single-board computers like the Pi Zero.</p>
|
runs well even on small single-board computers like the Pi Zero.</p>
|
||||||
<section id="current-status">
|
<section id="current-status">
|
||||||
<h2>Current Status<a class="headerlink" href="#current-status" title="Permalink to this heading">#</a></h2>
|
<h2>Current Status<a class="headerlink" href="#current-status" title="Permalink to this heading">#</a></h2>
|
||||||
<p><strong>Please know!</strong> Reticulum should currently be considered beta software. All core protocol
|
<p><strong>Please know!</strong> Reticulum should currently be considered beta software. All core protocol
|
||||||
features are implemented and functioning, but additions will probably occur as
|
features are implemented and functioning, but additions will probably occur as
|
||||||
real-world use is explored. <em>There will be bugs</em>. The API and wire-format can be
|
real-world use is explored. <em>There will be bugs</em>. The API and wire-format can be
|
||||||
considered stable at the moment, but could change if absolutely warranted.</p>
|
considered complete and stable at the moment, but could change if absolutely warranted.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="what-does-reticulum-offer">
|
<section id="what-does-reticulum-offer">
|
||||||
<h2>What does Reticulum Offer?<a class="headerlink" href="#what-does-reticulum-offer" title="Permalink to this heading">#</a></h2>
|
<h2>What does Reticulum Offer?<a class="headerlink" href="#what-does-reticulum-offer" title="Permalink to this heading">#</a></h2>
|
||||||
@ -275,7 +275,7 @@ considered stable at the moment, but could change if absolutely warranted.</p>
|
|||||||
<li><p>An intuitive and developer-friendly API</p></li>
|
<li><p>An intuitive and developer-friendly API</p></li>
|
||||||
<li><p>Efficient link establishment</p>
|
<li><p>Efficient link establishment</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p>Total bandwidth cost of setting up a link is only 3 packets, totalling 297 bytes</p></li>
|
<li><p>Total cost of setting up an encrypted and verified link is only 3 packets, totalling 297 bytes</p></li>
|
||||||
<li><p>Low cost of keeping links open at only 0.44 bits per second</p></li>
|
<li><p>Low cost of keeping links open at only 0.44 bits per second</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
@ -434,7 +434,7 @@ want to help out with this, or can help sponsor an audit, please do get in touch
|
|||||||
|
|
||||||
</aside>
|
</aside>
|
||||||
</div>
|
</div>
|
||||||
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6d0dd1f9"></script>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=f24f4563"></script>
|
||||||
<script src="_static/doctools.js?v=888ff710"></script>
|
<script src="_static/doctools.js?v=888ff710"></script>
|
||||||
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
|
||||||
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
<script src="_static/scripts/furo.js?v=2c7c1115"></script>
|
||||||
|
@ -70,7 +70,8 @@ Remote Shell
|
|||||||
|
|
||||||
The `rnsh <https://github.com/acehoss/rnsh>`_ program lets you establish fully interactive
|
The `rnsh <https://github.com/acehoss/rnsh>`_ program lets you establish fully interactive
|
||||||
remote shell sessions over Reticulum. It also allows you to pipe any program to or from a
|
remote shell sessions over Reticulum. It also allows you to pipe any program to or from a
|
||||||
remote system, and is similar to how ``ssh`` works.
|
remote system, and is similar to how ``ssh`` works. The ``rnsh`` is very efficient, and
|
||||||
|
can facilitate fully interactive shell sessions, even over extremely low-bandwidth links.
|
||||||
|
|
||||||
Nomad Network
|
Nomad Network
|
||||||
^^^^^^^^^^^^^
|
^^^^^^^^^^^^^
|
||||||
@ -281,7 +282,7 @@ started is to install the latest release of Reticulum via pip:
|
|||||||
|
|
||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
pip3 install rns
|
pip install rns
|
||||||
|
|
||||||
The above command will install Reticulum and dependencies, and you will be
|
The above command will install Reticulum and dependencies, and you will be
|
||||||
ready to import and use RNS in your own programs. The next step will most
|
ready to import and use RNS in your own programs. The next step will most
|
||||||
@ -291,7 +292,7 @@ For extended functionality, you can install optional dependencies:
|
|||||||
|
|
||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
pip3 install pyserial
|
pip install pyserial
|
||||||
|
|
||||||
|
|
||||||
Further information can be found in the :ref:`API Reference<api-main>`.
|
Further information can be found in the :ref:`API Reference<api-main>`.
|
||||||
@ -306,7 +307,7 @@ don't use pip, but try this recipe:
|
|||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
pip3 install cryptography pyserial
|
pip install cryptography pyserial
|
||||||
|
|
||||||
# Clone repository
|
# Clone repository
|
||||||
git clone https://github.com/markqvist/Reticulum.git
|
git clone https://github.com/markqvist/Reticulum.git
|
||||||
@ -316,25 +317,25 @@ don't use pip, but try this recipe:
|
|||||||
ln -s ../RNS ./Examples/
|
ln -s ../RNS ./Examples/
|
||||||
|
|
||||||
# Run an example
|
# Run an example
|
||||||
python3 Examples/Echo.py -s
|
python Examples/Echo.py -s
|
||||||
|
|
||||||
# Unless you've manually created a config file, Reticulum will do so now,
|
# Unless you've manually created a config file, Reticulum will do so now,
|
||||||
# and immediately exit. Make any necessary changes to the file:
|
# and immediately exit. Make any necessary changes to the file:
|
||||||
nano ~/.reticulum/config
|
nano ~/.reticulum/config
|
||||||
|
|
||||||
# ... and launch the example again.
|
# ... and launch the example again.
|
||||||
python3 Examples/Echo.py -s
|
python Examples/Echo.py -s
|
||||||
|
|
||||||
# You can now repeat the process on another computer,
|
# You can now repeat the process on another computer,
|
||||||
# and run the same example with -h to get command line options.
|
# and run the same example with -h to get command line options.
|
||||||
python3 Examples/Echo.py -h
|
python Examples/Echo.py -h
|
||||||
|
|
||||||
# Run the example in client mode to "ping" the server.
|
# Run the example in client mode to "ping" the server.
|
||||||
# Replace the hash below with the actual destination hash of your server.
|
# Replace the hash below with the actual destination hash of your server.
|
||||||
python3 Examples/Echo.py 174a64852a75682259ad8b921b8bf416
|
python Examples/Echo.py 174a64852a75682259ad8b921b8bf416
|
||||||
|
|
||||||
# Have a look at another example
|
# Have a look at another example
|
||||||
python3 Examples/Filetransfer.py -h
|
python Examples/Filetransfer.py -h
|
||||||
|
|
||||||
When you have experimented with the basic examples, it's time to go read the
|
When you have experimented with the basic examples, it's time to go read the
|
||||||
:ref:`Understanding Reticulum<understanding-main>` chapter. Before submitting
|
:ref:`Understanding Reticulum<understanding-main>` chapter. Before submitting
|
||||||
@ -446,11 +447,11 @@ detailed in this manual.
|
|||||||
|
|
||||||
Debian Bookworm
|
Debian Bookworm
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
On versions of Debian released after April 2023, it is no longer possible
|
On versions of Debian released after April 2023, it is no longer possible by default
|
||||||
to use ``pip`` to install packages onto your system. Unfortunately, you will need to
|
to use ``pip`` to install packages onto your system. Unfortunately, you will need to
|
||||||
use the replacement ``pipx`` command instead, which places installed packages in an
|
use the replacement ``pipx`` command instead, which places installed packages in an
|
||||||
isolated environment. This should not negatively affect Reticulum, but installation
|
isolated environment. This should not negatively affect Reticulum, but will not work
|
||||||
via this method is not fully tested yet.
|
for including and using Reticulum in your own scripts and programs.
|
||||||
|
|
||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
@ -463,14 +464,28 @@ via this method is not fully tested yet.
|
|||||||
# Install Reticulum
|
# Install Reticulum
|
||||||
pipx install rns
|
pipx install rns
|
||||||
|
|
||||||
|
Alternatively, you can restore normal behaviour to ``pip`` by creating or editing
|
||||||
|
the configuration file located at ``~/.config/pip/pip.conf``, and adding the
|
||||||
|
following section:
|
||||||
|
|
||||||
|
.. code:: text
|
||||||
|
|
||||||
|
[global]
|
||||||
|
break-system-packages = true
|
||||||
|
|
||||||
|
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
|
||||||
|
cases lead to version conflicts, it does not generally pose any problems.
|
||||||
|
|
||||||
|
|
||||||
Ubuntu Lunar
|
Ubuntu Lunar
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
On versions of Ubuntu released after April 2023, it is no longer possible
|
On versions of Ubuntu released after April 2023, it is no longer possible by default
|
||||||
to use ``pip`` to install packages onto your system. Unfortunately, you will need to
|
to use ``pip`` to install packages onto your system. Unfortunately, you will need to
|
||||||
use the replacement ``pipx`` command instead, which places installed packages in an
|
use the replacement ``pipx`` command instead, which places installed packages in an
|
||||||
isolated environment. This should not negatively affect Reticulum, but installation
|
isolated environment. This should not negatively affect Reticulum, but will not work
|
||||||
via this method is not fully tested yet.
|
for including and using Reticulum in your own scripts and programs.
|
||||||
|
|
||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
@ -483,14 +498,24 @@ via this method is not fully tested yet.
|
|||||||
# Install Reticulum
|
# Install Reticulum
|
||||||
pipx install rns
|
pipx install rns
|
||||||
|
|
||||||
|
Alternatively, you can restore normal behaviour to ``pip`` by creating or editing
|
||||||
|
the configuration file located at ``~/.config/pip/pip.conf``, and adding the
|
||||||
|
following section:
|
||||||
|
|
||||||
|
.. code:: text
|
||||||
|
|
||||||
|
[global]
|
||||||
|
break-system-packages = true
|
||||||
|
|
||||||
|
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
|
||||||
|
cases lead to version conflicts, it does not generally pose any problems.
|
||||||
|
|
||||||
Pure-Python Reticulum
|
Pure-Python Reticulum
|
||||||
==============================================
|
==============================================
|
||||||
In some rare cases, and on more obscure system types, it is not possible to
|
In some rare cases, and on more obscure system types, it is not possible to
|
||||||
install one or more dependencies
|
install one or more dependencies. In such situations,
|
||||||
|
|
||||||
On more unusual systems, and in some rare cases, it might not be possible to
|
|
||||||
install or even compile one or more of the above modules. In such situations,
|
|
||||||
you can use the ``rnspure`` package instead of the ``rns`` package, or use ``pip``
|
you can use the ``rnspure`` package instead of the ``rns`` package, or use ``pip``
|
||||||
with the ``--no-dependencies`` command-line option. The ``rnspure``
|
with the ``--no-dependencies`` command-line option. The ``rnspure``
|
||||||
package requires no external dependencies for installation. Please note that the
|
package requires no external dependencies for installation. Please note that the
|
||||||
|
@ -24,11 +24,20 @@ starting from scratch.
|
|||||||
This chapter will outline a few different sensible starting paths to get
|
This chapter will outline a few different sensible starting paths to get
|
||||||
real-world functional wireless communications up and running with minimal cost
|
real-world functional wireless communications up and running with minimal cost
|
||||||
and effort. Two fundamental devices categories will be covered, *RNodes* and
|
and effort. Two fundamental devices categories will be covered, *RNodes* and
|
||||||
*WiFi-based radios*.
|
*WiFi-based radios*. Additionally, other common options will be briefly described.
|
||||||
|
|
||||||
|
Knowing how to employ just a few different types of hardware will make it possible
|
||||||
|
to build a wide range of useful networks with little effort.
|
||||||
|
|
||||||
|
Combining Hardware Types
|
||||||
|
========================
|
||||||
|
|
||||||
|
It is useful to combine different link and hardware types when designing and
|
||||||
|
building a network. One useful design pattern is to employ high-capacity point-to-point
|
||||||
|
links based on WiFi or millimeter-wave radios (with high-gain directional antennas)
|
||||||
|
for the network backbone, and using LoRa-based RNodes for covering large areas with
|
||||||
|
connectivity for client devices.
|
||||||
|
|
||||||
While there are many other device categories that are useful in building Reticulum
|
|
||||||
networks, knowing how to employ just these two will make it possible to build
|
|
||||||
a wide range of useful networks with little effort.
|
|
||||||
|
|
||||||
.. _rnode-main:
|
.. _rnode-main:
|
||||||
|
|
||||||
@ -190,13 +199,6 @@ such as serial port and on-air parameters. For v2.x firmwares, you just need to
|
|||||||
the Connection ID of the RNode, and Reticulum will automatically locate and connect to the
|
the Connection ID of the RNode, and Reticulum will automatically locate and connect to the
|
||||||
RNode, using the parameters stored in the RNode itself.
|
RNode, using the parameters stored in the RNode itself.
|
||||||
|
|
||||||
.. _rnode-suppliers:
|
|
||||||
|
|
||||||
Suppliers
|
|
||||||
^^^^^^^^^
|
|
||||||
Get in touch if you want to have your RNode supplier listed here, or if you want help to
|
|
||||||
get started with producing RNodes.
|
|
||||||
|
|
||||||
|
|
||||||
WiFi-based Hardware
|
WiFi-based Hardware
|
||||||
===================
|
===================
|
||||||
@ -231,11 +233,31 @@ that is relatively cheap while providing long range and high capacity for Reticu
|
|||||||
networks. As in all other cases, it is also possible for Reticulum to co-exist with IP
|
networks. As in all other cases, it is also possible for Reticulum to co-exist with IP
|
||||||
networks running concurrently on such devices.
|
networks running concurrently on such devices.
|
||||||
|
|
||||||
Combining Hardware Types
|
Ethernet-based Hardware
|
||||||
========================
|
=======================
|
||||||
|
|
||||||
It is useful to combine different link and hardware types when designing and
|
Reticulum can run over any kind of hardware that can provide a switched Ethernet-based
|
||||||
building a network. One useful design pattern is to employ high-capacity point-to-point
|
medium. This means that anything from a plain Ethernet switch, to fiber-optic systems,
|
||||||
links based on WiFi or millimeter-wave radios (with high-gain directional antennas)
|
to data radios with Ethernet interfaces can be used by Reticulum.
|
||||||
for the network backbone, and using LoRa-based RNodes for covering large areas with
|
|
||||||
connectivity for client devices.
|
The Ethernet medium does not need to have any IP infrastructure such as DHCP servers
|
||||||
|
or routing set up, but in case such infrastructure does exist, Reticulum will simply
|
||||||
|
co-exist with.
|
||||||
|
|
||||||
|
To use Reticulum over Ethernet-based mediums, it is generally enough to use the included
|
||||||
|
:ref:`AutoInterface<interfaces-auto>`. This interface also works over any kind of
|
||||||
|
virtual networking adapter, such as ``tun`` and ``tap`` devices in Linux.
|
||||||
|
|
||||||
|
Serial Lines & Devices
|
||||||
|
======================
|
||||||
|
|
||||||
|
Using Reticulum over any kind of raw serial line is also possible with the
|
||||||
|
:ref:`SerialInterface<interfaces-serial>`. This interface type is also useful for
|
||||||
|
using Reticulum over communications hardware that provides a serial port interface.
|
||||||
|
|
||||||
|
Packet Radio Modems
|
||||||
|
===================
|
||||||
|
|
||||||
|
Any packet radio modem that provides a standard KISS interface over USB, serial or TCP
|
||||||
|
can be used with Reticulum. This includes virtual software modems such as
|
||||||
|
`FreeDV TNC <https://github.com/xssfox/freedv-tnc>`_ and `Dire Wolf <https://github.com/wb2osz/direwolf>`_.
|
||||||
|
@ -145,10 +145,19 @@ configuration file is created. The default configuration looks like this:
|
|||||||
If Reticulum infrastructure already exists locally, you probably don't need to
|
If Reticulum infrastructure already exists locally, you probably don't need to
|
||||||
change anything, and you may already be connected to a wider network. If not,
|
change anything, and you may already be connected to a wider network. If not,
|
||||||
you will probably need to add relevant *interfaces* to the configuration, in
|
you will probably need to add relevant *interfaces* to the configuration, in
|
||||||
order to communicate with other systems. It is a good idea to read the comments
|
order to communicate with other systems.
|
||||||
and explanations in the above default config. It will teach you the basic
|
|
||||||
concepts you need to understand to configure your network. Once you have done that,
|
You can generate a much more verbose configuration example by running the command:
|
||||||
take a look at the :ref:`Interfaces<interfaces-main>` chapter of this manual.
|
|
||||||
|
``rnsd --exampleconfig``
|
||||||
|
|
||||||
|
The output includes examples for most interface types supported
|
||||||
|
by Reticulum, along with additional options and configuration parameters.
|
||||||
|
|
||||||
|
It is a good idea to read the comments and explanations in the above default config.
|
||||||
|
It will teach you the basic concepts you need to understand to configure your network.
|
||||||
|
Once you have done that, take a look at the :ref:`Interfaces<interfaces-main>` chapter
|
||||||
|
of this manual.
|
||||||
|
|
||||||
Included Utility Programs
|
Included Utility Programs
|
||||||
-------------------------
|
-------------------------
|
||||||
@ -254,6 +263,81 @@ interfaces, similar to the ``ifconfig`` program.
|
|||||||
-v, --verbose
|
-v, --verbose
|
||||||
|
|
||||||
|
|
||||||
|
The rnid Utility
|
||||||
|
====================
|
||||||
|
|
||||||
|
With the ``rnid`` utility, you can generate, manage and view Reticulum Identities.
|
||||||
|
The program can also calculate Destination hashes, and perform encryption and
|
||||||
|
decryption of files. Using ``rnid``, it is possible to asymmetrically encrypt
|
||||||
|
files and information for any destination hash, and also to create and verify
|
||||||
|
cryptographic signatures.
|
||||||
|
|
||||||
|
.. code:: text
|
||||||
|
|
||||||
|
# Generate a new Identity
|
||||||
|
rnid -g ./new_identity
|
||||||
|
|
||||||
|
# Display Identity key information
|
||||||
|
rnid -i ./new_identity -p
|
||||||
|
|
||||||
|
Loaded Identity <984b74a3f768bef236af4371e6f248cd> from new_id
|
||||||
|
Public Key : 0f4259fef4521ab75a3409e353fe9073eb10783b4912a6a9937c57bf44a62c1e
|
||||||
|
Private Key : Hidden
|
||||||
|
|
||||||
|
# Encrypt a file for an LXMF user
|
||||||
|
rnid -i 8dd57a738226809646089335a6b03695 -e my_file.txt
|
||||||
|
|
||||||
|
Recalled Identity <bc7291552be7a58f361522990465165c> for destination <8dd57a738226809646089335a6b03695>
|
||||||
|
Encrypting my_file.txt
|
||||||
|
File my_file.txt encrypted for <bc7291552be7a58f361522990465165c> to my_file.txt.rfe
|
||||||
|
|
||||||
|
# If the Identity for the destination is not already known,
|
||||||
|
# you can fetch it from the network by using the -R option
|
||||||
|
rnid -R -i 30602def3b3506a28ed33db6f60cc6c9 -e my_file.txt
|
||||||
|
|
||||||
|
Requesting unknown Identity for <30602def3b3506a28ed33db6f60cc6c9>...
|
||||||
|
Received Identity <2b489d06eaf7c543808c76a5332a447d> for destination <30602def3b3506a28ed33db6f60cc6c9> from the network
|
||||||
|
Encrypting my_file.txt
|
||||||
|
File my_file.txt encrypted for <2b489d06eaf7c543808c76a5332a447d> to my_file.txt.rfe
|
||||||
|
|
||||||
|
.. code:: text
|
||||||
|
|
||||||
|
usage: rnid [-h] [--config path] [-i identity] [-g path] [-v] [-q] [-a aspects] [-H aspects] [-e path] [-d path] [-s path] [-V path] [-r path] [-w path] [-f] [-R] [-t seconds] [-p] [-P]
|
||||||
|
[--version]
|
||||||
|
|
||||||
|
Reticulum Identity & Encryption Utility
|
||||||
|
|
||||||
|
options:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
--config path path to alternative Reticulum config directory
|
||||||
|
-i identity, --identity identity
|
||||||
|
hexadecimal Reticulum Destination hash or path to Identity file
|
||||||
|
-g path, --generate path
|
||||||
|
generate a new Identity
|
||||||
|
-v, --verbose increase verbosity
|
||||||
|
-q, --quiet decrease verbosity
|
||||||
|
-a aspects, --announce aspects
|
||||||
|
announce a destination based on this Identity
|
||||||
|
-H aspects, --hash aspects
|
||||||
|
show destination hashes for other aspects for this Identity
|
||||||
|
-e path, --encrypt path
|
||||||
|
encrypt file
|
||||||
|
-d path, --decrypt path
|
||||||
|
decrypt file
|
||||||
|
-s path, --sign path sign file
|
||||||
|
-V path, --validate path
|
||||||
|
validate signature
|
||||||
|
-r path, --read path input file path
|
||||||
|
-w path, --write path
|
||||||
|
output file path
|
||||||
|
-f, --force write output even if it overwrites existing files
|
||||||
|
-R, --request request unknown Identities from the network
|
||||||
|
-t seconds identity request timeout before giving up
|
||||||
|
-p, --print-identity print identity info and exit
|
||||||
|
-P, --print-private allow displaying private keys
|
||||||
|
--version show program's version number and exit
|
||||||
|
|
||||||
|
|
||||||
The rnpath Utility
|
The rnpath Utility
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
@ -21,15 +21,15 @@ networks, without any need for hierarchical or beaureucratic structures to contr
|
|||||||
or manage them, while ensuring individuals and communities full sovereignty
|
or manage them, while ensuring individuals and communities full sovereignty
|
||||||
over their own network segments.
|
over their own network segments.
|
||||||
|
|
||||||
Reticulum is a complete networking stack, and does not need IP or higher
|
Reticulum is a **complete networking stack**, and does not need IP or higher
|
||||||
layers, although it is easy to utilise IP (with TCP or UDP) as the underlying
|
layers, although it is easy to utilise IP (with TCP or UDP) as the underlying
|
||||||
carrier for Reticulum. It is therefore trivial to tunnel Reticulum over the
|
carrier for Reticulum. It is therefore trivial to tunnel Reticulum over the
|
||||||
Internet or private IP networks. Reticulum is built directly on cryptographic
|
Internet or private IP networks. Reticulum is built directly on cryptographic
|
||||||
principles, allowing resilience and stable functionality in open and trustless
|
principles, allowing resilience and stable functionality in open and trustless
|
||||||
networks.
|
networks.
|
||||||
|
|
||||||
No kernel modules or drivers are required. Reticulum runs completely in
|
No kernel modules or drivers are required. Reticulum can run completely in
|
||||||
userland, and can run on practically any system that runs Python 3. Reticulum
|
userland, and will run on practically any system that runs Python 3. Reticulum
|
||||||
runs well even on small single-board computers like the Pi Zero.
|
runs well even on small single-board computers like the Pi Zero.
|
||||||
|
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ Current Status
|
|||||||
**Please know!** Reticulum should currently be considered beta software. All core protocol
|
**Please know!** Reticulum should currently be considered beta software. All core protocol
|
||||||
features are implemented and functioning, but additions will probably occur as
|
features are implemented and functioning, but additions will probably occur as
|
||||||
real-world use is explored. *There will be bugs*. The API and wire-format can be
|
real-world use is explored. *There will be bugs*. The API and wire-format can be
|
||||||
considered stable at the moment, but could change if absolutely warranted.
|
considered complete and stable at the moment, but could change if absolutely warranted.
|
||||||
|
|
||||||
|
|
||||||
What does Reticulum Offer?
|
What does Reticulum Offer?
|
||||||
@ -71,7 +71,7 @@ What does Reticulum Offer?
|
|||||||
|
|
||||||
* Efficient link establishment
|
* Efficient link establishment
|
||||||
|
|
||||||
* Total bandwidth cost of setting up a link is only 3 packets, totalling 297 bytes
|
* Total cost of setting up an encrypted and verified link is only 3 packets, totalling 297 bytes
|
||||||
|
|
||||||
* Low cost of keeping links open at only 0.44 bits per second
|
* Low cost of keeping links open at only 0.44 bits per second
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user