Skip to content

Commit fa7699a

Browse files
author
Mark Qvist
committed
Improved markdown formatting of the manual
1 parent 2c9b794 commit fa7699a

7 files changed

Lines changed: 24 additions & 95 deletions

File tree

docs/manual/_sources/gettingstartedfast.rst.txt

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -383,11 +383,7 @@ For a one-shot installation of Reticulum, without globally enabling the ``break-
383383
pip install rns --break-system-packages
384384
385385
.. note::
386-
The ``--break-system-packages`` directive is a somewhat misleading choice
387-
of words. Setting it will of course not break any system packages, but will simply
388-
allow installing ``pip`` packages user- and system-wide. While this *could* in rare
389-
cases lead to version conflicts, it does not generally pose any problems, especially
390-
not in the case of installing Reticulum.
386+
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, especially not in the case of installing Reticulum.
391387

392388

393389
MacOS
@@ -424,12 +420,7 @@ OpenWRT
424420
On OpenWRT systems with sufficient storage and memory, you can install Reticulum and related utilities using the `opkg` package manager and `pip`.
425421

426422
.. note::
427-
428-
At the time of releasing this manual, work is underway to create pre-built
429-
Reticulum packages for OpenWRT, with full configuration, service
430-
and ``uci`` integration. Please see the `feed-reticulum <https://github.com/gretel/feed-reticulum>`_
431-
and `reticulum-openwrt <https://github.com/gretel/reticulum-openwrt>`_
432-
repositories for more information.
423+
At the time of releasing this manual, work is underway to create pre-built Reticulum packages for OpenWRT, with full configuration, service and ``uci`` integration. Please see the `feed-reticulum <https://github.com/gretel/feed-reticulum>`_ and `reticulum-openwrt <https://github.com/gretel/reticulum-openwrt>`_ repositories for more information.
433424

434425
To install Reticulum on OpenWRT, first log into a command line session, and then use the following instructions:
435426

@@ -445,7 +436,6 @@ To install Reticulum on OpenWRT, first log into a command line session, and then
445436
rnsd -vvv
446437
447438
.. note::
448-
449439
The above instructions have been verified and tested on OpenWRT 21.02 only. It is likely that other versions may require slightly altered installation commands or package names. You will also need enough free space in your overlay FS, and enough free RAM to actually run Reticulum and any related programs and utilities.
450440

451441
Depending on your device configuration, you may need to adjust firewall rules for Reticulum connectivity to and from your device to work. Until proper packaging is ready, you will also need to manually create a service or startup script to automatically laucnh Reticulum at boot time.

docs/manual/_sources/understanding.rst.txt

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,7 @@ As an example, an announce in a simple messenger application might contain the f
188188

189189
With this information, any Reticulum node that receives it will be able to reconstruct an outgoing destination to securely communicate with that destination. You might have noticed that there is one piece of information lacking to reconstruct full knowledge of the announced destination, and that is the aspect names of the destination. These are intentionally left out to save bandwidth, since they will be implicit in almost all cases. The receiving application will already know them. If a destination name is not entirely implicit, information can be included in the application specific data part that will allow the receiver to infer the naming.
190190

191-
It is important to note that announces will be forwarded throughout the network according to a
192-
certain pattern. This will be detailed in the section
193-
:ref:`The Announce Mechanism in Detail<understanding-announce>`.
191+
It is important to note that announces will be forwarded throughout the network according to a certain pattern. This will be detailed in the section :ref:`The Announce Mechanism in Detail<understanding-announce>`.
194192

195193
In Reticulum, destinations are allowed to move around the network at will. This is very different from protocols such as IP, where an address is always expected to stay within the network segment it was assigned in. This limitation does not exist in Reticulum, and any destination is *completely portable* over the entire topography of the network, and *can even be moved to other Reticulum networks* than the one it was created in, and still become reachable. To update its reachability, a destination simply needs to send an announce on any networks it is part of. After a short while, it will be globally reachable in the network.
196194

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

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

285-
Even very slow networks, that simply don't have the capacity to ever reach *full* convergence
286-
will generally still be able to reach **any other destination on any connected segments**, since
287-
interconnecting transport nodes will prioritize announces into the slower segments that are
288-
actually requested by nodes on these.
289-
290-
This means that slow, low-capacity or low-resource segments **don't** need to have full network
291-
knowledge, since paths can always be recursively resolved from other segments that do have
292-
knowledge about them.
284+
This means that slow, low-capacity or low-resource segments **don't** need to have full network knowledge, since paths can always be recursively resolved from other segments that do have knowledge about them.
293285

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

@@ -415,9 +407,7 @@ The *link* in Reticulum terminology should not be viewed as a direct node-to-nod
415407
that is used to encrypt the channel. Information can now be exchanged reliably and securely.
416408

417409
.. note::
418-
419-
It’s important to note that this methodology ensures that the source of the request does not need to
420-
reveal any identifying information about itself. **The link initiator remains completely anonymous**.
410+
It’s important to note that this methodology ensures that the source of the request does not need to reveal any identifying information about itself. **The link initiator remains completely anonymous**.
421411

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

@@ -544,11 +534,7 @@ The reference setup can be considered a relatively stable platform to develop on
544534
operating system.
545535

546536
.. note::
547-
548-
To avoid confusion, it is very important to note, that the reference interface device **does not**
549-
use the LoRaWAN standard, but uses a custom MAC layer on top of the plain LoRa modulation! As such, you will
550-
need a plain LoRa radio module connected to a controller with the correct firmware. Full details on how to
551-
get or make such a device is available on the `RNode Page <https://github.com/markqvist/rnode_firmware>`_.
537+
To avoid confusion, it is very important to note, that the reference interface device **does not** use the LoRaWAN standard, but uses a custom MAC layer on top of the plain LoRa modulation! As such, you will need a plain LoRa radio module connected to a controller with the correct firmware. Full details on how to get or make such a device is available on the `RNode Page <https://github.com/markqvist/rnode_firmware>`_.
552538

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

docs/manual/gettingstartedfast.html

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -543,11 +543,7 @@ <h3>Debian Bookworm<a class="headerlink" href="#debian-bookworm" title="Link to
543543
</div>
544544
<div class="admonition note">
545545
<p class="admonition-title">Note</p>
546-
<p>The <code class="docutils literal notranslate"><span class="pre">--break-system-packages</span></code> directive is a somewhat misleading choice
547-
of words. Setting it will of course not break any system packages, but will simply
548-
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
549-
cases lead to version conflicts, it does not generally pose any problems, especially
550-
not in the case of installing Reticulum.</p>
546+
<p>The <code class="docutils literal notranslate"><span class="pre">--break-system-packages</span></code> 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, especially not in the case of installing Reticulum.</p>
551547
</div>
552548
</section>
553549
<section id="macos">
@@ -578,11 +574,7 @@ <h3>OpenWRT<a class="headerlink" href="#openwrt" title="Link to this heading">¶
578574
<p>On OpenWRT systems with sufficient storage and memory, you can install Reticulum and related utilities using the <cite>opkg</cite> package manager and <cite>pip</cite>.</p>
579575
<div class="admonition note">
580576
<p class="admonition-title">Note</p>
581-
<p>At the time of releasing this manual, work is underway to create pre-built
582-
Reticulum packages for OpenWRT, with full configuration, service
583-
and <code class="docutils literal notranslate"><span class="pre">uci</span></code> integration. Please see the <a class="reference external" href="https://github.com/gretel/feed-reticulum">feed-reticulum</a>
584-
and <a class="reference external" href="https://github.com/gretel/reticulum-openwrt">reticulum-openwrt</a>
585-
repositories for more information.</p>
577+
<p>At the time of releasing this manual, work is underway to create pre-built Reticulum packages for OpenWRT, with full configuration, service and <code class="docutils literal notranslate"><span class="pre">uci</span></code> integration. Please see the <a class="reference external" href="https://github.com/gretel/feed-reticulum">feed-reticulum</a> and <a class="reference external" href="https://github.com/gretel/reticulum-openwrt">reticulum-openwrt</a> repositories for more information.</p>
586578
</div>
587579
<p>To install Reticulum on OpenWRT, first log into a command line session, and then use the following instructions:</p>
588580
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span><span class="c1"># Install dependencies</span>

docs/manual/understanding.html

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -453,9 +453,7 @@
453453
<li><p>An Ed25519 signature of the above information, verifying authenticity</p></li>
454454
</ul>
455455
<p>With this information, any Reticulum node that receives it will be able to reconstruct an outgoing destination to securely communicate with that destination. You might have noticed that there is one piece of information lacking to reconstruct full knowledge of the announced destination, and that is the aspect names of the destination. These are intentionally left out to save bandwidth, since they will be implicit in almost all cases. The receiving application will already know them. If a destination name is not entirely implicit, information can be included in the application specific data part that will allow the receiver to infer the naming.</p>
456-
<p>It is important to note that announces will be forwarded throughout the network according to a
457-
certain pattern. This will be detailed in the section
458-
<a class="reference internal" href="#understanding-announce"><span class="std std-ref">The Announce Mechanism in Detail</span></a>.</p>
456+
<p>It is important to note that announces will be forwarded throughout the network according to a certain pattern. This will be detailed in the section <a class="reference internal" href="#understanding-announce"><span class="std std-ref">The Announce Mechanism in Detail</span></a>.</p>
459457
<p>In Reticulum, destinations are allowed to move around the network at will. This is very different from protocols such as IP, where an address is always expected to stay within the network segment it was assigned in. This limitation does not exist in Reticulum, and any destination is <em>completely portable</em> over the entire topography of the network, and <em>can even be moved to other Reticulum networks</em> than the one it was created in, and still become reachable. To update its reachability, a destination simply needs to send an announce on any networks it is part of. After a short while, it will be globally reachable in the network.</p>
460458
<p>Seeing how <em>single</em> destinations are always tied to a private/public key pair leads us to the next topic.</p>
461459
</section>
@@ -535,13 +533,8 @@
535533
<p>According to these rules, an announce will propagate throughout the network in a predictable way, and make the announced destination reachable in a short amount of time. Fast networks that have the capacity to process many announces can reach full convergence very quickly, even when constantly adding new destinations. Slower segments of such networks might take a bit longer to gain full knowledge about the wide and fast networks they are connected to, but can still do so over time, while prioritising full and quickly converging end-to-end connectivity for their local, slower segments.</p>
536534
<div class="admonition tip">
537535
<p class="admonition-title">Tip</p>
538-
<p>Even very slow networks, that simply don’t have the capacity to ever reach <em>full</em> convergence
539-
will generally still be able to reach <strong>any other destination on any connected segments</strong>, since
540-
interconnecting transport nodes will prioritize announces into the slower segments that are
541-
actually requested by nodes on these.</p>
542-
<p>This means that slow, low-capacity or low-resource segments <strong>don’t</strong> need to have full network
543-
knowledge, since paths can always be recursively resolved from other segments that do have
544-
knowledge about them.</p>
536+
<p>Even very slow networks, that simply don’t have the capacity to ever reach <em>full</em> convergence will generally still be able to reach <strong>any other destination on any connected segments</strong>, since interconnecting transport nodes will prioritize announces into the slower segments that are actually requested by nodes on these.</p>
537+
<p>This means that slow, low-capacity or low-resource segments <strong>don’t</strong> need to have full network knowledge, since paths can always be recursively resolved from other segments that do have knowledge about them.</p>
545538
</div>
546539
<p>In general, even extremely complex networks, that utilize the maximum 128 hops will converge to full end-to-end connectivity in about one minute, given there is enough bandwidth available to process the required amount of announces.</p>
547540
</section>
@@ -702,8 +695,7 @@ <h4>Link Establishment in Detail<a class="headerlink" href="#link-establishment-
702695
</ul>
703696
<div class="admonition note">
704697
<p class="admonition-title">Note</p>
705-
<p>It’s important to note that this methodology ensures that the source of the request does not need to
706-
reveal any identifying information about itself. <strong>The link initiator remains completely anonymous</strong>.</p>
698+
<p>It’s important to note that this methodology ensures that the source of the request does not need to reveal any identifying information about itself. <strong>The link initiator remains completely anonymous</strong>.</p>
707699
</div>
708700
<p>When using <em>links</em>, Reticulum will automatically verify all data sent over the link, and can also automate retransmissions if <em>Resources</em> are used.</p>
709701
</section>
@@ -824,10 +816,7 @@ <h3>Creating and Using a Network Identity<a class="headerlink" href="#creating-a
824816
</ul>
825817
<div class="admonition note">
826818
<p class="admonition-title">Note</p>
827-
<p>To avoid confusion, it is very important to note, that the reference interface device <strong>does not</strong>
828-
use the LoRaWAN standard, but uses a custom MAC layer on top of the plain LoRa modulation! As such, you will
829-
need a plain LoRa radio module connected to a controller with the correct firmware. Full details on how to
830-
get or make such a device is available on the <a class="reference external" href="https://github.com/markqvist/rnode_firmware">RNode Page</a>.</p>
819+
<p>To avoid confusion, it is very important to note, that the reference interface device <strong>does not</strong> use the LoRaWAN standard, but uses a custom MAC layer on top of the plain LoRa modulation! As such, you will need a plain LoRa radio module connected to a controller with the correct firmware. Full details on how to get or make such a device is available on the <a class="reference external" href="https://github.com/markqvist/rnode_firmware">RNode Page</a>.</p>
831820
</div>
832821
<p>With the current reference setup, it should be possible to get on a Reticulum network for around 100$ even if you have none of the hardware already, and need to purchase everything.</p>
833822
<p>This reference setup is of course just a recommendation for getting started easily, and you should tailor it to your own specific needs, or whatever hardware you have available.</p>

docs/markdown/gettingstartedfast.md

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -345,11 +345,7 @@ pip install rns --break-system-packages
345345
```
346346

347347
#### NOTE
348-
The `--break-system-packages` directive is a somewhat misleading choice
349-
of words. Setting it will of course not break any system packages, but will simply
350-
allow installing `pip` packages user- and system-wide. While this *could* in rare
351-
cases lead to version conflicts, it does not generally pose any problems, especially
352-
not in the case of installing Reticulum.
348+
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, especially not in the case of installing Reticulum.
353349

354350
### MacOS
355351

@@ -384,11 +380,7 @@ Adjust Python version and shell init script location according to your system.
384380
On OpenWRT systems with sufficient storage and memory, you can install Reticulum and related utilities using the opkg package manager and pip.
385381

386382
#### NOTE
387-
At the time of releasing this manual, work is underway to create pre-built
388-
Reticulum packages for OpenWRT, with full configuration, service
389-
and `uci` integration. Please see the [feed-reticulum](https://github.com/gretel/feed-reticulum)
390-
and [reticulum-openwrt](https://github.com/gretel/reticulum-openwrt)
391-
repositories for more information.
383+
At the time of releasing this manual, work is underway to create pre-built Reticulum packages for OpenWRT, with full configuration, service and `uci` integration. Please see the [feed-reticulum](https://github.com/gretel/feed-reticulum) and [reticulum-openwrt](https://github.com/gretel/reticulum-openwrt) repositories for more information.
392384

393385
To install Reticulum on OpenWRT, first log into a command line session, and then use the following instructions:
394386

0 commit comments

Comments
 (0)