Updated documentation and manual
This commit is contained in:
parent
893a463663
commit
f62d9946ac
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: ac2d5f73ab011289e2f4e2a564ac4cac
|
config: 08677a3d0e0fa273687289188ec1a603
|
||||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||||
|
|
|
@ -5,6 +5,11 @@ This manual aims to provide you with all the information you need to
|
||||||
understand Reticulum, build networks or develop programs using it, or
|
understand Reticulum, build networks or develop programs using it, or
|
||||||
to participate in the development of Reticulum itself.
|
to participate in the development of Reticulum itself.
|
||||||
|
|
||||||
|
.. only:: html
|
||||||
|
|
||||||
|
Table Of Contents
|
||||||
|
=================
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 3
|
:maxdepth: 3
|
||||||
|
|
||||||
|
@ -16,9 +21,13 @@ to participate in the development of Reticulum itself.
|
||||||
interfaces
|
interfaces
|
||||||
networks
|
networks
|
||||||
examples
|
examples
|
||||||
reference
|
|
||||||
support
|
support
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
reference
|
||||||
|
|
||||||
|
|
||||||
.. only:: html
|
.. only:: html
|
||||||
|
|
||||||
|
|
|
@ -5,11 +5,8 @@
|
||||||
*************
|
*************
|
||||||
API Reference
|
API Reference
|
||||||
*************
|
*************
|
||||||
This chapter lists and explains all classes exposed by the Reticulum Network Stack API, along with their methods and usage. It can be used as a reference while writing applications that utilise Reticulum, or read in entirity to gain an understanding of the complete functionality of RNS from a developers perspective.
|
Communication over Reticulum networks is achieved by using a simple set of classes exposed by the RNS API.
|
||||||
|
This chapter lists and explains all classes exposed by the Reticulum Network Stack API, along with their method signatures and usage. It can be used as a reference while writing applications that utilise Reticulum, or it can be read in entirity to gain an understanding of the complete functionality of RNS from a developers perspective.
|
||||||
Classes
|
|
||||||
=========================
|
|
||||||
Communication over a Reticulum network is achieved using a set of classes exposed by the RNS API.
|
|
||||||
|
|
||||||
.. _api-reticulum:
|
.. _api-reticulum:
|
||||||
|
|
||||||
|
|
|
@ -236,6 +236,16 @@ div.body p, div.body dd, div.body li, div.body blockquote {
|
||||||
a.headerlink {
|
a.headerlink {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
|
a.brackets:before,
|
||||||
|
span.brackets > a:before{
|
||||||
|
content: "[";
|
||||||
|
}
|
||||||
|
|
||||||
|
a.brackets:after,
|
||||||
|
span.brackets > a:after {
|
||||||
|
content: "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
h1:hover > a.headerlink,
|
h1:hover > a.headerlink,
|
||||||
h2:hover > a.headerlink,
|
h2:hover > a.headerlink,
|
||||||
|
@ -324,15 +334,11 @@ aside.sidebar {
|
||||||
p.sidebar-title {
|
p.sidebar-title {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
nav.contents,
|
|
||||||
aside.topic,
|
|
||||||
div.admonition, div.topic, blockquote {
|
div.admonition, div.topic, blockquote {
|
||||||
clear: left;
|
clear: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -- topics ---------------------------------------------------------------- */
|
/* -- topics ---------------------------------------------------------------- */
|
||||||
nav.contents,
|
|
||||||
aside.topic,
|
|
||||||
div.topic {
|
div.topic {
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
padding: 7px;
|
padding: 7px;
|
||||||
|
@ -371,8 +377,6 @@ div.body p.centered {
|
||||||
|
|
||||||
div.sidebar > :last-child,
|
div.sidebar > :last-child,
|
||||||
aside.sidebar > :last-child,
|
aside.sidebar > :last-child,
|
||||||
nav.contents > :last-child,
|
|
||||||
aside.topic > :last-child,
|
|
||||||
div.topic > :last-child,
|
div.topic > :last-child,
|
||||||
div.admonition > :last-child {
|
div.admonition > :last-child {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
@ -380,8 +384,6 @@ div.admonition > :last-child {
|
||||||
|
|
||||||
div.sidebar::after,
|
div.sidebar::after,
|
||||||
aside.sidebar::after,
|
aside.sidebar::after,
|
||||||
nav.contents::after,
|
|
||||||
aside.topic::after,
|
|
||||||
div.topic::after,
|
div.topic::after,
|
||||||
div.admonition::after,
|
div.admonition::after,
|
||||||
blockquote::after {
|
blockquote::after {
|
||||||
|
@ -606,26 +608,19 @@ ol.simple p,
|
||||||
ul.simple p {
|
ul.simple p {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
aside.footnote > span,
|
dl.footnote > dt,
|
||||||
div.citation > span {
|
dl.citation > dt {
|
||||||
float: left;
|
float: left;
|
||||||
|
margin-right: 0.5em;
|
||||||
}
|
}
|
||||||
aside.footnote > span:last-of-type,
|
|
||||||
div.citation > span:last-of-type {
|
dl.footnote > dd,
|
||||||
padding-right: 0.5em;
|
dl.citation > dd {
|
||||||
}
|
|
||||||
aside.footnote > p {
|
|
||||||
margin-left: 2em;
|
|
||||||
}
|
|
||||||
div.citation > p {
|
|
||||||
margin-left: 4em;
|
|
||||||
}
|
|
||||||
aside.footnote > p:last-of-type,
|
|
||||||
div.citation > p:last-of-type {
|
|
||||||
margin-bottom: 0em;
|
margin-bottom: 0em;
|
||||||
}
|
}
|
||||||
aside.footnote > p:last-of-type:after,
|
|
||||||
div.citation > p:last-of-type:after {
|
dl.footnote > dd:after,
|
||||||
|
dl.citation > dd:after {
|
||||||
content: "";
|
content: "";
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
@ -641,6 +636,10 @@ dl.field-list > dt {
|
||||||
padding-left: 0.5em;
|
padding-left: 0.5em;
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
}
|
}
|
||||||
|
dl.field-list > dt:after {
|
||||||
|
content: ":";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
dl.field-list > dd {
|
dl.field-list > dd {
|
||||||
padding-left: 0.5em;
|
padding-left: 0.5em;
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-check" width="44" height="44" viewBox="0 0 24 24" stroke-width="2" stroke="#22863a" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<path d="M5 12l5 5l10 -10" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 313 B |
|
@ -1,269 +0,0 @@
|
||||||
/*
|
|
||||||
* classic.css_t
|
|
||||||
* ~~~~~~~~~~~~~
|
|
||||||
*
|
|
||||||
* Sphinx stylesheet -- classic theme.
|
|
||||||
*
|
|
||||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
|
||||||
* :license: BSD, see LICENSE for details.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
@import url("basic.css");
|
|
||||||
|
|
||||||
/* -- page layout ----------------------------------------------------------- */
|
|
||||||
|
|
||||||
html {
|
|
||||||
/* CSS hack for macOS's scrollbar (see #1125) */
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: sans-serif;
|
|
||||||
font-size: 100%;
|
|
||||||
background-color: #11303d;
|
|
||||||
color: #000;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.document {
|
|
||||||
display: flex;
|
|
||||||
background-color: #1c4e63;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.documentwrapper {
|
|
||||||
float: left;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.bodywrapper {
|
|
||||||
margin: 0 0 0 230px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.body {
|
|
||||||
background-color: #ffffff;
|
|
||||||
color: #000000;
|
|
||||||
padding: 0 20px 30px 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.footer {
|
|
||||||
color: #ffffff;
|
|
||||||
width: 100%;
|
|
||||||
padding: 9px 0 9px 0;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 75%;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.footer a {
|
|
||||||
color: #ffffff;
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.related {
|
|
||||||
background-color: #133f52;
|
|
||||||
line-height: 30px;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.related a {
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinxsidebar {
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinxsidebar h3 {
|
|
||||||
font-family: 'Trebuchet MS', sans-serif;
|
|
||||||
color: #ffffff;
|
|
||||||
font-size: 1.4em;
|
|
||||||
font-weight: normal;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinxsidebar h3 a {
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinxsidebar h4 {
|
|
||||||
font-family: 'Trebuchet MS', sans-serif;
|
|
||||||
color: #ffffff;
|
|
||||||
font-size: 1.3em;
|
|
||||||
font-weight: normal;
|
|
||||||
margin: 5px 0 0 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinxsidebar p {
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinxsidebar p.topless {
|
|
||||||
margin: 5px 10px 10px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinxsidebar ul {
|
|
||||||
margin: 10px;
|
|
||||||
padding: 0;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinxsidebar a {
|
|
||||||
color: #98dbcc;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.sphinxsidebar input {
|
|
||||||
border: 1px solid #98dbcc;
|
|
||||||
font-family: sans-serif;
|
|
||||||
font-size: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* -- hyperlink styles ------------------------------------------------------ */
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: #355f7c;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:visited {
|
|
||||||
color: #355f7c;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* -- body styles ----------------------------------------------------------- */
|
|
||||||
|
|
||||||
div.body h1,
|
|
||||||
div.body h2,
|
|
||||||
div.body h3,
|
|
||||||
div.body h4,
|
|
||||||
div.body h5,
|
|
||||||
div.body h6 {
|
|
||||||
font-family: 'Trebuchet MS', sans-serif;
|
|
||||||
background-color: #f2f2f2;
|
|
||||||
font-weight: normal;
|
|
||||||
color: #20435c;
|
|
||||||
border-bottom: 1px solid #ccc;
|
|
||||||
margin: 20px -20px 10px -20px;
|
|
||||||
padding: 3px 0 3px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.body h1 { margin-top: 0; font-size: 200%; }
|
|
||||||
div.body h2 { font-size: 160%; }
|
|
||||||
div.body h3 { font-size: 140%; }
|
|
||||||
div.body h4 { font-size: 120%; }
|
|
||||||
div.body h5 { font-size: 110%; }
|
|
||||||
div.body h6 { font-size: 100%; }
|
|
||||||
|
|
||||||
a.headerlink {
|
|
||||||
color: #c60f0f;
|
|
||||||
font-size: 0.8em;
|
|
||||||
padding: 0 4px 0 4px;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.headerlink:hover {
|
|
||||||
background-color: #c60f0f;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.body p, div.body dd, div.body li, div.body blockquote {
|
|
||||||
text-align: justify;
|
|
||||||
line-height: 130%;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.admonition p.admonition-title + p {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.admonition p {
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.admonition pre {
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.admonition ul, div.admonition ol {
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.note {
|
|
||||||
background-color: #eee;
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.seealso {
|
|
||||||
background-color: #ffc;
|
|
||||||
border: 1px solid #ff6;
|
|
||||||
}
|
|
||||||
nav.contents,
|
|
||||||
aside.topic,
|
|
||||||
|
|
||||||
div.topic {
|
|
||||||
background-color: #eee;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.warning {
|
|
||||||
background-color: #ffe4e4;
|
|
||||||
border: 1px solid #f66;
|
|
||||||
}
|
|
||||||
|
|
||||||
p.admonition-title {
|
|
||||||
display: inline;
|
|
||||||
}
|
|
||||||
|
|
||||||
p.admonition-title:after {
|
|
||||||
content: ":";
|
|
||||||
}
|
|
||||||
|
|
||||||
pre {
|
|
||||||
padding: 5px;
|
|
||||||
background-color: unset;
|
|
||||||
color: unset;
|
|
||||||
line-height: 120%;
|
|
||||||
border: 1px solid #ac9;
|
|
||||||
border-left: none;
|
|
||||||
border-right: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
|
||||||
background-color: #ecf0f3;
|
|
||||||
padding: 0 1px 0 1px;
|
|
||||||
font-size: 0.95em;
|
|
||||||
}
|
|
||||||
|
|
||||||
th, dl.field-list > dt {
|
|
||||||
background-color: #ede;
|
|
||||||
}
|
|
||||||
|
|
||||||
.warning code {
|
|
||||||
background: #efc2c2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.note code {
|
|
||||||
background: #d6d6d6;
|
|
||||||
}
|
|
||||||
|
|
||||||
.viewcode-back {
|
|
||||||
font-family: sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.viewcode-block:target {
|
|
||||||
background-color: #f4debf;
|
|
||||||
border-top: 1px solid #ac9;
|
|
||||||
border-bottom: 1px solid #ac9;
|
|
||||||
}
|
|
||||||
|
|
||||||
div.code-block-caption {
|
|
||||||
color: #efefef;
|
|
||||||
background-color: #1c4e63;
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,5 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-copy" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#000000" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<rect x="8" y="8" width="12" height="12" rx="2" />
|
||||||
|
<path d="M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 411 B |
|
@ -0,0 +1,93 @@
|
||||||
|
/* Copy buttons */
|
||||||
|
button.copybtn {
|
||||||
|
position: absolute;
|
||||||
|
display: flex;
|
||||||
|
top: .3em;
|
||||||
|
right: .3em;
|
||||||
|
width: 1.7em;
|
||||||
|
height: 1.7em;
|
||||||
|
opacity: 0;
|
||||||
|
transition: opacity 0.3s, border .3s, background-color .3s;
|
||||||
|
user-select: none;
|
||||||
|
padding: 0;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
border-radius: 0.4em;
|
||||||
|
/* The colors that GitHub uses */
|
||||||
|
border: #1b1f2426 1px solid;
|
||||||
|
background-color: #f6f8fa;
|
||||||
|
color: #57606a;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.copybtn.success {
|
||||||
|
border-color: #22863a;
|
||||||
|
color: #22863a;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.copybtn svg {
|
||||||
|
stroke: currentColor;
|
||||||
|
width: 1.5em;
|
||||||
|
height: 1.5em;
|
||||||
|
padding: 0.1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.highlight {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight:hover button.copybtn {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight button.copybtn:hover {
|
||||||
|
background-color: rgb(235, 235, 235);
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight button.copybtn:active {
|
||||||
|
background-color: rgb(187, 187, 187);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A minimal CSS-only tooltip copied from:
|
||||||
|
* https://codepen.io/mildrenben/pen/rVBrpK
|
||||||
|
*
|
||||||
|
* To use, write HTML like the following:
|
||||||
|
*
|
||||||
|
* <p class="o-tooltip--left" data-tooltip="Hey">Short</p>
|
||||||
|
*/
|
||||||
|
.o-tooltip--left {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.o-tooltip--left:after {
|
||||||
|
opacity: 0;
|
||||||
|
visibility: hidden;
|
||||||
|
position: absolute;
|
||||||
|
content: attr(data-tooltip);
|
||||||
|
padding: .2em;
|
||||||
|
font-size: .8em;
|
||||||
|
left: -.2em;
|
||||||
|
background: grey;
|
||||||
|
color: white;
|
||||||
|
white-space: nowrap;
|
||||||
|
z-index: 2;
|
||||||
|
border-radius: 2px;
|
||||||
|
transform: translateX(-102%) translateY(0);
|
||||||
|
transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.o-tooltip--left:hover:after {
|
||||||
|
display: block;
|
||||||
|
opacity: 1;
|
||||||
|
visibility: visible;
|
||||||
|
transform: translateX(-100%) translateY(0);
|
||||||
|
transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1);
|
||||||
|
transition-delay: .5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* By default the copy button shouldn't show up when printing a page */
|
||||||
|
@media print {
|
||||||
|
button.copybtn {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,220 @@
|
||||||
|
// Localization support
|
||||||
|
const messages = {
|
||||||
|
'en': {
|
||||||
|
'copy': 'Copy',
|
||||||
|
'copy_to_clipboard': 'Copy to clipboard',
|
||||||
|
'copy_success': 'Copied!',
|
||||||
|
'copy_failure': 'Failed to copy',
|
||||||
|
},
|
||||||
|
'es' : {
|
||||||
|
'copy': 'Copiar',
|
||||||
|
'copy_to_clipboard': 'Copiar al portapapeles',
|
||||||
|
'copy_success': '¡Copiado!',
|
||||||
|
'copy_failure': 'Error al copiar',
|
||||||
|
},
|
||||||
|
'de' : {
|
||||||
|
'copy': 'Kopieren',
|
||||||
|
'copy_to_clipboard': 'In die Zwischenablage kopieren',
|
||||||
|
'copy_success': 'Kopiert!',
|
||||||
|
'copy_failure': 'Fehler beim Kopieren',
|
||||||
|
},
|
||||||
|
'fr' : {
|
||||||
|
'copy': 'Copier',
|
||||||
|
'copy_to_clipboard': 'Copié dans le presse-papier',
|
||||||
|
'copy_success': 'Copié !',
|
||||||
|
'copy_failure': 'Échec de la copie',
|
||||||
|
},
|
||||||
|
'ru': {
|
||||||
|
'copy': 'Скопировать',
|
||||||
|
'copy_to_clipboard': 'Скопировать в буфер',
|
||||||
|
'copy_success': 'Скопировано!',
|
||||||
|
'copy_failure': 'Не удалось скопировать',
|
||||||
|
},
|
||||||
|
'zh-CN': {
|
||||||
|
'copy': '复制',
|
||||||
|
'copy_to_clipboard': '复制到剪贴板',
|
||||||
|
'copy_success': '复制成功!',
|
||||||
|
'copy_failure': '复制失败',
|
||||||
|
},
|
||||||
|
'it' : {
|
||||||
|
'copy': 'Copiare',
|
||||||
|
'copy_to_clipboard': 'Copiato negli appunti',
|
||||||
|
'copy_success': 'Copiato!',
|
||||||
|
'copy_failure': 'Errore durante la copia',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let locale = 'en'
|
||||||
|
if( document.documentElement.lang !== undefined
|
||||||
|
&& messages[document.documentElement.lang] !== undefined ) {
|
||||||
|
locale = document.documentElement.lang
|
||||||
|
}
|
||||||
|
|
||||||
|
let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT;
|
||||||
|
if (doc_url_root == '#') {
|
||||||
|
doc_url_root = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SVG files for our copy buttons
|
||||||
|
*/
|
||||||
|
let iconCheck = `<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-check" width="44" height="44" viewBox="0 0 24 24" stroke-width="2" stroke="#22863a" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<title>${messages[locale]['copy_success']}</title>
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<path d="M5 12l5 5l10 -10" />
|
||||||
|
</svg>`
|
||||||
|
|
||||||
|
// If the user specified their own SVG use that, otherwise use the default
|
||||||
|
let iconCopy = ``;
|
||||||
|
if (!iconCopy) {
|
||||||
|
iconCopy = `<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-copy" width="44" height="44" viewBox="0 0 24 24" stroke-width="1.5" stroke="#000000" fill="none" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<title>${messages[locale]['copy_to_clipboard']}</title>
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<rect x="8" y="8" width="12" height="12" rx="2" />
|
||||||
|
<path d="M16 8v-2a2 2 0 0 0 -2 -2h-8a2 2 0 0 0 -2 2v8a2 2 0 0 0 2 2h2" />
|
||||||
|
</svg>`
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set up copy/paste for code blocks
|
||||||
|
*/
|
||||||
|
|
||||||
|
const runWhenDOMLoaded = cb => {
|
||||||
|
if (document.readyState != 'loading') {
|
||||||
|
cb()
|
||||||
|
} else if (document.addEventListener) {
|
||||||
|
document.addEventListener('DOMContentLoaded', cb)
|
||||||
|
} else {
|
||||||
|
document.attachEvent('onreadystatechange', function() {
|
||||||
|
if (document.readyState == 'complete') cb()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const codeCellId = index => `codecell${index}`
|
||||||
|
|
||||||
|
// Clears selected text since ClipboardJS will select the text when copying
|
||||||
|
const clearSelection = () => {
|
||||||
|
if (window.getSelection) {
|
||||||
|
window.getSelection().removeAllRanges()
|
||||||
|
} else if (document.selection) {
|
||||||
|
document.selection.empty()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Changes tooltip text for two seconds, then changes it back
|
||||||
|
const temporarilyChangeTooltip = (el, oldText, newText) => {
|
||||||
|
el.setAttribute('data-tooltip', newText)
|
||||||
|
el.classList.add('success')
|
||||||
|
setTimeout(() => el.setAttribute('data-tooltip', oldText), 2000)
|
||||||
|
setTimeout(() => el.classList.remove('success'), 2000)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Changes the copy button icon for two seconds, then changes it back
|
||||||
|
const temporarilyChangeIcon = (el) => {
|
||||||
|
el.innerHTML = iconCheck;
|
||||||
|
setTimeout(() => {el.innerHTML = iconCopy}, 2000)
|
||||||
|
}
|
||||||
|
|
||||||
|
const addCopyButtonToCodeCells = () => {
|
||||||
|
// If ClipboardJS hasn't loaded, wait a bit and try again. This
|
||||||
|
// happens because we load ClipboardJS asynchronously.
|
||||||
|
if (window.ClipboardJS === undefined) {
|
||||||
|
setTimeout(addCopyButtonToCodeCells, 250)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add copybuttons to all of our code cells
|
||||||
|
const codeCells = document.querySelectorAll('div.highlight pre')
|
||||||
|
codeCells.forEach((codeCell, index) => {
|
||||||
|
const id = codeCellId(index)
|
||||||
|
codeCell.setAttribute('id', id)
|
||||||
|
|
||||||
|
const clipboardButton = id =>
|
||||||
|
`<button class="copybtn o-tooltip--left" data-tooltip="${messages[locale]['copy']}" data-clipboard-target="#${id}">
|
||||||
|
${iconCopy}
|
||||||
|
</button>`
|
||||||
|
codeCell.insertAdjacentHTML('afterend', clipboardButton(id))
|
||||||
|
})
|
||||||
|
|
||||||
|
function escapeRegExp(string) {
|
||||||
|
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
|
||||||
|
}
|
||||||
|
|
||||||
|
// Callback when a copy button is clicked. Will be passed the node that was clicked
|
||||||
|
// should then grab the text and replace pieces of text that shouldn't be used in output
|
||||||
|
function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") {
|
||||||
|
|
||||||
|
var regexp;
|
||||||
|
var match;
|
||||||
|
|
||||||
|
// Do we check for line continuation characters and "HERE-documents"?
|
||||||
|
var useLineCont = !!lineContinuationChar
|
||||||
|
var useHereDoc = !!hereDocDelim
|
||||||
|
|
||||||
|
// create regexp to capture prompt and remaining line
|
||||||
|
if (isRegexp) {
|
||||||
|
regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)')
|
||||||
|
} else {
|
||||||
|
regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)')
|
||||||
|
}
|
||||||
|
|
||||||
|
const outputLines = [];
|
||||||
|
var promptFound = false;
|
||||||
|
var gotLineCont = false;
|
||||||
|
var gotHereDoc = false;
|
||||||
|
const lineGotPrompt = [];
|
||||||
|
for (const line of textContent.split('\n')) {
|
||||||
|
match = line.match(regexp)
|
||||||
|
if (match || gotLineCont || gotHereDoc) {
|
||||||
|
promptFound = regexp.test(line)
|
||||||
|
lineGotPrompt.push(promptFound)
|
||||||
|
if (removePrompts && promptFound) {
|
||||||
|
outputLines.push(match[2])
|
||||||
|
} else {
|
||||||
|
outputLines.push(line)
|
||||||
|
}
|
||||||
|
gotLineCont = line.endsWith(lineContinuationChar) & useLineCont
|
||||||
|
if (line.includes(hereDocDelim) & useHereDoc)
|
||||||
|
gotHereDoc = !gotHereDoc
|
||||||
|
} else if (!onlyCopyPromptLines) {
|
||||||
|
outputLines.push(line)
|
||||||
|
} else if (copyEmptyLines && line.trim() === '') {
|
||||||
|
outputLines.push(line)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If no lines with the prompt were found then just use original lines
|
||||||
|
if (lineGotPrompt.some(v => v === true)) {
|
||||||
|
textContent = outputLines.join('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove a trailing newline to avoid auto-running when pasting
|
||||||
|
if (textContent.endsWith("\n")) {
|
||||||
|
textContent = textContent.slice(0, -1)
|
||||||
|
}
|
||||||
|
return textContent
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var copyTargetText = (trigger) => {
|
||||||
|
var target = document.querySelector(trigger.attributes['data-clipboard-target'].value);
|
||||||
|
return formatCopyText(target.innerText, '', false, true, true, true, '', '')
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize with a callback so we can modify the text before copy
|
||||||
|
const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText})
|
||||||
|
|
||||||
|
// Update UI with error/success messages
|
||||||
|
clipboard.on('success', event => {
|
||||||
|
clearSelection()
|
||||||
|
temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success'])
|
||||||
|
temporarilyChangeIcon(event.trigger)
|
||||||
|
})
|
||||||
|
|
||||||
|
clipboard.on('error', event => {
|
||||||
|
temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure'])
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
runWhenDOMLoaded(addCopyButtonToCodeCells)
|
|
@ -0,0 +1,58 @@
|
||||||
|
function escapeRegExp(string) {
|
||||||
|
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
|
||||||
|
}
|
||||||
|
|
||||||
|
// Callback when a copy button is clicked. Will be passed the node that was clicked
|
||||||
|
// should then grab the text and replace pieces of text that shouldn't be used in output
|
||||||
|
export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") {
|
||||||
|
|
||||||
|
var regexp;
|
||||||
|
var match;
|
||||||
|
|
||||||
|
// Do we check for line continuation characters and "HERE-documents"?
|
||||||
|
var useLineCont = !!lineContinuationChar
|
||||||
|
var useHereDoc = !!hereDocDelim
|
||||||
|
|
||||||
|
// create regexp to capture prompt and remaining line
|
||||||
|
if (isRegexp) {
|
||||||
|
regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)')
|
||||||
|
} else {
|
||||||
|
regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)')
|
||||||
|
}
|
||||||
|
|
||||||
|
const outputLines = [];
|
||||||
|
var promptFound = false;
|
||||||
|
var gotLineCont = false;
|
||||||
|
var gotHereDoc = false;
|
||||||
|
const lineGotPrompt = [];
|
||||||
|
for (const line of textContent.split('\n')) {
|
||||||
|
match = line.match(regexp)
|
||||||
|
if (match || gotLineCont || gotHereDoc) {
|
||||||
|
promptFound = regexp.test(line)
|
||||||
|
lineGotPrompt.push(promptFound)
|
||||||
|
if (removePrompts && promptFound) {
|
||||||
|
outputLines.push(match[2])
|
||||||
|
} else {
|
||||||
|
outputLines.push(line)
|
||||||
|
}
|
||||||
|
gotLineCont = line.endsWith(lineContinuationChar) & useLineCont
|
||||||
|
if (line.includes(hereDocDelim) & useHereDoc)
|
||||||
|
gotHereDoc = !gotHereDoc
|
||||||
|
} else if (!onlyCopyPromptLines) {
|
||||||
|
outputLines.push(line)
|
||||||
|
} else if (copyEmptyLines && line.trim() === '') {
|
||||||
|
outputLines.push(line)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If no lines with the prompt were found then just use original lines
|
||||||
|
if (lineGotPrompt.some(v => v === true)) {
|
||||||
|
textContent = outputLines.join('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove a trailing newline to avoid auto-running when pasting
|
||||||
|
if (textContent.endsWith("\n")) {
|
||||||
|
textContent = textContent.slice(0, -1)
|
||||||
|
}
|
||||||
|
return textContent
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
h3 {
|
||||||
|
margin-top: 1.75rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
code.literal {
|
||||||
|
padding-left: 0.25rem !important;
|
||||||
|
padding-right: 0.25rem !important;
|
||||||
|
padding-top: 0.25rem !important;
|
||||||
|
padding-bottom: 0.15rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
img[src*="if_mode_graph_b.png"] {
|
||||||
|
background-color: rgb(169, 177, 186);
|
||||||
|
}
|
||||||
|
|
||||||
|
dt.sig {
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
margin-top: 1.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.bottom-of-page div.left-details:not(:first-child) {
|
||||||
|
display: none !important;
|
||||||
|
}
|
|
@ -0,0 +1,69 @@
|
||||||
|
/*
|
||||||
|
This CSS file should be overridden by the theme authors. It's
|
||||||
|
meant for debugging and developing the skeleton that this theme provides.
|
||||||
|
*/
|
||||||
|
body {
|
||||||
|
font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
|
||||||
|
"Apple Color Emoji", "Segoe UI Emoji";
|
||||||
|
background: lavender;
|
||||||
|
}
|
||||||
|
.sb-announcement {
|
||||||
|
background: rgb(131, 131, 131);
|
||||||
|
}
|
||||||
|
.sb-announcement__inner {
|
||||||
|
background: black;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
.sb-header {
|
||||||
|
background: lightskyblue;
|
||||||
|
}
|
||||||
|
.sb-header__inner {
|
||||||
|
background: royalblue;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
.sb-header-secondary {
|
||||||
|
background: lightcyan;
|
||||||
|
}
|
||||||
|
.sb-header-secondary__inner {
|
||||||
|
background: cornflowerblue;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
.sb-sidebar-primary {
|
||||||
|
background: lightgreen;
|
||||||
|
}
|
||||||
|
.sb-main {
|
||||||
|
background: blanchedalmond;
|
||||||
|
}
|
||||||
|
.sb-main__inner {
|
||||||
|
background: antiquewhite;
|
||||||
|
}
|
||||||
|
.sb-header-article {
|
||||||
|
background: lightsteelblue;
|
||||||
|
}
|
||||||
|
.sb-article-container {
|
||||||
|
background: snow;
|
||||||
|
}
|
||||||
|
.sb-article-main {
|
||||||
|
background: white;
|
||||||
|
}
|
||||||
|
.sb-footer-article {
|
||||||
|
background: lightpink;
|
||||||
|
}
|
||||||
|
.sb-sidebar-secondary {
|
||||||
|
background: lightgoldenrodyellow;
|
||||||
|
}
|
||||||
|
.sb-footer-content {
|
||||||
|
background: plum;
|
||||||
|
}
|
||||||
|
.sb-footer-content__inner {
|
||||||
|
background: palevioletred;
|
||||||
|
}
|
||||||
|
.sb-footer {
|
||||||
|
background: pink;
|
||||||
|
}
|
||||||
|
.sb-footer__inner {
|
||||||
|
background: salmon;
|
||||||
|
}
|
||||||
|
.sb-article {
|
||||||
|
background: white;
|
||||||
|
}
|
|
@ -1,74 +1,255 @@
|
||||||
pre { line-height: 125%; }
|
.highlight pre { line-height: 125%; }
|
||||||
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
.highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||||
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
.highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||||
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
.highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||||
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
.highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||||
.highlight .hll { background-color: #ffffcc }
|
.highlight .hll { background-color: #ffffcc }
|
||||||
.highlight { background: #eeffcc; }
|
.highlight { background: #f8f8f8; }
|
||||||
.highlight .c { color: #408090; font-style: italic } /* Comment */
|
.highlight .c { color: #8f5902; font-style: italic } /* Comment */
|
||||||
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */
|
||||||
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
|
.highlight .g { color: #000000 } /* Generic */
|
||||||
.highlight .o { color: #666666 } /* Operator */
|
.highlight .k { color: #204a87; font-weight: bold } /* Keyword */
|
||||||
.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */
|
.highlight .l { color: #000000 } /* Literal */
|
||||||
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
|
.highlight .n { color: #000000 } /* Name */
|
||||||
.highlight .cp { color: #007020 } /* Comment.Preproc */
|
.highlight .o { color: #ce5c00; font-weight: bold } /* Operator */
|
||||||
.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */
|
.highlight .x { color: #000000 } /* Other */
|
||||||
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
|
.highlight .p { color: #000000; font-weight: bold } /* Punctuation */
|
||||||
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
|
.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */
|
||||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */
|
||||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
.highlight .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */
|
||||||
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */
|
||||||
|
.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */
|
||||||
|
.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */
|
||||||
|
.highlight .gd { color: #a40000 } /* Generic.Deleted */
|
||||||
|
.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */
|
||||||
|
.highlight .gr { color: #ef2929 } /* Generic.Error */
|
||||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||||
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||||
.highlight .go { color: #333333 } /* Generic.Output */
|
.highlight .go { color: #000000; font-style: italic } /* Generic.Output */
|
||||||
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
|
.highlight .gp { color: #8f5902 } /* Generic.Prompt */
|
||||||
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */
|
||||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||||
.highlight .gt { color: #0044DD } /* Generic.Traceback */
|
.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */
|
||||||
.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
|
.highlight .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */
|
||||||
.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
|
.highlight .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */
|
||||||
.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
|
.highlight .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */
|
||||||
.highlight .kp { color: #007020 } /* Keyword.Pseudo */
|
.highlight .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */
|
||||||
.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
|
.highlight .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */
|
||||||
.highlight .kt { color: #902000 } /* Keyword.Type */
|
.highlight .kt { color: #204a87; font-weight: bold } /* Keyword.Type */
|
||||||
.highlight .m { color: #208050 } /* Literal.Number */
|
.highlight .ld { color: #000000 } /* Literal.Date */
|
||||||
.highlight .s { color: #4070a0 } /* Literal.String */
|
.highlight .m { color: #0000cf; font-weight: bold } /* Literal.Number */
|
||||||
.highlight .na { color: #4070a0 } /* Name.Attribute */
|
.highlight .s { color: #4e9a06 } /* Literal.String */
|
||||||
.highlight .nb { color: #007020 } /* Name.Builtin */
|
.highlight .na { color: #c4a000 } /* Name.Attribute */
|
||||||
.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
|
.highlight .nb { color: #204a87 } /* Name.Builtin */
|
||||||
.highlight .no { color: #60add5 } /* Name.Constant */
|
.highlight .nc { color: #000000 } /* Name.Class */
|
||||||
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
|
.highlight .no { color: #000000 } /* Name.Constant */
|
||||||
.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
|
.highlight .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */
|
||||||
.highlight .ne { color: #007020 } /* Name.Exception */
|
.highlight .ni { color: #ce5c00 } /* Name.Entity */
|
||||||
.highlight .nf { color: #06287e } /* Name.Function */
|
.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */
|
||||||
.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
|
.highlight .nf { color: #000000 } /* Name.Function */
|
||||||
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
|
.highlight .nl { color: #f57900 } /* Name.Label */
|
||||||
.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
|
.highlight .nn { color: #000000 } /* Name.Namespace */
|
||||||
.highlight .nv { color: #bb60d5 } /* Name.Variable */
|
.highlight .nx { color: #000000 } /* Name.Other */
|
||||||
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
|
.highlight .py { color: #000000 } /* Name.Property */
|
||||||
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
.highlight .nt { color: #204a87; font-weight: bold } /* Name.Tag */
|
||||||
.highlight .mb { color: #208050 } /* Literal.Number.Bin */
|
.highlight .nv { color: #000000 } /* Name.Variable */
|
||||||
.highlight .mf { color: #208050 } /* Literal.Number.Float */
|
.highlight .ow { color: #204a87; font-weight: bold } /* Operator.Word */
|
||||||
.highlight .mh { color: #208050 } /* Literal.Number.Hex */
|
.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */
|
||||||
.highlight .mi { color: #208050 } /* Literal.Number.Integer */
|
.highlight .w { color: #f8f8f8 } /* Text.Whitespace */
|
||||||
.highlight .mo { color: #208050 } /* Literal.Number.Oct */
|
.highlight .mb { color: #0000cf; font-weight: bold } /* Literal.Number.Bin */
|
||||||
.highlight .sa { color: #4070a0 } /* Literal.String.Affix */
|
.highlight .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */
|
||||||
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
|
.highlight .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */
|
||||||
.highlight .sc { color: #4070a0 } /* Literal.String.Char */
|
.highlight .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */
|
||||||
.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */
|
.highlight .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */
|
||||||
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
|
.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */
|
||||||
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
|
.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */
|
||||||
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
|
.highlight .sc { color: #4e9a06 } /* Literal.String.Char */
|
||||||
.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
|
.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */
|
||||||
.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
|
.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */
|
||||||
.highlight .sx { color: #c65d09 } /* Literal.String.Other */
|
.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */
|
||||||
.highlight .sr { color: #235388 } /* Literal.String.Regex */
|
.highlight .se { color: #4e9a06 } /* Literal.String.Escape */
|
||||||
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
|
.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */
|
||||||
.highlight .ss { color: #517918 } /* Literal.String.Symbol */
|
.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */
|
||||||
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
|
.highlight .sx { color: #4e9a06 } /* Literal.String.Other */
|
||||||
.highlight .fm { color: #06287e } /* Name.Function.Magic */
|
.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */
|
||||||
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
|
.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */
|
||||||
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
|
.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */
|
||||||
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
|
.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */
|
||||||
.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
|
.highlight .fm { color: #000000 } /* Name.Function.Magic */
|
||||||
.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
|
.highlight .vc { color: #000000 } /* Name.Variable.Class */
|
||||||
|
.highlight .vg { color: #000000 } /* Name.Variable.Global */
|
||||||
|
.highlight .vi { color: #000000 } /* Name.Variable.Instance */
|
||||||
|
.highlight .vm { color: #000000 } /* Name.Variable.Magic */
|
||||||
|
.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */
|
||||||
|
@media not print {
|
||||||
|
body[data-theme="dark"] .highlight pre { line-height: 125%; }
|
||||||
|
body[data-theme="dark"] .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||||
|
body[data-theme="dark"] .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||||
|
body[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||||
|
body[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||||
|
body[data-theme="dark"] .highlight .hll { background-color: #404040 }
|
||||||
|
body[data-theme="dark"] .highlight { background: #202020; color: #d0d0d0 }
|
||||||
|
body[data-theme="dark"] .highlight .c { color: #ababab; font-style: italic } /* Comment */
|
||||||
|
body[data-theme="dark"] .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
|
||||||
|
body[data-theme="dark"] .highlight .esc { color: #d0d0d0 } /* Escape */
|
||||||
|
body[data-theme="dark"] .highlight .g { color: #d0d0d0 } /* Generic */
|
||||||
|
body[data-theme="dark"] .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */
|
||||||
|
body[data-theme="dark"] .highlight .l { color: #d0d0d0 } /* Literal */
|
||||||
|
body[data-theme="dark"] .highlight .n { color: #d0d0d0 } /* Name */
|
||||||
|
body[data-theme="dark"] .highlight .o { color: #d0d0d0 } /* Operator */
|
||||||
|
body[data-theme="dark"] .highlight .x { color: #d0d0d0 } /* Other */
|
||||||
|
body[data-theme="dark"] .highlight .p { color: #d0d0d0 } /* Punctuation */
|
||||||
|
body[data-theme="dark"] .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */
|
||||||
|
body[data-theme="dark"] .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */
|
||||||
|
body[data-theme="dark"] .highlight .cp { color: #cd2828; font-weight: bold } /* Comment.Preproc */
|
||||||
|
body[data-theme="dark"] .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */
|
||||||
|
body[data-theme="dark"] .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */
|
||||||
|
body[data-theme="dark"] .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */
|
||||||
|
body[data-theme="dark"] .highlight .gd { color: #d22323 } /* Generic.Deleted */
|
||||||
|
body[data-theme="dark"] .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */
|
||||||
|
body[data-theme="dark"] .highlight .gr { color: #d22323 } /* Generic.Error */
|
||||||
|
body[data-theme="dark"] .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
|
||||||
|
body[data-theme="dark"] .highlight .gi { color: #589819 } /* Generic.Inserted */
|
||||||
|
body[data-theme="dark"] .highlight .go { color: #cccccc } /* Generic.Output */
|
||||||
|
body[data-theme="dark"] .highlight .gp { color: #aaaaaa } /* Generic.Prompt */
|
||||||
|
body[data-theme="dark"] .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */
|
||||||
|
body[data-theme="dark"] .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */
|
||||||
|
body[data-theme="dark"] .highlight .gt { color: #d22323 } /* Generic.Traceback */
|
||||||
|
body[data-theme="dark"] .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */
|
||||||
|
body[data-theme="dark"] .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */
|
||||||
|
body[data-theme="dark"] .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */
|
||||||
|
body[data-theme="dark"] .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */
|
||||||
|
body[data-theme="dark"] .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */
|
||||||
|
body[data-theme="dark"] .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */
|
||||||
|
body[data-theme="dark"] .highlight .ld { color: #d0d0d0 } /* Literal.Date */
|
||||||
|
body[data-theme="dark"] .highlight .m { color: #51b2fd } /* Literal.Number */
|
||||||
|
body[data-theme="dark"] .highlight .s { color: #ed9d13 } /* Literal.String */
|
||||||
|
body[data-theme="dark"] .highlight .na { color: #bbbbbb } /* Name.Attribute */
|
||||||
|
body[data-theme="dark"] .highlight .nb { color: #2fbccd } /* Name.Builtin */
|
||||||
|
body[data-theme="dark"] .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */
|
||||||
|
body[data-theme="dark"] .highlight .no { color: #40ffff } /* Name.Constant */
|
||||||
|
body[data-theme="dark"] .highlight .nd { color: #ffa500 } /* Name.Decorator */
|
||||||
|
body[data-theme="dark"] .highlight .ni { color: #d0d0d0 } /* Name.Entity */
|
||||||
|
body[data-theme="dark"] .highlight .ne { color: #bbbbbb } /* Name.Exception */
|
||||||
|
body[data-theme="dark"] .highlight .nf { color: #71adff } /* Name.Function */
|
||||||
|
body[data-theme="dark"] .highlight .nl { color: #d0d0d0 } /* Name.Label */
|
||||||
|
body[data-theme="dark"] .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */
|
||||||
|
body[data-theme="dark"] .highlight .nx { color: #d0d0d0 } /* Name.Other */
|
||||||
|
body[data-theme="dark"] .highlight .py { color: #d0d0d0 } /* Name.Property */
|
||||||
|
body[data-theme="dark"] .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */
|
||||||
|
body[data-theme="dark"] .highlight .nv { color: #40ffff } /* Name.Variable */
|
||||||
|
body[data-theme="dark"] .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */
|
||||||
|
body[data-theme="dark"] .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */
|
||||||
|
body[data-theme="dark"] .highlight .w { color: #666666 } /* Text.Whitespace */
|
||||||
|
body[data-theme="dark"] .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */
|
||||||
|
body[data-theme="dark"] .highlight .mf { color: #51b2fd } /* Literal.Number.Float */
|
||||||
|
body[data-theme="dark"] .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */
|
||||||
|
body[data-theme="dark"] .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */
|
||||||
|
body[data-theme="dark"] .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */
|
||||||
|
body[data-theme="dark"] .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */
|
||||||
|
body[data-theme="dark"] .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */
|
||||||
|
body[data-theme="dark"] .highlight .sc { color: #ed9d13 } /* Literal.String.Char */
|
||||||
|
body[data-theme="dark"] .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */
|
||||||
|
body[data-theme="dark"] .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */
|
||||||
|
body[data-theme="dark"] .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */
|
||||||
|
body[data-theme="dark"] .highlight .se { color: #ed9d13 } /* Literal.String.Escape */
|
||||||
|
body[data-theme="dark"] .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */
|
||||||
|
body[data-theme="dark"] .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */
|
||||||
|
body[data-theme="dark"] .highlight .sx { color: #ffa500 } /* Literal.String.Other */
|
||||||
|
body[data-theme="dark"] .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */
|
||||||
|
body[data-theme="dark"] .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */
|
||||||
|
body[data-theme="dark"] .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */
|
||||||
|
body[data-theme="dark"] .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */
|
||||||
|
body[data-theme="dark"] .highlight .fm { color: #71adff } /* Name.Function.Magic */
|
||||||
|
body[data-theme="dark"] .highlight .vc { color: #40ffff } /* Name.Variable.Class */
|
||||||
|
body[data-theme="dark"] .highlight .vg { color: #40ffff } /* Name.Variable.Global */
|
||||||
|
body[data-theme="dark"] .highlight .vi { color: #40ffff } /* Name.Variable.Instance */
|
||||||
|
body[data-theme="dark"] .highlight .vm { color: #40ffff } /* Name.Variable.Magic */
|
||||||
|
body[data-theme="dark"] .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body:not([data-theme="light"]) .highlight pre { line-height: 125%; }
|
||||||
|
body:not([data-theme="light"]) .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||||
|
body:not([data-theme="light"]) .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||||
|
body:not([data-theme="light"]) .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||||
|
body:not([data-theme="light"]) .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||||
|
body:not([data-theme="light"]) .highlight .hll { background-color: #404040 }
|
||||||
|
body:not([data-theme="light"]) .highlight { background: #202020; color: #d0d0d0 }
|
||||||
|
body:not([data-theme="light"]) .highlight .c { color: #ababab; font-style: italic } /* Comment */
|
||||||
|
body:not([data-theme="light"]) .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
|
||||||
|
body:not([data-theme="light"]) .highlight .esc { color: #d0d0d0 } /* Escape */
|
||||||
|
body:not([data-theme="light"]) .highlight .g { color: #d0d0d0 } /* Generic */
|
||||||
|
body:not([data-theme="light"]) .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */
|
||||||
|
body:not([data-theme="light"]) .highlight .l { color: #d0d0d0 } /* Literal */
|
||||||
|
body:not([data-theme="light"]) .highlight .n { color: #d0d0d0 } /* Name */
|
||||||
|
body:not([data-theme="light"]) .highlight .o { color: #d0d0d0 } /* Operator */
|
||||||
|
body:not([data-theme="light"]) .highlight .x { color: #d0d0d0 } /* Other */
|
||||||
|
body:not([data-theme="light"]) .highlight .p { color: #d0d0d0 } /* Punctuation */
|
||||||
|
body:not([data-theme="light"]) .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */
|
||||||
|
body:not([data-theme="light"]) .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */
|
||||||
|
body:not([data-theme="light"]) .highlight .cp { color: #cd2828; font-weight: bold } /* Comment.Preproc */
|
||||||
|
body:not([data-theme="light"]) .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */
|
||||||
|
body:not([data-theme="light"]) .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */
|
||||||
|
body:not([data-theme="light"]) .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */
|
||||||
|
body:not([data-theme="light"]) .highlight .gd { color: #d22323 } /* Generic.Deleted */
|
||||||
|
body:not([data-theme="light"]) .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */
|
||||||
|
body:not([data-theme="light"]) .highlight .gr { color: #d22323 } /* Generic.Error */
|
||||||
|
body:not([data-theme="light"]) .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
|
||||||
|
body:not([data-theme="light"]) .highlight .gi { color: #589819 } /* Generic.Inserted */
|
||||||
|
body:not([data-theme="light"]) .highlight .go { color: #cccccc } /* Generic.Output */
|
||||||
|
body:not([data-theme="light"]) .highlight .gp { color: #aaaaaa } /* Generic.Prompt */
|
||||||
|
body:not([data-theme="light"]) .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */
|
||||||
|
body:not([data-theme="light"]) .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */
|
||||||
|
body:not([data-theme="light"]) .highlight .gt { color: #d22323 } /* Generic.Traceback */
|
||||||
|
body:not([data-theme="light"]) .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */
|
||||||
|
body:not([data-theme="light"]) .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */
|
||||||
|
body:not([data-theme="light"]) .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */
|
||||||
|
body:not([data-theme="light"]) .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */
|
||||||
|
body:not([data-theme="light"]) .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */
|
||||||
|
body:not([data-theme="light"]) .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */
|
||||||
|
body:not([data-theme="light"]) .highlight .ld { color: #d0d0d0 } /* Literal.Date */
|
||||||
|
body:not([data-theme="light"]) .highlight .m { color: #51b2fd } /* Literal.Number */
|
||||||
|
body:not([data-theme="light"]) .highlight .s { color: #ed9d13 } /* Literal.String */
|
||||||
|
body:not([data-theme="light"]) .highlight .na { color: #bbbbbb } /* Name.Attribute */
|
||||||
|
body:not([data-theme="light"]) .highlight .nb { color: #2fbccd } /* Name.Builtin */
|
||||||
|
body:not([data-theme="light"]) .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */
|
||||||
|
body:not([data-theme="light"]) .highlight .no { color: #40ffff } /* Name.Constant */
|
||||||
|
body:not([data-theme="light"]) .highlight .nd { color: #ffa500 } /* Name.Decorator */
|
||||||
|
body:not([data-theme="light"]) .highlight .ni { color: #d0d0d0 } /* Name.Entity */
|
||||||
|
body:not([data-theme="light"]) .highlight .ne { color: #bbbbbb } /* Name.Exception */
|
||||||
|
body:not([data-theme="light"]) .highlight .nf { color: #71adff } /* Name.Function */
|
||||||
|
body:not([data-theme="light"]) .highlight .nl { color: #d0d0d0 } /* Name.Label */
|
||||||
|
body:not([data-theme="light"]) .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */
|
||||||
|
body:not([data-theme="light"]) .highlight .nx { color: #d0d0d0 } /* Name.Other */
|
||||||
|
body:not([data-theme="light"]) .highlight .py { color: #d0d0d0 } /* Name.Property */
|
||||||
|
body:not([data-theme="light"]) .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */
|
||||||
|
body:not([data-theme="light"]) .highlight .nv { color: #40ffff } /* Name.Variable */
|
||||||
|
body:not([data-theme="light"]) .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */
|
||||||
|
body:not([data-theme="light"]) .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */
|
||||||
|
body:not([data-theme="light"]) .highlight .w { color: #666666 } /* Text.Whitespace */
|
||||||
|
body:not([data-theme="light"]) .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */
|
||||||
|
body:not([data-theme="light"]) .highlight .mf { color: #51b2fd } /* Literal.Number.Float */
|
||||||
|
body:not([data-theme="light"]) .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */
|
||||||
|
body:not([data-theme="light"]) .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */
|
||||||
|
body:not([data-theme="light"]) .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */
|
||||||
|
body:not([data-theme="light"]) .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */
|
||||||
|
body:not([data-theme="light"]) .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */
|
||||||
|
body:not([data-theme="light"]) .highlight .sc { color: #ed9d13 } /* Literal.String.Char */
|
||||||
|
body:not([data-theme="light"]) .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */
|
||||||
|
body:not([data-theme="light"]) .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */
|
||||||
|
body:not([data-theme="light"]) .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */
|
||||||
|
body:not([data-theme="light"]) .highlight .se { color: #ed9d13 } /* Literal.String.Escape */
|
||||||
|
body:not([data-theme="light"]) .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */
|
||||||
|
body:not([data-theme="light"]) .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */
|
||||||
|
body:not([data-theme="light"]) .highlight .sx { color: #ffa500 } /* Literal.String.Other */
|
||||||
|
body:not([data-theme="light"]) .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */
|
||||||
|
body:not([data-theme="light"]) .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */
|
||||||
|
body:not([data-theme="light"]) .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */
|
||||||
|
body:not([data-theme="light"]) .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */
|
||||||
|
body:not([data-theme="light"]) .highlight .fm { color: #71adff } /* Name.Function.Magic */
|
||||||
|
body:not([data-theme="light"]) .highlight .vc { color: #40ffff } /* Name.Variable.Class */
|
||||||
|
body:not([data-theme="light"]) .highlight .vg { color: #40ffff } /* Name.Variable.Global */
|
||||||
|
body:not([data-theme="light"]) .highlight .vi { color: #40ffff } /* Name.Variable.Instance */
|
||||||
|
body:not([data-theme="light"]) .highlight .vm { color: #40ffff } /* Name.Variable.Magic */
|
||||||
|
body:not([data-theme="light"]) .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 85 KiB |
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,7 @@
|
||||||
|
/*!
|
||||||
|
* gumshoejs v5.1.2 (patched by @pradyunsg)
|
||||||
|
* A simple, framework-agnostic scrollspy script.
|
||||||
|
* (c) 2019 Chris Ferdinandi
|
||||||
|
* MIT License
|
||||||
|
* http://github.com/cferdinandi/gumshoe
|
||||||
|
*/
|
File diff suppressed because one or more lines are too long
|
@ -1,70 +0,0 @@
|
||||||
/*
|
|
||||||
* sidebar.js
|
|
||||||
* ~~~~~~~~~~
|
|
||||||
*
|
|
||||||
* This script makes the Sphinx sidebar collapsible.
|
|
||||||
*
|
|
||||||
* .sphinxsidebar contains .sphinxsidebarwrapper. This script adds
|
|
||||||
* in .sphixsidebar, after .sphinxsidebarwrapper, the #sidebarbutton
|
|
||||||
* used to collapse and expand the sidebar.
|
|
||||||
*
|
|
||||||
* When the sidebar is collapsed the .sphinxsidebarwrapper is hidden
|
|
||||||
* and the width of the sidebar and the margin-left of the document
|
|
||||||
* are decreased. When the sidebar is expanded the opposite happens.
|
|
||||||
* This script saves a per-browser/per-session cookie used to
|
|
||||||
* remember the position of the sidebar among the pages.
|
|
||||||
* Once the browser is closed the cookie is deleted and the position
|
|
||||||
* reset to the default (expanded).
|
|
||||||
*
|
|
||||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
|
||||||
* :license: BSD, see LICENSE for details.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
const initialiseSidebar = () => {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// global elements used by the functions.
|
|
||||||
const bodyWrapper = document.getElementsByClassName("bodywrapper")[0]
|
|
||||||
const sidebar = document.getElementsByClassName("sphinxsidebar")[0]
|
|
||||||
const sidebarWrapper = document.getElementsByClassName('sphinxsidebarwrapper')[0]
|
|
||||||
const sidebarButton = document.getElementById("sidebarbutton")
|
|
||||||
const sidebarArrow = sidebarButton.querySelector('span')
|
|
||||||
|
|
||||||
// for some reason, the document has no sidebar; do not run into errors
|
|
||||||
if (typeof sidebar === "undefined") return;
|
|
||||||
|
|
||||||
const flipArrow = element => element.innerText = (element.innerText === "»") ? "«" : "»"
|
|
||||||
|
|
||||||
const collapse_sidebar = () => {
|
|
||||||
bodyWrapper.style.marginLeft = ".8em";
|
|
||||||
sidebar.style.width = ".8em"
|
|
||||||
sidebarWrapper.style.display = "none"
|
|
||||||
flipArrow(sidebarArrow)
|
|
||||||
sidebarButton.title = _('Expand sidebar')
|
|
||||||
window.localStorage.setItem("sidebar", "collapsed")
|
|
||||||
}
|
|
||||||
|
|
||||||
const expand_sidebar = () => {
|
|
||||||
bodyWrapper.style.marginLeft = ""
|
|
||||||
sidebar.style.removeProperty("width")
|
|
||||||
sidebarWrapper.style.display = ""
|
|
||||||
flipArrow(sidebarArrow)
|
|
||||||
sidebarButton.title = _('Collapse sidebar')
|
|
||||||
window.localStorage.setItem("sidebar", "expanded")
|
|
||||||
}
|
|
||||||
|
|
||||||
sidebarButton.addEventListener("click", () => {
|
|
||||||
(sidebarWrapper.style.display === "none") ? expand_sidebar() : collapse_sidebar()
|
|
||||||
})
|
|
||||||
|
|
||||||
if (!window.localStorage.getItem("sidebar")) return
|
|
||||||
const value = window.localStorage.getItem("sidebar")
|
|
||||||
if (value === "collapsed") collapse_sidebar();
|
|
||||||
else if (value === "expanded") expand_sidebar();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (document.readyState !== "loading") initialiseSidebar()
|
|
||||||
else document.addEventListener("DOMContentLoaded", initialiseSidebar)
|
|
|
@ -0,0 +1,296 @@
|
||||||
|
/* Some sane resets. */
|
||||||
|
html {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
min-height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* All the flexbox magic! */
|
||||||
|
body,
|
||||||
|
.sb-announcement,
|
||||||
|
.sb-content,
|
||||||
|
.sb-main,
|
||||||
|
.sb-container,
|
||||||
|
.sb-container__inner,
|
||||||
|
.sb-article-container,
|
||||||
|
.sb-footer-content,
|
||||||
|
.sb-header,
|
||||||
|
.sb-header-secondary,
|
||||||
|
.sb-footer {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* These order things vertically */
|
||||||
|
body,
|
||||||
|
.sb-main,
|
||||||
|
.sb-article-container {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Put elements in the center */
|
||||||
|
.sb-header,
|
||||||
|
.sb-header-secondary,
|
||||||
|
.sb-container,
|
||||||
|
.sb-content,
|
||||||
|
.sb-footer,
|
||||||
|
.sb-footer-content {
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
/* Put elements at the ends */
|
||||||
|
.sb-article-container {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* These elements grow. */
|
||||||
|
.sb-main,
|
||||||
|
.sb-content,
|
||||||
|
.sb-container,
|
||||||
|
article {
|
||||||
|
flex-grow: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Because padding making this wider is not fun */
|
||||||
|
article {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The announcements element should never be wider than the page. */
|
||||||
|
.sb-announcement {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sb-sidebar-primary,
|
||||||
|
.sb-sidebar-secondary {
|
||||||
|
flex-shrink: 0;
|
||||||
|
width: 17rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sb-announcement__inner {
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
box-sizing: border-box;
|
||||||
|
height: 3rem;
|
||||||
|
|
||||||
|
overflow-x: auto;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sidebars, with checkbox-based toggle */
|
||||||
|
.sb-sidebar-primary,
|
||||||
|
.sb-sidebar-secondary {
|
||||||
|
position: fixed;
|
||||||
|
height: 100%;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sb-sidebar-primary {
|
||||||
|
left: -17rem;
|
||||||
|
transition: left 250ms ease-in-out;
|
||||||
|
}
|
||||||
|
.sb-sidebar-secondary {
|
||||||
|
right: -17rem;
|
||||||
|
transition: right 250ms ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sb-sidebar-toggle {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.sb-sidebar-overlay {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
|
||||||
|
transition: width 0ms ease 250ms, height 0ms ease 250ms, opacity 250ms ease;
|
||||||
|
|
||||||
|
opacity: 0;
|
||||||
|
background-color: rgba(0, 0, 0, 0.54);
|
||||||
|
}
|
||||||
|
|
||||||
|
#sb-sidebar-toggle--primary:checked
|
||||||
|
~ .sb-sidebar-overlay[for="sb-sidebar-toggle--primary"],
|
||||||
|
#sb-sidebar-toggle--secondary:checked
|
||||||
|
~ .sb-sidebar-overlay[for="sb-sidebar-toggle--secondary"] {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
opacity: 1;
|
||||||
|
transition: width 0ms ease, height 0ms ease, opacity 250ms ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sb-sidebar-toggle--primary:checked ~ .sb-container .sb-sidebar-primary {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
#sb-sidebar-toggle--secondary:checked ~ .sb-container .sb-sidebar-secondary {
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Full-width mode */
|
||||||
|
.drop-secondary-sidebar-for-full-width-content
|
||||||
|
.hide-when-secondary-sidebar-shown {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .sb-sidebar-secondary {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mobile views */
|
||||||
|
.sb-page-width {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sb-article-container,
|
||||||
|
.sb-footer-content__inner,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .sb-article,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .match-content-width {
|
||||||
|
width: 100vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sb-article,
|
||||||
|
.match-content-width {
|
||||||
|
padding: 0 1rem;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 32rem) {
|
||||||
|
.sb-article,
|
||||||
|
.match-content-width {
|
||||||
|
padding: 0 2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tablet views */
|
||||||
|
@media (min-width: 42rem) {
|
||||||
|
.sb-article-container {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
.sb-footer-content__inner,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .sb-article,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .match-content-width {
|
||||||
|
width: 42rem;
|
||||||
|
}
|
||||||
|
.sb-article,
|
||||||
|
.match-content-width {
|
||||||
|
width: 42rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (min-width: 46rem) {
|
||||||
|
.sb-footer-content__inner,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .sb-article,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .match-content-width {
|
||||||
|
width: 46rem;
|
||||||
|
}
|
||||||
|
.sb-article,
|
||||||
|
.match-content-width {
|
||||||
|
width: 46rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (min-width: 50rem) {
|
||||||
|
.sb-footer-content__inner,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .sb-article,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .match-content-width {
|
||||||
|
width: 50rem;
|
||||||
|
}
|
||||||
|
.sb-article,
|
||||||
|
.match-content-width {
|
||||||
|
width: 50rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tablet views */
|
||||||
|
@media (min-width: 59rem) {
|
||||||
|
.sb-sidebar-secondary {
|
||||||
|
position: static;
|
||||||
|
}
|
||||||
|
.hide-when-secondary-sidebar-shown {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
.sb-footer-content__inner,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .sb-article,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .match-content-width {
|
||||||
|
width: 59rem;
|
||||||
|
}
|
||||||
|
.sb-article,
|
||||||
|
.match-content-width {
|
||||||
|
width: 42rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (min-width: 63rem) {
|
||||||
|
.sb-footer-content__inner,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .sb-article,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .match-content-width {
|
||||||
|
width: 63rem;
|
||||||
|
}
|
||||||
|
.sb-article,
|
||||||
|
.match-content-width {
|
||||||
|
width: 46rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (min-width: 67rem) {
|
||||||
|
.sb-footer-content__inner,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .sb-article,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .match-content-width {
|
||||||
|
width: 67rem;
|
||||||
|
}
|
||||||
|
.sb-article,
|
||||||
|
.match-content-width {
|
||||||
|
width: 50rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Desktop views */
|
||||||
|
@media (min-width: 76rem) {
|
||||||
|
.sb-sidebar-primary {
|
||||||
|
position: static;
|
||||||
|
}
|
||||||
|
.hide-when-primary-sidebar-shown {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
.sb-footer-content__inner,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .sb-article,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .match-content-width {
|
||||||
|
width: 59rem;
|
||||||
|
}
|
||||||
|
.sb-article,
|
||||||
|
.match-content-width {
|
||||||
|
width: 42rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Full desktop views */
|
||||||
|
@media (min-width: 80rem) {
|
||||||
|
.sb-article,
|
||||||
|
.match-content-width {
|
||||||
|
width: 46rem;
|
||||||
|
}
|
||||||
|
.sb-footer-content__inner,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .sb-article,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .match-content-width {
|
||||||
|
width: 63rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 84rem) {
|
||||||
|
.sb-article,
|
||||||
|
.match-content-width {
|
||||||
|
width: 50rem;
|
||||||
|
}
|
||||||
|
.sb-footer-content__inner,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .sb-article,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .match-content-width {
|
||||||
|
width: 67rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 88rem) {
|
||||||
|
.sb-footer-content__inner,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .sb-article,
|
||||||
|
.drop-secondary-sidebar-for-full-width-content .match-content-width {
|
||||||
|
width: 67rem;
|
||||||
|
}
|
||||||
|
.sb-page-width {
|
||||||
|
width: 88rem;
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,55 +1,232 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="en">
|
||||||
|
<head><meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
|
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
<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" />
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<meta name="generator" content="sphinx-5.2.2, furo 2022.09.29"/>
|
||||||
|
<title>Code Examples - Reticulum Network Stack 0.3.12 beta documentation</title>
|
||||||
<html lang="en">
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<head>
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
|
||||||
<meta charset="utf-8" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
||||||
<title>Code Examples — Reticulum Network Stack 0.3.12 beta documentation</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/classic.css" />
|
|
||||||
|
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
|
||||||
|
|
||||||
<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="Building Networks" href="networks.html" />
|
|
||||||
</head><body>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
<ul>
|
|
||||||
<li class="right" style="margin-right: 10px">
|
|
||||||
<a href="genindex.html" title="General Index"
|
|
||||||
accesskey="I">index</a></li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="reference.html" title="API Reference"
|
|
||||||
accesskey="N">next</a> |</li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="networks.html" title="Building Networks"
|
|
||||||
accesskey="P">previous</a> |</li>
|
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Code Examples</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="document">
|
|
||||||
<div class="documentwrapper">
|
<style>
|
||||||
<div class="bodywrapper">
|
body {
|
||||||
<div class="body" role="main">
|
--color-code-background: #f8f8f8;
|
||||||
|
--color-code-foreground: black;
|
||||||
<section id="code-examples">
|
|
||||||
<span id="examples-main"></span><h1>Code Examples<a class="headerlink" href="#code-examples" title="Permalink to this heading">¶</a></h1>
|
}
|
||||||
|
@media not print {
|
||||||
|
body[data-theme="dark"] {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body:not([data-theme="light"]) {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style></head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||||
|
<symbol id="svg-toc" viewBox="0 0 24 24">
|
||||||
|
<title>Contents</title>
|
||||||
|
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
||||||
|
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-menu" viewBox="0 0 24 24">
|
||||||
|
<title>Menu</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
||||||
|
<line x1="3" y1="12" x2="21" y2="12"></line>
|
||||||
|
<line x1="3" y1="6" x2="21" y2="6"></line>
|
||||||
|
<line x1="3" y1="18" x2="21" y2="18"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
||||||
|
<title>Expand</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
||||||
|
<polyline points="9 18 15 12 9 6"></polyline>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun" viewBox="0 0 24 24">
|
||||||
|
<title>Light mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-moon" viewBox="0 0 24 24">
|
||||||
|
<title>Dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
||||||
|
<title>Auto light/dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<circle cx="12" cy="12" r="9" />
|
||||||
|
<path d="M13 12h5" />
|
||||||
|
<path d="M13 15h4" />
|
||||||
|
<path d="M13 18h1" />
|
||||||
|
<path d="M13 9h4" />
|
||||||
|
<path d="M13 6h1" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
||||||
|
<label class="overlay sidebar-overlay" for="__navigation">
|
||||||
|
<div class="visually-hidden">Hide navigation sidebar</div>
|
||||||
|
</label>
|
||||||
|
<label class="overlay toc-overlay" for="__toc">
|
||||||
|
<div class="visually-hidden">Hide table of contents sidebar</div>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<header class="mobile-header">
|
||||||
|
<div class="header-left">
|
||||||
|
<label class="nav-overlay-icon" for="__navigation">
|
||||||
|
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="header-center">
|
||||||
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.3.12 beta documentation</div></a>
|
||||||
|
</div>
|
||||||
|
<div class="header-right">
|
||||||
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<aside class="sidebar-drawer">
|
||||||
|
<div class="sidebar-container">
|
||||||
|
|
||||||
|
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="index.html">
|
||||||
|
|
||||||
|
<div class="sidebar-logo-container">
|
||||||
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.3.12 beta documentation</span>
|
||||||
|
|
||||||
|
</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 type="hidden" name="check_keywords" value="yes">
|
||||||
|
<input type="hidden" name="area" value="default">
|
||||||
|
</form>
|
||||||
|
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
||||||
|
<ul class="current">
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="gettingstartedfast.html">Getting Started Fast</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
|
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Code Examples</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<div class="article-container">
|
||||||
|
<a href="#" class="back-to-top muted-link">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
||||||
|
</svg>
|
||||||
|
<span>Back to top</span>
|
||||||
|
</a>
|
||||||
|
<div class="content-icon-container">
|
||||||
|
<div class="theme-toggle-container theme-toggle-content">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<article role="main">
|
||||||
|
<section id="code-examples">
|
||||||
|
<span id="examples-main"></span><h1>Code Examples<a class="headerlink" href="#code-examples" title="Permalink to this heading">#</a></h1>
|
||||||
<p>A number of examples are included in the source distribution of Reticulum.
|
<p>A number of examples are included in the source distribution of Reticulum.
|
||||||
You can use these examples to learn how to write your own programs.</p>
|
You can use these examples to learn how to write your own programs.</p>
|
||||||
<section id="minimal">
|
<section id="minimal">
|
||||||
<span id="example-minimal"></span><h2>Minimal<a class="headerlink" href="#minimal" title="Permalink to this heading">¶</a></h2>
|
<span id="example-minimal"></span><h2>Minimal<a class="headerlink" href="#minimal" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The <em>Minimal</em> example demonstrates the bare-minimum setup required to connect to
|
<p>The <em>Minimal</em> example demonstrates the bare-minimum setup required to connect to
|
||||||
a Reticulum network from your program. In about five lines of code, you will
|
a Reticulum network from your program. In about five lines of code, you will
|
||||||
have the Reticulum Network Stack initialised, and ready to pass traffic in your
|
have the Reticulum Network Stack initialised, and ready to pass traffic in your
|
||||||
|
@ -160,7 +337,7 @@ program.</p>
|
||||||
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Minimal.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Minimal.py</a>.</p>
|
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Minimal.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Minimal.py</a>.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="announce">
|
<section id="announce">
|
||||||
<span id="example-announce"></span><h2>Announce<a class="headerlink" href="#announce" title="Permalink to this heading">¶</a></h2>
|
<span id="example-announce"></span><h2>Announce<a class="headerlink" href="#announce" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The <em>Announce</em> example builds upon the previous example by exploring how to
|
<p>The <em>Announce</em> example builds upon the previous example by exploring how to
|
||||||
announce a destination on the network, and how to let your program receive
|
announce a destination on the network, and how to let your program receive
|
||||||
notifications about announces from relevant destinations.</p>
|
notifications about announces from relevant destinations.</p>
|
||||||
|
@ -339,7 +516,7 @@ notifications about announces from relevant destinations.</p>
|
||||||
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Announce.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Announce.py</a>.</p>
|
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Announce.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Announce.py</a>.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="broadcast">
|
<section id="broadcast">
|
||||||
<span id="example-broadcast"></span><h2>Broadcast<a class="headerlink" href="#broadcast" title="Permalink to this heading">¶</a></h2>
|
<span id="example-broadcast"></span><h2>Broadcast<a class="headerlink" href="#broadcast" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The <em>Broadcast</em> example explores how to transmit plaintext broadcast messages
|
<p>The <em>Broadcast</em> example explores how to transmit plaintext broadcast messages
|
||||||
over the network.</p>
|
over the network.</p>
|
||||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">##########################################################</span>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">##########################################################</span>
|
||||||
|
@ -468,7 +645,7 @@ over the network.</p>
|
||||||
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Broadcast.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Broadcast.py</a>.</p>
|
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Broadcast.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Broadcast.py</a>.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="echo">
|
<section id="echo">
|
||||||
<span id="example-echo"></span><h2>Echo<a class="headerlink" href="#echo" title="Permalink to this heading">¶</a></h2>
|
<span id="example-echo"></span><h2>Echo<a class="headerlink" href="#echo" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The <em>Echo</em> example demonstrates communication between two destinations using
|
<p>The <em>Echo</em> example demonstrates communication between two destinations using
|
||||||
the Packet interface.</p>
|
the Packet interface.</p>
|
||||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">##########################################################</span>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">##########################################################</span>
|
||||||
|
@ -806,7 +983,7 @@ the Packet interface.</p>
|
||||||
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Echo.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Echo.py</a>.</p>
|
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Echo.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Echo.py</a>.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="link">
|
<section id="link">
|
||||||
<span id="example-link"></span><h2>Link<a class="headerlink" href="#link" title="Permalink to this heading">¶</a></h2>
|
<span id="example-link"></span><h2>Link<a class="headerlink" href="#link" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The <em>Link</em> example explores establishing an encrypted link to a remote
|
<p>The <em>Link</em> example explores establishing an encrypted link to a remote
|
||||||
destination, and passing traffic back and forth over the link.</p>
|
destination, and passing traffic back and forth over the link.</p>
|
||||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">##########################################################</span>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">##########################################################</span>
|
||||||
|
@ -1105,7 +1282,7 @@ destination, and passing traffic back and forth over the link.</p>
|
||||||
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Link.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Link.py</a>.</p>
|
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Link.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Link.py</a>.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="example-identify">
|
<section id="example-identify">
|
||||||
<span id="identification"></span><h2>Identification<a class="headerlink" href="#example-identify" title="Permalink to this heading">¶</a></h2>
|
<span id="identification"></span><h2>Identification<a class="headerlink" href="#example-identify" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The <em>Identify</em> example explores identifying an intiator of a link, once
|
<p>The <em>Identify</em> example explores identifying an intiator of a link, once
|
||||||
the link has been established.</p>
|
the link has been established.</p>
|
||||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">##########################################################</span>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">##########################################################</span>
|
||||||
|
@ -1427,7 +1604,7 @@ the link has been established.</p>
|
||||||
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Identify.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Identify.py</a>.</p>
|
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Identify.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Identify.py</a>.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="requests-responses">
|
<section id="requests-responses">
|
||||||
<span id="example-request"></span><h2>Requests & Responses<a class="headerlink" href="#requests-responses" title="Permalink to this heading">¶</a></h2>
|
<span id="example-request"></span><h2>Requests & Responses<a class="headerlink" href="#requests-responses" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The <em>Request</em> example explores sendig requests and receiving responses.</p>
|
<p>The <em>Request</em> example explores sendig requests and receiving responses.</p>
|
||||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">##########################################################</span>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">##########################################################</span>
|
||||||
<span class="c1"># This RNS example demonstrates how to set perform #</span>
|
<span class="c1"># This RNS example demonstrates how to set perform #</span>
|
||||||
|
@ -1721,7 +1898,7 @@ the link has been established.</p>
|
||||||
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Request.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Request.py</a>.</p>
|
<p>This example can also be found at <a class="reference external" href="https://github.com/markqvist/Reticulum/blob/master/Examples/Request.py">https://github.com/markqvist/Reticulum/blob/master/Examples/Request.py</a>.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="filetransfer">
|
<section id="filetransfer">
|
||||||
<span id="example-filetransfer"></span><h2>Filetransfer<a class="headerlink" href="#filetransfer" title="Permalink to this heading">¶</a></h2>
|
<span id="example-filetransfer"></span><h2>Filetransfer<a class="headerlink" href="#filetransfer" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The <em>Filetransfer</em> example implements a basic file-server program that
|
<p>The <em>Filetransfer</em> example implements a basic file-server program that
|
||||||
allow clients to connect and download files. The program uses the Resource
|
allow clients to connect and download files. The program uses the Resource
|
||||||
interface to efficiently pass files of any size over a Reticulum <a class="reference internal" href="reference.html#api-link"><span class="std std-ref">Link</span></a>.</p>
|
interface to efficiently pass files of any size over a Reticulum <a class="reference internal" href="reference.html#api-link"><span class="std std-ref">Link</span></a>.</p>
|
||||||
|
@ -2336,16 +2513,62 @@ interface to efficiently pass files of any size over a Reticulum <a class="refer
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
</article>
|
||||||
<div class="clearer"></div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div class="related-pages">
|
||||||
|
<a class="next-page" href="support.html">
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Next</span>
|
||||||
|
</div>
|
||||||
|
<div class="title">Support Reticulum</div>
|
||||||
|
</div>
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
</a>
|
||||||
|
<a class="prev-page" href="networks.html">
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Previous</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title">Building Networks</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-of-page">
|
||||||
|
<div class="left-details">
|
||||||
|
<div class="copyright">
|
||||||
|
Copyright © 2022, Mark Qvist
|
||||||
|
</div>
|
||||||
|
Generated with <a href="https://www.sphinx-doc.org/">Sphinx</a> and
|
||||||
|
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-details">
|
||||||
|
<div class="icons">
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
</footer>
|
||||||
<div class="sphinxsidebarwrapper">
|
</div>
|
||||||
<div>
|
<aside class="toc-drawer">
|
||||||
<h3><a href="index.html">Table of Contents</a></h3>
|
|
||||||
<ul>
|
|
||||||
|
<div class="toc-sticky toc-scroll">
|
||||||
|
<div class="toc-title-container">
|
||||||
|
<span class="toc-title">
|
||||||
|
On this page
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="toc-tree-container">
|
||||||
|
<div class="toc-tree">
|
||||||
|
<ul>
|
||||||
<li><a class="reference internal" href="#">Code Examples</a><ul>
|
<li><a class="reference internal" href="#">Code Examples</a><ul>
|
||||||
<li><a class="reference internal" href="#minimal">Minimal</a></li>
|
<li><a class="reference internal" href="#minimal">Minimal</a></li>
|
||||||
<li><a class="reference internal" href="#announce">Announce</a></li>
|
<li><a class="reference internal" href="#announce">Announce</a></li>
|
||||||
|
@ -2359,57 +2582,21 @@ interface to efficiently pass files of any size over a Reticulum <a class="refer
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<h4>Previous topic</h4>
|
|
||||||
<p class="topless"><a href="networks.html"
|
|
||||||
title="previous chapter">Building Networks</a></p>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h4>Next topic</h4>
|
|
||||||
<p class="topless"><a href="reference.html"
|
|
||||||
title="next chapter">API Reference</a></p>
|
|
||||||
</div>
|
|
||||||
<div role="note" aria-label="source link">
|
|
||||||
<h3>This Page</h3>
|
|
||||||
<ul class="this-page-menu">
|
|
||||||
<li><a href="_sources/examples.rst.txt"
|
|
||||||
rel="nofollow">Show Source</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
</aside>
|
||||||
<h3>Navigation</h3>
|
</div>
|
||||||
<ul>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<li class="right" style="margin-right: 10px">
|
<script src="_static/jquery.js"></script>
|
||||||
<a href="genindex.html" title="General Index"
|
<script src="_static/underscore.js"></script>
|
||||||
>index</a></li>
|
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/doctools.js"></script>
|
||||||
<a href="reference.html" title="API Reference"
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
>next</a> |</li>
|
<script src="_static/scripts/furo.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/clipboard.min.js"></script>
|
||||||
<a href="networks.html" title="Building Networks"
|
<script src="_static/copybutton.js"></script>
|
||||||
>previous</a> |</li>
|
</body>
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Code Examples</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="footer" role="contentinfo">
|
|
||||||
© Copyright 2022, Mark Qvist.
|
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.2.2.
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
File diff suppressed because it is too large
Load Diff
|
@ -1,56 +1,233 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="en">
|
||||||
|
<head><meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
|
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
<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" />
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<meta name="generator" content="sphinx-5.2.2, furo 2022.09.29"/>
|
||||||
|
<title>Getting Started Fast - Reticulum Network Stack 0.3.12 beta documentation</title>
|
||||||
<html lang="en">
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<head>
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
|
||||||
<meta charset="utf-8" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
||||||
<title>Getting Started Fast — Reticulum Network Stack 0.3.12 beta documentation</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/classic.css" />
|
|
||||||
|
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
|
||||||
|
|
||||||
<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" />
|
|
||||||
</head><body>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
<ul>
|
|
||||||
<li class="right" style="margin-right: 10px">
|
|
||||||
<a href="genindex.html" title="General Index"
|
|
||||||
accesskey="I">index</a></li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="using.html" title="Using Reticulum on Your System"
|
|
||||||
accesskey="N">next</a> |</li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="whatis.html" title="What is Reticulum?"
|
|
||||||
accesskey="P">previous</a> |</li>
|
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Getting Started Fast</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="document">
|
|
||||||
<div class="documentwrapper">
|
<style>
|
||||||
<div class="bodywrapper">
|
body {
|
||||||
<div class="body" role="main">
|
--color-code-background: #f8f8f8;
|
||||||
|
--color-code-foreground: black;
|
||||||
<section id="getting-started-fast">
|
|
||||||
<h1>Getting Started Fast<a class="headerlink" href="#getting-started-fast" title="Permalink to this heading">¶</a></h1>
|
}
|
||||||
|
@media not print {
|
||||||
|
body[data-theme="dark"] {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body:not([data-theme="light"]) {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style></head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||||
|
<symbol id="svg-toc" viewBox="0 0 24 24">
|
||||||
|
<title>Contents</title>
|
||||||
|
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
||||||
|
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-menu" viewBox="0 0 24 24">
|
||||||
|
<title>Menu</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
||||||
|
<line x1="3" y1="12" x2="21" y2="12"></line>
|
||||||
|
<line x1="3" y1="6" x2="21" y2="6"></line>
|
||||||
|
<line x1="3" y1="18" x2="21" y2="18"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
||||||
|
<title>Expand</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
||||||
|
<polyline points="9 18 15 12 9 6"></polyline>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun" viewBox="0 0 24 24">
|
||||||
|
<title>Light mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-moon" viewBox="0 0 24 24">
|
||||||
|
<title>Dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
||||||
|
<title>Auto light/dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<circle cx="12" cy="12" r="9" />
|
||||||
|
<path d="M13 12h5" />
|
||||||
|
<path d="M13 15h4" />
|
||||||
|
<path d="M13 18h1" />
|
||||||
|
<path d="M13 9h4" />
|
||||||
|
<path d="M13 6h1" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
||||||
|
<label class="overlay sidebar-overlay" for="__navigation">
|
||||||
|
<div class="visually-hidden">Hide navigation sidebar</div>
|
||||||
|
</label>
|
||||||
|
<label class="overlay toc-overlay" for="__toc">
|
||||||
|
<div class="visually-hidden">Hide table of contents sidebar</div>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<header class="mobile-header">
|
||||||
|
<div class="header-left">
|
||||||
|
<label class="nav-overlay-icon" for="__navigation">
|
||||||
|
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="header-center">
|
||||||
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.3.12 beta documentation</div></a>
|
||||||
|
</div>
|
||||||
|
<div class="header-right">
|
||||||
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<aside class="sidebar-drawer">
|
||||||
|
<div class="sidebar-container">
|
||||||
|
|
||||||
|
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="index.html">
|
||||||
|
|
||||||
|
<div class="sidebar-logo-container">
|
||||||
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.3.12 beta documentation</span>
|
||||||
|
|
||||||
|
</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 type="hidden" name="check_keywords" value="yes">
|
||||||
|
<input type="hidden" name="area" value="default">
|
||||||
|
</form>
|
||||||
|
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
||||||
|
<ul class="current">
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a></li>
|
||||||
|
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Getting Started Fast</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<div class="article-container">
|
||||||
|
<a href="#" class="back-to-top muted-link">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
||||||
|
</svg>
|
||||||
|
<span>Back to top</span>
|
||||||
|
</a>
|
||||||
|
<div class="content-icon-container">
|
||||||
|
<div class="theme-toggle-container theme-toggle-content">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<article role="main">
|
||||||
|
<section id="getting-started-fast">
|
||||||
|
<h1>Getting Started Fast<a class="headerlink" href="#getting-started-fast" title="Permalink to this heading">#</a></h1>
|
||||||
<p>The best way to get started with the Reticulum Network Stack depends on what
|
<p>The best way to get started with the Reticulum Network Stack depends on what
|
||||||
you want to do. This guide will outline sensible starting paths for different
|
you want to do. This guide will outline sensible starting paths for different
|
||||||
scenarios.</p>
|
scenarios.</p>
|
||||||
<section id="try-using-a-reticulum-based-program">
|
<section id="try-using-a-reticulum-based-program">
|
||||||
<h2>Try Using a Reticulum-based Program<a class="headerlink" href="#try-using-a-reticulum-based-program" title="Permalink to this heading">¶</a></h2>
|
<h2>Try Using a Reticulum-based Program<a class="headerlink" href="#try-using-a-reticulum-based-program" title="Permalink to this heading">#</a></h2>
|
||||||
<p>If you simply want to try using a program built with Reticulum, a few different
|
<p>If you simply want to try using a program built with Reticulum, a few different
|
||||||
programs exist that allow basic communication and a range of other useful functions
|
programs exist that allow basic communication and a range of other useful functions
|
||||||
over even extremely low-bandwidth Reticulum networks.</p>
|
over even extremely low-bandwidth Reticulum networks.</p>
|
||||||
|
@ -62,7 +239,7 @@ transceivers or infrastructure just to try it out. Launching the programs on sep
|
||||||
devices connected to the same WiFi network is enough to get started, and physical
|
devices connected to the same WiFi network is enough to get started, and physical
|
||||||
radio interfaces can then be added later.</p>
|
radio interfaces can then be added later.</p>
|
||||||
<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>
|
||||||
<p>The terminal-based program <a class="reference external" href="https://github.com/markqvist/nomadnet">Nomad Network</a>
|
<p>The terminal-based program <a class="reference external" href="https://github.com/markqvist/nomadnet">Nomad Network</a>
|
||||||
provides a complete encrypted communications suite built with Reticulum. It features
|
provides a complete encrypted communications suite built with Reticulum. It features
|
||||||
encrypted messaging (both direct and delayed-delivery for offline users), file sharing,
|
encrypted messaging (both direct and delayed-delivery for offline users), file sharing,
|
||||||
|
@ -86,7 +263,7 @@ available. If you get a “command not found” error or similar when running th
|
||||||
program, reboot your system and try again.</p>
|
program, reboot your system and try again.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="sideband">
|
<section id="sideband">
|
||||||
<h3>Sideband<a class="headerlink" href="#sideband" title="Permalink to this heading">¶</a></h3>
|
<h3>Sideband<a class="headerlink" href="#sideband" title="Permalink to this heading">#</a></h3>
|
||||||
<p>If you would rather use a program with a graphical user interface, you can take
|
<p>If you would rather use a program with a graphical user interface, you can take
|
||||||
a look at <a class="reference external" href="https://unsigned.io/sideband">Sideband</a>, which is available for Android,
|
a look at <a class="reference external" href="https://unsigned.io/sideband">Sideband</a>, which is available for Android,
|
||||||
Linux and macOS.</p>
|
Linux and macOS.</p>
|
||||||
|
@ -96,7 +273,7 @@ communication features, and interoperates with Nomad Network, or any other LXMF
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="using-the-included-utilities">
|
<section id="using-the-included-utilities">
|
||||||
<h2>Using the Included Utilities<a class="headerlink" href="#using-the-included-utilities" title="Permalink to this heading">¶</a></h2>
|
<h2>Using the Included Utilities<a class="headerlink" href="#using-the-included-utilities" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Reticulum comes with a range of included utilities that make it easier to
|
<p>Reticulum comes with a range of included utilities that make it easier to
|
||||||
manage your network, check connectivity and make Reticulum available to other
|
manage your network, check connectivity and make Reticulum available to other
|
||||||
programs on your system.</p>
|
programs on your system.</p>
|
||||||
|
@ -107,7 +284,7 @@ network status and connectivity.</p>
|
||||||
<a class="reference internal" href="using.html#using-main"><span class="std std-ref">Using Reticulum on Your System</span></a> chapter of this manual.</p>
|
<a class="reference internal" href="using.html#using-main"><span class="std std-ref">Using Reticulum on Your System</span></a> chapter of this manual.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="creating-a-network-with-reticulum">
|
<section id="creating-a-network-with-reticulum">
|
||||||
<h2>Creating a Network With Reticulum<a class="headerlink" href="#creating-a-network-with-reticulum" title="Permalink to this heading">¶</a></h2>
|
<h2>Creating a Network With Reticulum<a class="headerlink" href="#creating-a-network-with-reticulum" title="Permalink to this heading">#</a></h2>
|
||||||
<p>To create a network, you will need to specify one or more <em>interfaces</em> for
|
<p>To create a network, you will need to specify one or more <em>interfaces</em> for
|
||||||
Reticulum to use. This is done in the Reticulum configuration file, which by
|
Reticulum to use. This is done in the Reticulum configuration file, which by
|
||||||
default is located at <code class="docutils literal notranslate"><span class="pre">~/.config/reticulum/config</span></code>. You can edit this file by hand,
|
default is located at <code class="docutils literal notranslate"><span class="pre">~/.config/reticulum/config</span></code>. You can edit this file by hand,
|
||||||
|
@ -136,7 +313,7 @@ you want more information, you can read the <a class="reference internal" href="
|
||||||
and <a class="reference internal" href="interfaces.html#interfaces-main"><span class="std std-ref">Interfaces</span></a> chapters of this manual.</p>
|
and <a class="reference internal" href="interfaces.html#interfaces-main"><span class="std std-ref">Interfaces</span></a> chapters of this manual.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="connecting-reticulum-instances-over-the-internet">
|
<section id="connecting-reticulum-instances-over-the-internet">
|
||||||
<h2>Connecting Reticulum Instances Over the Internet<a class="headerlink" href="#connecting-reticulum-instances-over-the-internet" title="Permalink to this heading">¶</a></h2>
|
<h2>Connecting Reticulum Instances Over the Internet<a class="headerlink" href="#connecting-reticulum-instances-over-the-internet" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Reticulum currently offers two interfaces suitable for connecting instances over the Internet: <a class="reference internal" href="interfaces.html#interfaces-tcps"><span class="std std-ref">TCP</span></a>
|
<p>Reticulum currently offers two interfaces suitable for connecting instances over the Internet: <a class="reference internal" href="interfaces.html#interfaces-tcps"><span class="std std-ref">TCP</span></a>
|
||||||
and <a class="reference internal" href="interfaces.html#interfaces-i2p"><span class="std std-ref">I2P</span></a>. Each interface offers a different set of features, and Reticulum
|
and <a class="reference internal" href="interfaces.html#interfaces-i2p"><span class="std std-ref">I2P</span></a>. Each interface offers a different set of features, and Reticulum
|
||||||
users should carefully choose the interface which best suites their needs.</p>
|
users should carefully choose the interface which best suites their needs.</p>
|
||||||
|
@ -164,7 +341,7 @@ instance, while preserving anonymity. If you care more about performance, and a
|
||||||
easier setup, use TCP.</p>
|
easier setup, use TCP.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="connect-to-the-public-testnet">
|
<section id="connect-to-the-public-testnet">
|
||||||
<h2>Connect to the Public Testnet<a class="headerlink" href="#connect-to-the-public-testnet" title="Permalink to this heading">¶</a></h2>
|
<h2>Connect to the Public Testnet<a class="headerlink" href="#connect-to-the-public-testnet" title="Permalink to this heading">#</a></h2>
|
||||||
<p>An experimental public testnet has been made accessible over both I2P and TCP. You can join it
|
<p>An experimental public testnet has been made accessible over both I2P and TCP. You can join it
|
||||||
by adding one of the following interfaces to your <code class="docutils literal notranslate"><span class="pre">.reticulum/config</span></code> file:</p>
|
by adding one of the following interfaces to your <code class="docutils literal notranslate"><span class="pre">.reticulum/config</span></code> file:</p>
|
||||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># TCP/IP interface to the Dublin hub</span>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># TCP/IP interface to the Dublin hub</span>
|
||||||
|
@ -194,7 +371,7 @@ topography, usage or what types of instances connect. It will also occasionally
|
||||||
to test various failure scenarios, and there are no availability or service guarantees.</p>
|
to test various failure scenarios, and there are no availability or service guarantees.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="adding-radio-interfaces">
|
<section id="adding-radio-interfaces">
|
||||||
<h2>Adding Radio Interfaces<a class="headerlink" href="#adding-radio-interfaces" title="Permalink to this heading">¶</a></h2>
|
<h2>Adding Radio Interfaces<a class="headerlink" href="#adding-radio-interfaces" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Once you have Reticulum installed and working, you can add radio interfaces with
|
<p>Once you have Reticulum installed and working, you can add radio interfaces with
|
||||||
any compatible hardware you have available. Reticulum supports a wide range of radio
|
any compatible hardware you have available. Reticulum supports a wide range of radio
|
||||||
hardware, and if you already have any available, it is very likely that it will
|
hardware, and if you already have any available, it is very likely that it will
|
||||||
|
@ -220,7 +397,7 @@ you are welcome to head over to the <a class="reference external" href="https://
|
||||||
and propose adding an interface for the hardware.</p>
|
and propose adding an interface for the hardware.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="develop-a-program-with-reticulum">
|
<section id="develop-a-program-with-reticulum">
|
||||||
<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">pip3</span> <span class="n">install</span> <span class="n">rns</span>
|
||||||
|
@ -236,7 +413,7 @@ likely be to look at some <a class="reference internal" href="examples.html#exam
|
||||||
<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>
|
||||||
</section>
|
</section>
|
||||||
<section id="participate-in-reticulum-development">
|
<section id="participate-in-reticulum-development">
|
||||||
<h2>Participate in Reticulum Development<a class="headerlink" href="#participate-in-reticulum-development" title="Permalink to this heading">¶</a></h2>
|
<h2>Participate in Reticulum Development<a class="headerlink" href="#participate-in-reticulum-development" title="Permalink to this heading">#</a></h2>
|
||||||
<p>If you want to participate in the development of Reticulum and associated
|
<p>If you want to participate in the development of Reticulum and associated
|
||||||
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>
|
||||||
|
@ -276,7 +453,7 @@ don’t use pip, but try this recipe:</p>
|
||||||
<a class="reference internal" href="understanding.html#understanding-main"><span class="std std-ref">Understanding Reticulum</span></a> chapter.</p>
|
<a class="reference internal" href="understanding.html#understanding-main"><span class="std std-ref">Understanding Reticulum</span></a> chapter.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="reticulum-on-arm64">
|
<section id="reticulum-on-arm64">
|
||||||
<h2>Reticulum on ARM64<a class="headerlink" href="#reticulum-on-arm64" title="Permalink to this heading">¶</a></h2>
|
<h2>Reticulum on ARM64<a class="headerlink" href="#reticulum-on-arm64" title="Permalink to this heading">#</a></h2>
|
||||||
<p>On some architectures, including ARM64, not all dependencies have precompiled
|
<p>On some architectures, including ARM64, not all dependencies have precompiled
|
||||||
binaries. On such systems, you will need to install <code class="docutils literal notranslate"><span class="pre">python3-dev</span></code> before
|
binaries. On such systems, you will need to install <code class="docutils literal notranslate"><span class="pre">python3-dev</span></code> before
|
||||||
installing Reticulum or programs that depend on Reticulum.</p>
|
installing Reticulum or programs that depend on Reticulum.</p>
|
||||||
|
@ -290,7 +467,7 @@ installing Reticulum or programs that depend on Reticulum.</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="reticulum-on-android">
|
<section id="reticulum-on-android">
|
||||||
<h2>Reticulum on Android<a class="headerlink" href="#reticulum-on-android" title="Permalink to this heading">¶</a></h2>
|
<h2>Reticulum on Android<a class="headerlink" href="#reticulum-on-android" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Reticulum can be used on Android in different ways. The easiest way to get
|
<p>Reticulum can be used on Android in different ways. The easiest way to get
|
||||||
started is using an app like <a class="reference external" href="https://unsigned.io/sideband">Sideband</a>.</p>
|
started is using an app like <a class="reference external" href="https://unsigned.io/sideband">Sideband</a>.</p>
|
||||||
<p>For more control and features, you can use Reticulum and related programs via
|
<p>For more control and features, you can use Reticulum and related programs via
|
||||||
|
@ -332,7 +509,7 @@ Android APKs. A detailed tutorial and example source code will be included
|
||||||
here at a later point.</p>
|
here at a later point.</p>
|
||||||
</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</p>
|
||||||
<p>On more unusual systems, and in some rare cases, it might not be possible to
|
<p>On more unusual systems, and in some rare cases, it might not be possible to
|
||||||
|
@ -354,16 +531,62 @@ section of this manual.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
</article>
|
||||||
<div class="clearer"></div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div class="related-pages">
|
||||||
|
<a class="next-page" href="using.html">
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Next</span>
|
||||||
|
</div>
|
||||||
|
<div class="title">Using Reticulum on Your System</div>
|
||||||
|
</div>
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
</a>
|
||||||
|
<a class="prev-page" href="whatis.html">
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Previous</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title">What is Reticulum?</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-of-page">
|
||||||
|
<div class="left-details">
|
||||||
|
<div class="copyright">
|
||||||
|
Copyright © 2022, Mark Qvist
|
||||||
|
</div>
|
||||||
|
Generated with <a href="https://www.sphinx-doc.org/">Sphinx</a> and
|
||||||
|
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-details">
|
||||||
|
<div class="icons">
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
</footer>
|
||||||
<div class="sphinxsidebarwrapper">
|
</div>
|
||||||
<div>
|
<aside class="toc-drawer">
|
||||||
<h3><a href="index.html">Table of Contents</a></h3>
|
|
||||||
<ul>
|
|
||||||
|
<div class="toc-sticky toc-scroll">
|
||||||
|
<div class="toc-title-container">
|
||||||
|
<span class="toc-title">
|
||||||
|
On this page
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="toc-tree-container">
|
||||||
|
<div class="toc-tree">
|
||||||
|
<ul>
|
||||||
<li><a class="reference internal" href="#">Getting Started Fast</a><ul>
|
<li><a class="reference internal" href="#">Getting Started Fast</a><ul>
|
||||||
<li><a class="reference internal" href="#try-using-a-reticulum-based-program">Try Using a Reticulum-based Program</a><ul>
|
<li><a class="reference internal" href="#try-using-a-reticulum-based-program">Try Using a Reticulum-based Program</a><ul>
|
||||||
<li><a class="reference internal" href="#nomad-network">Nomad Network</a></li>
|
<li><a class="reference internal" href="#nomad-network">Nomad Network</a></li>
|
||||||
|
@ -384,57 +607,21 @@ section of this manual.</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<h4>Previous topic</h4>
|
|
||||||
<p class="topless"><a href="whatis.html"
|
|
||||||
title="previous chapter">What is Reticulum?</a></p>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h4>Next topic</h4>
|
|
||||||
<p class="topless"><a href="using.html"
|
|
||||||
title="next chapter">Using Reticulum on Your System</a></p>
|
|
||||||
</div>
|
|
||||||
<div role="note" aria-label="source link">
|
|
||||||
<h3>This Page</h3>
|
|
||||||
<ul class="this-page-menu">
|
|
||||||
<li><a href="_sources/gettingstartedfast.rst.txt"
|
|
||||||
rel="nofollow">Show Source</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
</aside>
|
||||||
<h3>Navigation</h3>
|
</div>
|
||||||
<ul>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<li class="right" style="margin-right: 10px">
|
<script src="_static/jquery.js"></script>
|
||||||
<a href="genindex.html" title="General Index"
|
<script src="_static/underscore.js"></script>
|
||||||
>index</a></li>
|
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/doctools.js"></script>
|
||||||
<a href="using.html" title="Using Reticulum on Your System"
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
>next</a> |</li>
|
<script src="_static/scripts/furo.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/clipboard.min.js"></script>
|
||||||
<a href="whatis.html" title="What is Reticulum?"
|
<script src="_static/copybutton.js"></script>
|
||||||
>previous</a> |</li>
|
</body>
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Getting Started Fast</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="footer" role="contentinfo">
|
|
||||||
© Copyright 2022, Mark Qvist.
|
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.2.2.
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
|
@ -1,51 +1,228 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="en">
|
||||||
|
<head><meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
|
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
<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" />
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<meta name="generator" content="sphinx-5.2.2, furo 2022.09.29"/>
|
||||||
|
<title>Communications Hardware - Reticulum Network Stack 0.3.12 beta documentation</title>
|
||||||
<html lang="en">
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<head>
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
|
||||||
<meta charset="utf-8" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
||||||
<title>Communications Hardware — Reticulum Network Stack 0.3.12 beta documentation</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/classic.css" />
|
|
||||||
|
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
|
||||||
|
|
||||||
<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" />
|
|
||||||
</head><body>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
<ul>
|
|
||||||
<li class="right" style="margin-right: 10px">
|
|
||||||
<a href="genindex.html" title="General Index"
|
|
||||||
accesskey="I">index</a></li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="interfaces.html" title="Supported Interfaces"
|
|
||||||
accesskey="N">next</a> |</li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="understanding.html" title="Understanding Reticulum"
|
|
||||||
accesskey="P">previous</a> |</li>
|
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Communications Hardware</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="document">
|
|
||||||
<div class="documentwrapper">
|
<style>
|
||||||
<div class="bodywrapper">
|
body {
|
||||||
<div class="body" role="main">
|
--color-code-background: #f8f8f8;
|
||||||
|
--color-code-foreground: black;
|
||||||
<section id="communications-hardware">
|
|
||||||
<span id="hardware-main"></span><h1>Communications Hardware<a class="headerlink" href="#communications-hardware" title="Permalink to this heading">¶</a></h1>
|
}
|
||||||
|
@media not print {
|
||||||
|
body[data-theme="dark"] {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body:not([data-theme="light"]) {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style></head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||||
|
<symbol id="svg-toc" viewBox="0 0 24 24">
|
||||||
|
<title>Contents</title>
|
||||||
|
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
||||||
|
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-menu" viewBox="0 0 24 24">
|
||||||
|
<title>Menu</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
||||||
|
<line x1="3" y1="12" x2="21" y2="12"></line>
|
||||||
|
<line x1="3" y1="6" x2="21" y2="6"></line>
|
||||||
|
<line x1="3" y1="18" x2="21" y2="18"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
||||||
|
<title>Expand</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
||||||
|
<polyline points="9 18 15 12 9 6"></polyline>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun" viewBox="0 0 24 24">
|
||||||
|
<title>Light mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-moon" viewBox="0 0 24 24">
|
||||||
|
<title>Dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
||||||
|
<title>Auto light/dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<circle cx="12" cy="12" r="9" />
|
||||||
|
<path d="M13 12h5" />
|
||||||
|
<path d="M13 15h4" />
|
||||||
|
<path d="M13 18h1" />
|
||||||
|
<path d="M13 9h4" />
|
||||||
|
<path d="M13 6h1" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
||||||
|
<label class="overlay sidebar-overlay" for="__navigation">
|
||||||
|
<div class="visually-hidden">Hide navigation sidebar</div>
|
||||||
|
</label>
|
||||||
|
<label class="overlay toc-overlay" for="__toc">
|
||||||
|
<div class="visually-hidden">Hide table of contents sidebar</div>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<header class="mobile-header">
|
||||||
|
<div class="header-left">
|
||||||
|
<label class="nav-overlay-icon" for="__navigation">
|
||||||
|
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="header-center">
|
||||||
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.3.12 beta documentation</div></a>
|
||||||
|
</div>
|
||||||
|
<div class="header-right">
|
||||||
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<aside class="sidebar-drawer">
|
||||||
|
<div class="sidebar-container">
|
||||||
|
|
||||||
|
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="index.html">
|
||||||
|
|
||||||
|
<div class="sidebar-logo-container">
|
||||||
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.3.12 beta documentation</span>
|
||||||
|
|
||||||
|
</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 type="hidden" name="check_keywords" value="yes">
|
||||||
|
<input type="hidden" name="area" value="default">
|
||||||
|
</form>
|
||||||
|
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
||||||
|
<ul class="current">
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="gettingstartedfast.html">Getting Started Fast</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
|
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Communications Hardware</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<div class="article-container">
|
||||||
|
<a href="#" class="back-to-top muted-link">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
||||||
|
</svg>
|
||||||
|
<span>Back to top</span>
|
||||||
|
</a>
|
||||||
|
<div class="content-icon-container">
|
||||||
|
<div class="theme-toggle-container theme-toggle-content">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<article role="main">
|
||||||
|
<section id="communications-hardware">
|
||||||
|
<span id="hardware-main"></span><h1>Communications Hardware<a class="headerlink" href="#communications-hardware" title="Permalink to this heading">#</a></h1>
|
||||||
<p>One of the truly valuable aspects of Reticulum is the ability to use it over
|
<p>One of the truly valuable aspects of Reticulum is the ability to use it over
|
||||||
almost any conceivable kind of communications medium. The <a class="reference internal" href="interfaces.html#interfaces-main"><span class="std std-ref">interface types</span></a>
|
almost any conceivable kind of communications medium. The <a class="reference internal" href="interfaces.html#interfaces-main"><span class="std std-ref">interface types</span></a>
|
||||||
available for configuration in Reticulum are flexible enough to cover the use
|
available for configuration in Reticulum are flexible enough to cover the use
|
||||||
|
@ -68,7 +245,7 @@ and effort. Two fundamental devices categories will be covered, <em>RNodes</em>
|
||||||
networks, knowing how to employ just these two will make it possible to build
|
networks, knowing how to employ just these two will make it possible to build
|
||||||
a wide range of useful networks with little effort.</p>
|
a wide range of useful networks with little effort.</p>
|
||||||
<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
|
||||||
commonly either very expensive, difficult to set up and operate, hard to source,
|
commonly either very expensive, difficult to set up and operate, hard to source,
|
||||||
power-hungry, or all of the above at the same time. In an attempt to alleviate
|
power-hungry, or all of the above at the same time. In an attempt to alleviate
|
||||||
|
@ -87,7 +264,7 @@ used for centrally controlled IoT devices. RNodes use <em>raw LoRa modulation</e
|
||||||
any additional protocol overhead. All high-level protocol functionality is handled
|
any additional protocol overhead. All high-level protocol functionality is handled
|
||||||
directly by Reticulum.</p>
|
directly by Reticulum.</p>
|
||||||
<section id="creating-rnodes">
|
<section id="creating-rnodes">
|
||||||
<span id="rnode-creating"></span><h3>Creating RNodes<a class="headerlink" href="#creating-rnodes" title="Permalink to this heading">¶</a></h3>
|
<span id="rnode-creating"></span><h3>Creating RNodes<a class="headerlink" href="#creating-rnodes" title="Permalink to this heading">#</a></h3>
|
||||||
<p>RNode has been designed as a system that is easy to replicate across time and
|
<p>RNode has been designed as a system that is easy to replicate across time and
|
||||||
space. You can put together a functioning transceiver using commonly available
|
space. You can put together a functioning transceiver using commonly available
|
||||||
components, and a few open source software tools. While you can design and build RNodes
|
components, and a few open source software tools. While you can design and build RNodes
|
||||||
|
@ -104,11 +281,11 @@ The device can be used with Reticulum by adding an <a class="reference internal"
|
||||||
to the configuration.</p>
|
to the configuration.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="supported-boards">
|
<section id="supported-boards">
|
||||||
<span id="rnode-supported"></span><h3>Supported Boards<a class="headerlink" href="#supported-boards" title="Permalink to this heading">¶</a></h3>
|
<span id="rnode-supported"></span><h3>Supported Boards<a class="headerlink" href="#supported-boards" title="Permalink to this heading">#</a></h3>
|
||||||
<p>To create one or more RNodes, you will need to obtain supported development
|
<p>To create one or more RNodes, you will need to obtain supported development
|
||||||
boards. The following boards are supported by the auto-installer.</p>
|
boards. The following boards are supported by the auto-installer.</p>
|
||||||
<section id="lilygo-lora32-v2-1">
|
<section id="lilygo-lora32-v2-1">
|
||||||
<h4>LilyGO LoRa32 v2.1<a class="headerlink" href="#lilygo-lora32-v2-1" title="Permalink to this heading">¶</a></h4>
|
<h4>LilyGO LoRa32 v2.1<a class="headerlink" href="#lilygo-lora32-v2-1" title="Permalink to this heading">#</a></h4>
|
||||||
<a class="reference internal image-reference" href="_images/board_t3v21.png"><img alt="_images/board_t3v21.png" class="align-center" src="_images/board_t3v21.png" style="width: 46%;" /></a>
|
<a class="reference internal image-reference" href="_images/board_t3v21.png"><img alt="_images/board_t3v21.png" class="align-center" src="_images/board_t3v21.png" style="width: 46%;" /></a>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
||||||
|
@ -118,7 +295,7 @@ boards. The following boards are supported by the auto-installer.</p>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section id="lilygo-lora32-v2-0">
|
<section id="lilygo-lora32-v2-0">
|
||||||
<h4>LilyGO LoRa32 v2.0<a class="headerlink" href="#lilygo-lora32-v2-0" title="Permalink to this heading">¶</a></h4>
|
<h4>LilyGO LoRa32 v2.0<a class="headerlink" href="#lilygo-lora32-v2-0" title="Permalink to this heading">#</a></h4>
|
||||||
<a class="reference internal image-reference" href="_images/board_t3v20.png"><img alt="_images/board_t3v20.png" class="align-center" src="_images/board_t3v20.png" style="width: 46%;" /></a>
|
<a class="reference internal image-reference" href="_images/board_t3v20.png"><img alt="_images/board_t3v20.png" class="align-center" src="_images/board_t3v20.png" style="width: 46%;" /></a>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
||||||
|
@ -128,7 +305,7 @@ boards. The following boards are supported by the auto-installer.</p>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section id="lilygo-t-beam">
|
<section id="lilygo-t-beam">
|
||||||
<h4>LilyGO T-Beam<a class="headerlink" href="#lilygo-t-beam" title="Permalink to this heading">¶</a></h4>
|
<h4>LilyGO T-Beam<a class="headerlink" href="#lilygo-t-beam" title="Permalink to this heading">#</a></h4>
|
||||||
<a class="reference internal image-reference" href="_images/board_tbeam.png"><img alt="_images/board_tbeam.png" class="align-center" src="_images/board_tbeam.png" style="width: 75%;" /></a>
|
<a class="reference internal image-reference" href="_images/board_tbeam.png"><img alt="_images/board_tbeam.png" class="align-center" src="_images/board_tbeam.png" style="width: 75%;" /></a>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
||||||
|
@ -138,7 +315,7 @@ boards. The following boards are supported by the auto-installer.</p>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section id="heltec-lora32-v2-0">
|
<section id="heltec-lora32-v2-0">
|
||||||
<h4>Heltec LoRa32 v2.0<a class="headerlink" href="#heltec-lora32-v2-0" title="Permalink to this heading">¶</a></h4>
|
<h4>Heltec LoRa32 v2.0<a class="headerlink" href="#heltec-lora32-v2-0" title="Permalink to this heading">#</a></h4>
|
||||||
<a class="reference internal image-reference" href="_images/board_heltec32.png"><img alt="_images/board_heltec32.png" class="align-center" src="_images/board_heltec32.png" style="width: 58%;" /></a>
|
<a class="reference internal image-reference" href="_images/board_heltec32.png"><img alt="_images/board_heltec32.png" class="align-center" src="_images/board_heltec32.png" style="width: 58%;" /></a>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
||||||
|
@ -148,7 +325,7 @@ boards. The following boards are supported by the auto-installer.</p>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section id="unsigned-rnode-v2-x">
|
<section id="unsigned-rnode-v2-x">
|
||||||
<h4>Unsigned RNode v2.x<a class="headerlink" href="#unsigned-rnode-v2-x" title="Permalink to this heading">¶</a></h4>
|
<h4>Unsigned RNode v2.x<a class="headerlink" href="#unsigned-rnode-v2-x" title="Permalink to this heading">#</a></h4>
|
||||||
<a class="reference internal image-reference" href="_images/board_rnodev2.png"><img alt="_images/board_rnodev2.png" class="align-center" src="_images/board_rnodev2.png" style="width: 58%;" /></a>
|
<a class="reference internal image-reference" href="_images/board_rnodev2.png"><img alt="_images/board_rnodev2.png" class="align-center" src="_images/board_rnodev2.png" style="width: 58%;" /></a>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
<li><p><strong>Supported Firmware Lines</strong> v1.x & v2.x</p></li>
|
||||||
|
@ -158,7 +335,7 @@ boards. The following boards are supported by the auto-installer.</p>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section id="unsigned-rnode-v1-x">
|
<section id="unsigned-rnode-v1-x">
|
||||||
<h4>Unsigned RNode v1.x<a class="headerlink" href="#unsigned-rnode-v1-x" title="Permalink to this heading">¶</a></h4>
|
<h4>Unsigned RNode v1.x<a class="headerlink" href="#unsigned-rnode-v1-x" title="Permalink to this heading">#</a></h4>
|
||||||
<a class="reference internal image-reference" href="_images/board_rnode.png"><img alt="_images/board_rnode.png" class="align-center" src="_images/board_rnode.png" style="width: 50%;" /></a>
|
<a class="reference internal image-reference" href="_images/board_rnode.png"><img alt="_images/board_rnode.png" class="align-center" src="_images/board_rnode.png" style="width: 50%;" /></a>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><strong>Supported Firmware Lines</strong> v1.x</p></li>
|
<li><p><strong>Supported Firmware Lines</strong> v1.x</p></li>
|
||||||
|
@ -169,7 +346,7 @@ boards. The following boards are supported by the auto-installer.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="installation">
|
<section id="installation">
|
||||||
<span id="rnode-installation"></span><h3>Installation<a class="headerlink" href="#installation" title="Permalink to this heading">¶</a></h3>
|
<span id="rnode-installation"></span><h3>Installation<a class="headerlink" href="#installation" title="Permalink to this heading">#</a></h3>
|
||||||
<p>Once you have obtained compatible boards, you can install the <a class="reference external" href="https://github.com/markqvist/RNode_Firmware">RNode Firmware</a>
|
<p>Once you have obtained compatible boards, you can install the <a class="reference external" href="https://github.com/markqvist/RNode_Firmware">RNode Firmware</a>
|
||||||
using the <a class="reference external" href="https://github.com/markqvist/rnodeconfigutil">RNode Configuration Utility</a>.
|
using the <a class="reference external" href="https://github.com/markqvist/rnodeconfigutil">RNode Configuration Utility</a>.
|
||||||
Make sure that <code class="docutils literal notranslate"><span class="pre">Python3</span></code> and <code class="docutils literal notranslate"><span class="pre">pip</span></code> is installed on your system, and then install
|
Make sure that <code class="docutils literal notranslate"><span class="pre">Python3</span></code> and <code class="docutils literal notranslate"><span class="pre">pip</span></code> is installed on your system, and then install
|
||||||
|
@ -191,7 +368,7 @@ considered an experimental pre-release. Only use the v2.x firmware line if you w
|
||||||
out the absolutely newest version, and don’t care about stability.</p>
|
out the absolutely newest version, and don’t care about stability.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="usage-with-reticulum">
|
<section id="usage-with-reticulum">
|
||||||
<span id="rnode-usage"></span><h3>Usage with Reticulum<a class="headerlink" href="#usage-with-reticulum" title="Permalink to this heading">¶</a></h3>
|
<span id="rnode-usage"></span><h3>Usage with Reticulum<a class="headerlink" href="#usage-with-reticulum" title="Permalink to this heading">#</a></h3>
|
||||||
<p>When the devices have been installed and provisioned, you can use them with Reticulum
|
<p>When the devices have been installed and provisioned, you can use them with Reticulum
|
||||||
by adding the <a class="reference internal" href="interfaces.html#interfaces-rnode"><span class="std std-ref">relevant interface section</span></a> to the configuration
|
by adding the <a class="reference internal" href="interfaces.html#interfaces-rnode"><span class="std std-ref">relevant interface section</span></a> to the configuration
|
||||||
file of Reticulum. For v1.x firmwares, you will have to specify all interface parameters,
|
file of Reticulum. For v1.x firmwares, you will have to specify all interface parameters,
|
||||||
|
@ -200,13 +377,13 @@ the Connection ID of the RNode, and Reticulum will automatically locate and conn
|
||||||
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">
|
<section id="suppliers">
|
||||||
<span id="rnode-suppliers"></span><h3>Suppliers<a class="headerlink" href="#suppliers" title="Permalink to this heading">¶</a></h3>
|
<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
|
<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>
|
get started with producing RNodes.</p>
|
||||||
</section>
|
</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>
|
||||||
<p>It is possible to use all kinds of both short- and long-range WiFi-based hardware
|
<p>It is possible to use all kinds of both short- and long-range WiFi-based hardware
|
||||||
with Reticulum. Any kind of hardware that fully supports bridged Ethernet over the
|
with Reticulum. Any kind of hardware that fully supports bridged Ethernet over the
|
||||||
WiFi interface will work with the <a class="reference internal" href="interfaces.html#interfaces-auto"><span class="std std-ref">AutoInterface</span></a> in Reticulum.
|
WiFi interface will work with the <a class="reference internal" href="interfaces.html#interfaces-auto"><span class="std std-ref">AutoInterface</span></a> in Reticulum.
|
||||||
|
@ -230,7 +407,7 @@ networks. As in all other cases, it is also possible for Reticulum to co-exist w
|
||||||
networks running concurrently on such devices.</p>
|
networks running concurrently on such devices.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="combining-hardware-types">
|
<section id="combining-hardware-types">
|
||||||
<h2>Combining Hardware Types<a class="headerlink" href="#combining-hardware-types" title="Permalink to this heading">¶</a></h2>
|
<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
|
<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
|
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)
|
links based on WiFi or millimeter-wave radios (with high-gain directional antennas)
|
||||||
|
@ -239,16 +416,62 @@ connectivity for client devices.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
</article>
|
||||||
<div class="clearer"></div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div class="related-pages">
|
||||||
|
<a class="next-page" href="interfaces.html">
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Next</span>
|
||||||
|
</div>
|
||||||
|
<div class="title">Supported Interfaces</div>
|
||||||
|
</div>
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
</a>
|
||||||
|
<a class="prev-page" href="understanding.html">
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Previous</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title">Understanding Reticulum</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-of-page">
|
||||||
|
<div class="left-details">
|
||||||
|
<div class="copyright">
|
||||||
|
Copyright © 2022, Mark Qvist
|
||||||
|
</div>
|
||||||
|
Generated with <a href="https://www.sphinx-doc.org/">Sphinx</a> and
|
||||||
|
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-details">
|
||||||
|
<div class="icons">
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
</footer>
|
||||||
<div class="sphinxsidebarwrapper">
|
</div>
|
||||||
<div>
|
<aside class="toc-drawer">
|
||||||
<h3><a href="index.html">Table of Contents</a></h3>
|
|
||||||
<ul>
|
|
||||||
|
<div class="toc-sticky toc-scroll">
|
||||||
|
<div class="toc-title-container">
|
||||||
|
<span class="toc-title">
|
||||||
|
On this page
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="toc-tree-container">
|
||||||
|
<div class="toc-tree">
|
||||||
|
<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="#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>
|
||||||
|
@ -272,57 +495,21 @@ connectivity for client devices.</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<h4>Previous topic</h4>
|
|
||||||
<p class="topless"><a href="understanding.html"
|
|
||||||
title="previous chapter">Understanding Reticulum</a></p>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h4>Next topic</h4>
|
|
||||||
<p class="topless"><a href="interfaces.html"
|
|
||||||
title="next chapter">Supported Interfaces</a></p>
|
|
||||||
</div>
|
|
||||||
<div role="note" aria-label="source link">
|
|
||||||
<h3>This Page</h3>
|
|
||||||
<ul class="this-page-menu">
|
|
||||||
<li><a href="_sources/hardware.rst.txt"
|
|
||||||
rel="nofollow">Show Source</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
</aside>
|
||||||
<h3>Navigation</h3>
|
</div>
|
||||||
<ul>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<li class="right" style="margin-right: 10px">
|
<script src="_static/jquery.js"></script>
|
||||||
<a href="genindex.html" title="General Index"
|
<script src="_static/underscore.js"></script>
|
||||||
>index</a></li>
|
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/doctools.js"></script>
|
||||||
<a href="interfaces.html" title="Supported Interfaces"
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
>next</a> |</li>
|
<script src="_static/scripts/furo.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/clipboard.min.js"></script>
|
||||||
<a href="understanding.html" title="Understanding Reticulum"
|
<script src="_static/copybutton.js"></script>
|
||||||
>previous</a> |</li>
|
</body>
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Communications Hardware</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="footer" role="contentinfo">
|
|
||||||
© Copyright 2022, Mark Qvist.
|
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.2.2.
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
|
@ -1,50 +1,234 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="en">
|
||||||
|
<head><meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
|
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
<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" />
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<meta name="generator" content="sphinx-5.2.2, furo 2022.09.29"/>
|
||||||
|
<title>Reticulum Network Stack 0.3.12 beta documentation</title>
|
||||||
<html lang="en">
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<head>
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
|
||||||
<meta charset="utf-8" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
||||||
<title>Reticulum Network Stack Manual — Reticulum Network Stack 0.3.12 beta documentation</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/classic.css" />
|
|
||||||
|
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
|
||||||
|
|
||||||
<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" />
|
|
||||||
</head><body>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
<ul>
|
|
||||||
<li class="right" style="margin-right: 10px">
|
|
||||||
<a href="genindex.html" title="General Index"
|
|
||||||
accesskey="I">index</a></li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="whatis.html" title="What is Reticulum?"
|
|
||||||
accesskey="N">next</a> |</li>
|
|
||||||
<li class="nav-item nav-item-0"><a href="#">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Reticulum Network Stack Manual</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="document">
|
|
||||||
<div class="documentwrapper">
|
<style>
|
||||||
<div class="bodywrapper">
|
body {
|
||||||
<div class="body" role="main">
|
--color-code-background: #f8f8f8;
|
||||||
|
--color-code-foreground: black;
|
||||||
<section id="reticulum-network-stack-manual">
|
|
||||||
<h1>Reticulum Network Stack Manual<a class="headerlink" href="#reticulum-network-stack-manual" title="Permalink to this heading">¶</a></h1>
|
}
|
||||||
|
@media not print {
|
||||||
|
body[data-theme="dark"] {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body:not([data-theme="light"]) {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style></head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||||
|
<symbol id="svg-toc" viewBox="0 0 24 24">
|
||||||
|
<title>Contents</title>
|
||||||
|
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
||||||
|
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-menu" viewBox="0 0 24 24">
|
||||||
|
<title>Menu</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
||||||
|
<line x1="3" y1="12" x2="21" y2="12"></line>
|
||||||
|
<line x1="3" y1="6" x2="21" y2="6"></line>
|
||||||
|
<line x1="3" y1="18" x2="21" y2="18"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
||||||
|
<title>Expand</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
||||||
|
<polyline points="9 18 15 12 9 6"></polyline>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun" viewBox="0 0 24 24">
|
||||||
|
<title>Light mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-moon" viewBox="0 0 24 24">
|
||||||
|
<title>Dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
||||||
|
<title>Auto light/dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<circle cx="12" cy="12" r="9" />
|
||||||
|
<path d="M13 12h5" />
|
||||||
|
<path d="M13 15h4" />
|
||||||
|
<path d="M13 18h1" />
|
||||||
|
<path d="M13 9h4" />
|
||||||
|
<path d="M13 6h1" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
||||||
|
<label class="overlay sidebar-overlay" for="__navigation">
|
||||||
|
<div class="visually-hidden">Hide navigation sidebar</div>
|
||||||
|
</label>
|
||||||
|
<label class="overlay toc-overlay" for="__toc">
|
||||||
|
<div class="visually-hidden">Hide table of contents sidebar</div>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<header class="mobile-header">
|
||||||
|
<div class="header-left">
|
||||||
|
<label class="nav-overlay-icon" for="__navigation">
|
||||||
|
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="header-center">
|
||||||
|
<a href="#"><div class="brand">Reticulum Network Stack 0.3.12 beta documentation</div></a>
|
||||||
|
</div>
|
||||||
|
<div class="header-right">
|
||||||
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<aside class="sidebar-drawer">
|
||||||
|
<div class="sidebar-container">
|
||||||
|
|
||||||
|
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="#">
|
||||||
|
|
||||||
|
<div class="sidebar-logo-container">
|
||||||
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.3.12 beta documentation</span>
|
||||||
|
|
||||||
|
</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 type="hidden" name="check_keywords" value="yes">
|
||||||
|
<input type="hidden" name="area" value="default">
|
||||||
|
</form>
|
||||||
|
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="gettingstartedfast.html">Getting Started Fast</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<div class="article-container">
|
||||||
|
<a href="#" class="back-to-top muted-link">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
||||||
|
</svg>
|
||||||
|
<span>Back to top</span>
|
||||||
|
</a>
|
||||||
|
<div class="content-icon-container">
|
||||||
|
<div class="theme-toggle-container theme-toggle-content">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<article role="main">
|
||||||
|
<section id="reticulum-network-stack-manual">
|
||||||
|
<h1>Reticulum Network Stack Manual<a class="headerlink" href="#reticulum-network-stack-manual" title="Permalink to this heading">#</a></h1>
|
||||||
<p>This manual aims to provide you with all the information you need to
|
<p>This manual aims to provide you with all the information you need to
|
||||||
understand Reticulum, build networks or develop programs using it, or
|
understand Reticulum, build networks or develop programs using it, or
|
||||||
to participate in the development of Reticulum itself.</p>
|
to participate in the development of Reticulum itself.</p>
|
||||||
|
<section id="table-of-contents">
|
||||||
|
<h2>Table Of Contents<a class="headerlink" href="#table-of-contents" title="Permalink to this heading">#</a></h2>
|
||||||
|
</section>
|
||||||
<div class="toctree-wrapper compound">
|
<div class="toctree-wrapper compound">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a><ul>
|
<li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a><ul>
|
||||||
|
@ -169,21 +353,6 @@ to participate in the development of Reticulum itself.</p>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="examples.html#filetransfer">Filetransfer</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="examples.html#filetransfer">Filetransfer</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a><ul>
|
|
||||||
<li class="toctree-l2"><a class="reference internal" href="reference.html#classes">Classes</a><ul>
|
|
||||||
<li class="toctree-l3"><a class="reference internal" href="reference.html#RNS.Reticulum"><code class="docutils literal notranslate"><span class="pre">Reticulum</span></code></a></li>
|
|
||||||
<li class="toctree-l3"><a class="reference internal" href="reference.html#RNS.Identity"><code class="docutils literal notranslate"><span class="pre">Identity</span></code></a></li>
|
|
||||||
<li class="toctree-l3"><a class="reference internal" href="reference.html#RNS.Destination"><code class="docutils literal notranslate"><span class="pre">Destination</span></code></a></li>
|
|
||||||
<li class="toctree-l3"><a class="reference internal" href="reference.html#RNS.Packet"><code class="docutils literal notranslate"><span class="pre">Packet</span></code></a></li>
|
|
||||||
<li class="toctree-l3"><a class="reference internal" href="reference.html#RNS.PacketReceipt"><code class="docutils literal notranslate"><span class="pre">PacketReceipt</span></code></a></li>
|
|
||||||
<li class="toctree-l3"><a class="reference internal" href="reference.html#RNS.Link"><code class="docutils literal notranslate"><span class="pre">Link</span></code></a></li>
|
|
||||||
<li class="toctree-l3"><a class="reference internal" href="reference.html#RNS.RequestReceipt"><code class="docutils literal notranslate"><span class="pre">RequestReceipt</span></code></a></li>
|
|
||||||
<li class="toctree-l3"><a class="reference internal" href="reference.html#RNS.Resource"><code class="docutils literal notranslate"><span class="pre">Resource</span></code></a></li>
|
|
||||||
<li class="toctree-l3"><a class="reference internal" href="reference.html#RNS.Transport"><code class="docutils literal notranslate"><span class="pre">Transport</span></code></a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a><ul>
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a><ul>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="support.html#donations">Donations</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="support.html#donations">Donations</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="support.html#provide-feedback">Provide Feedback</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="support.html#provide-feedback">Provide Feedback</a></li>
|
||||||
|
@ -192,8 +361,24 @@ to participate in the development of Reticulum itself.</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="toctree-wrapper compound">
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a><ul>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="reference.html#RNS.Reticulum"><code class="docutils literal notranslate"><span class="pre">Reticulum</span></code></a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="reference.html#RNS.Identity"><code class="docutils literal notranslate"><span class="pre">Identity</span></code></a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="reference.html#RNS.Destination"><code class="docutils literal notranslate"><span class="pre">Destination</span></code></a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="reference.html#RNS.Packet"><code class="docutils literal notranslate"><span class="pre">Packet</span></code></a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="reference.html#RNS.PacketReceipt"><code class="docutils literal notranslate"><span class="pre">PacketReceipt</span></code></a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="reference.html#RNS.Link"><code class="docutils literal notranslate"><span class="pre">Link</span></code></a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="reference.html#RNS.RequestReceipt"><code class="docutils literal notranslate"><span class="pre">RequestReceipt</span></code></a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="reference.html#RNS.Resource"><code class="docutils literal notranslate"><span class="pre">Resource</span></code></a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="reference.html#RNS.Transport"><code class="docutils literal notranslate"><span class="pre">Transport</span></code></a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
<section id="indices-and-tables">
|
<section id="indices-and-tables">
|
||||||
<h2>Indices and Tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this heading">¶</a></h2>
|
<h2>Indices and Tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this heading">#</a></h2>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
|
<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
|
||||||
<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
|
<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
|
||||||
|
@ -201,65 +386,74 @@ to participate in the development of Reticulum itself.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
</article>
|
||||||
<div class="clearer"></div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div class="related-pages">
|
||||||
|
<a class="next-page" href="whatis.html">
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Next</span>
|
||||||
|
</div>
|
||||||
|
<div class="title">What is Reticulum?</div>
|
||||||
|
</div>
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="bottom-of-page">
|
||||||
|
<div class="left-details">
|
||||||
|
<div class="copyright">
|
||||||
|
Copyright © 2022, Mark Qvist
|
||||||
|
</div>
|
||||||
|
Generated with <a href="https://www.sphinx-doc.org/">Sphinx</a> and
|
||||||
|
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-details">
|
||||||
|
<div class="icons">
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
</footer>
|
||||||
<div class="sphinxsidebarwrapper">
|
</div>
|
||||||
<div>
|
<aside class="toc-drawer">
|
||||||
<h3><a href="#">Table of Contents</a></h3>
|
|
||||||
<ul>
|
|
||||||
|
<div class="toc-sticky toc-scroll">
|
||||||
|
<div class="toc-title-container">
|
||||||
|
<span class="toc-title">
|
||||||
|
On this page
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="toc-tree-container">
|
||||||
|
<div class="toc-tree">
|
||||||
|
<ul>
|
||||||
<li><a class="reference internal" href="#">Reticulum Network Stack Manual</a><ul>
|
<li><a class="reference internal" href="#">Reticulum Network Stack Manual</a><ul>
|
||||||
|
<li><a class="reference internal" href="#table-of-contents">Table Of Contents</a></li>
|
||||||
<li><a class="reference internal" href="#indices-and-tables">Indices and Tables</a></li>
|
<li><a class="reference internal" href="#indices-and-tables">Indices and Tables</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<h4>Next topic</h4>
|
|
||||||
<p class="topless"><a href="whatis.html"
|
|
||||||
title="next chapter">What is Reticulum?</a></p>
|
|
||||||
</div>
|
|
||||||
<div role="note" aria-label="source link">
|
|
||||||
<h3>This Page</h3>
|
|
||||||
<ul class="this-page-menu">
|
|
||||||
<li><a href="_sources/index.rst.txt"
|
|
||||||
rel="nofollow">Show Source</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
</aside>
|
||||||
<h3>Navigation</h3>
|
</div>
|
||||||
<ul>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<li class="right" style="margin-right: 10px">
|
<script src="_static/jquery.js"></script>
|
||||||
<a href="genindex.html" title="General Index"
|
<script src="_static/underscore.js"></script>
|
||||||
>index</a></li>
|
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/doctools.js"></script>
|
||||||
<a href="whatis.html" title="What is Reticulum?"
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
>next</a> |</li>
|
<script src="_static/scripts/furo.js"></script>
|
||||||
<li class="nav-item nav-item-0"><a href="#">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
<script src="_static/clipboard.min.js"></script>
|
||||||
<li class="nav-item nav-item-this"><a href="">Reticulum Network Stack Manual</a></li>
|
<script src="_static/copybutton.js"></script>
|
||||||
</ul>
|
</body>
|
||||||
</div>
|
|
||||||
<div class="footer" role="contentinfo">
|
|
||||||
© Copyright 2022, Mark Qvist.
|
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.2.2.
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
|
@ -1,51 +1,228 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="en">
|
||||||
|
<head><meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
|
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
<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" />
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<meta name="generator" content="sphinx-5.2.2, furo 2022.09.29"/>
|
||||||
|
<title>Supported Interfaces - Reticulum Network Stack 0.3.12 beta documentation</title>
|
||||||
<html lang="en">
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<head>
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
|
||||||
<meta charset="utf-8" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
||||||
<title>Supported Interfaces — Reticulum Network Stack 0.3.12 beta documentation</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/classic.css" />
|
|
||||||
|
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
|
||||||
|
|
||||||
<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" />
|
|
||||||
</head><body>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
<ul>
|
|
||||||
<li class="right" style="margin-right: 10px">
|
|
||||||
<a href="genindex.html" title="General Index"
|
|
||||||
accesskey="I">index</a></li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="networks.html" title="Building Networks"
|
|
||||||
accesskey="N">next</a> |</li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="hardware.html" title="Communications Hardware"
|
|
||||||
accesskey="P">previous</a> |</li>
|
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Supported Interfaces</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="document">
|
|
||||||
<div class="documentwrapper">
|
<style>
|
||||||
<div class="bodywrapper">
|
body {
|
||||||
<div class="body" role="main">
|
--color-code-background: #f8f8f8;
|
||||||
|
--color-code-foreground: black;
|
||||||
<section id="supported-interfaces">
|
|
||||||
<span id="interfaces-main"></span><h1>Supported Interfaces<a class="headerlink" href="#supported-interfaces" title="Permalink to this heading">¶</a></h1>
|
}
|
||||||
|
@media not print {
|
||||||
|
body[data-theme="dark"] {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body:not([data-theme="light"]) {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style></head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||||
|
<symbol id="svg-toc" viewBox="0 0 24 24">
|
||||||
|
<title>Contents</title>
|
||||||
|
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
||||||
|
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-menu" viewBox="0 0 24 24">
|
||||||
|
<title>Menu</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
||||||
|
<line x1="3" y1="12" x2="21" y2="12"></line>
|
||||||
|
<line x1="3" y1="6" x2="21" y2="6"></line>
|
||||||
|
<line x1="3" y1="18" x2="21" y2="18"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
||||||
|
<title>Expand</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
||||||
|
<polyline points="9 18 15 12 9 6"></polyline>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun" viewBox="0 0 24 24">
|
||||||
|
<title>Light mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-moon" viewBox="0 0 24 24">
|
||||||
|
<title>Dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
||||||
|
<title>Auto light/dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<circle cx="12" cy="12" r="9" />
|
||||||
|
<path d="M13 12h5" />
|
||||||
|
<path d="M13 15h4" />
|
||||||
|
<path d="M13 18h1" />
|
||||||
|
<path d="M13 9h4" />
|
||||||
|
<path d="M13 6h1" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
||||||
|
<label class="overlay sidebar-overlay" for="__navigation">
|
||||||
|
<div class="visually-hidden">Hide navigation sidebar</div>
|
||||||
|
</label>
|
||||||
|
<label class="overlay toc-overlay" for="__toc">
|
||||||
|
<div class="visually-hidden">Hide table of contents sidebar</div>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<header class="mobile-header">
|
||||||
|
<div class="header-left">
|
||||||
|
<label class="nav-overlay-icon" for="__navigation">
|
||||||
|
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="header-center">
|
||||||
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.3.12 beta documentation</div></a>
|
||||||
|
</div>
|
||||||
|
<div class="header-right">
|
||||||
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<aside class="sidebar-drawer">
|
||||||
|
<div class="sidebar-container">
|
||||||
|
|
||||||
|
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="index.html">
|
||||||
|
|
||||||
|
<div class="sidebar-logo-container">
|
||||||
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.3.12 beta documentation</span>
|
||||||
|
|
||||||
|
</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 type="hidden" name="check_keywords" value="yes">
|
||||||
|
<input type="hidden" name="area" value="default">
|
||||||
|
</form>
|
||||||
|
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
||||||
|
<ul class="current">
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="gettingstartedfast.html">Getting Started Fast</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
|
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Supported Interfaces</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<div class="article-container">
|
||||||
|
<a href="#" class="back-to-top muted-link">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
||||||
|
</svg>
|
||||||
|
<span>Back to top</span>
|
||||||
|
</a>
|
||||||
|
<div class="content-icon-container">
|
||||||
|
<div class="theme-toggle-container theme-toggle-content">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<article role="main">
|
||||||
|
<section id="supported-interfaces">
|
||||||
|
<span id="interfaces-main"></span><h1>Supported Interfaces<a class="headerlink" href="#supported-interfaces" title="Permalink to this heading">#</a></h1>
|
||||||
<p>Reticulum supports using many kinds of devices as networking interfaces, and
|
<p>Reticulum supports using many kinds of devices as networking interfaces, and
|
||||||
allows you to mix and match them in any way you choose. The number of distinct
|
allows you to mix and match them in any way you choose. The number of distinct
|
||||||
network topologies you can create with Reticulum is more or less endless, but
|
network topologies you can create with Reticulum is more or less endless, but
|
||||||
|
@ -57,7 +234,7 @@ and gives example configurations for the respective interface types.</p>
|
||||||
types, have a look at the <a class="reference internal" href="networks.html#networks-main"><span class="std std-ref">Building Networks</span></a> chapter of this
|
types, have a look at the <a class="reference internal" href="networks.html#networks-main"><span class="std std-ref">Building Networks</span></a> chapter of this
|
||||||
manual.</p>
|
manual.</p>
|
||||||
<section id="auto-interface">
|
<section id="auto-interface">
|
||||||
<span id="interfaces-auto"></span><h2>Auto Interface<a class="headerlink" href="#auto-interface" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-auto"></span><h2>Auto Interface<a class="headerlink" href="#auto-interface" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The Auto Interface enables communication with other discoverable Reticulum
|
<p>The Auto Interface enables communication with other discoverable Reticulum
|
||||||
nodes over autoconfigured IPv6 and UDP. It does not need any functional IP
|
nodes over autoconfigured IPv6 and UDP. It does not need any functional IP
|
||||||
infrastructure like routers or DHCP servers, but will require at least some
|
infrastructure like routers or DHCP servers, but will require at least some
|
||||||
|
@ -111,7 +288,7 @@ the discovery scope by setting it to one of <code class="docutils literal notran
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="i2p-interface">
|
<section id="i2p-interface">
|
||||||
<span id="interfaces-i2p"></span><h2>I2P Interface<a class="headerlink" href="#i2p-interface" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-i2p"></span><h2>I2P Interface<a class="headerlink" href="#i2p-interface" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The I2P interface lets you connect Reticulum instances over the
|
<p>The I2P interface lets you connect Reticulum instances over the
|
||||||
<a class="reference external" href="https://i2pd.website">Invisible Internet Protocol</a>. This can be
|
<a class="reference external" href="https://i2pd.website">Invisible Internet Protocol</a>. This can be
|
||||||
especially useful in cases where you want to host a globally reachable
|
especially useful in cases where you want to host a globally reachable
|
||||||
|
@ -164,7 +341,7 @@ of flexibility in network setup, while retaining ease of use in simpler
|
||||||
use-cases.</p>
|
use-cases.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="tcp-server-interface">
|
<section id="tcp-server-interface">
|
||||||
<span id="interfaces-tcps"></span><h2>TCP Server Interface<a class="headerlink" href="#tcp-server-interface" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-tcps"></span><h2>TCP Server Interface<a class="headerlink" href="#tcp-server-interface" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The TCP Server interface is suitable for allowing other peers to connect over
|
<p>The TCP Server interface is suitable for allowing other peers to connect over
|
||||||
the Internet or private IP networks. When a TCP server interface has been
|
the Internet or private IP networks. When a TCP server interface has been
|
||||||
configured, other Reticulum peers can connect to it with a TCP Client interface.</p>
|
configured, other Reticulum peers can connect to it with a TCP Client interface.</p>
|
||||||
|
@ -207,7 +384,7 @@ you must use the i2p_tunneled option:</p>
|
||||||
control, and using I2P routers running on external systems, this option also exists.</p>
|
control, and using I2P routers running on external systems, this option also exists.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="tcp-client-interface">
|
<section id="tcp-client-interface">
|
||||||
<span id="interfaces-tcpc"></span><h2>TCP Client Interface<a class="headerlink" href="#tcp-client-interface" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-tcpc"></span><h2>TCP Client Interface<a class="headerlink" href="#tcp-client-interface" title="Permalink to this heading">#</a></h2>
|
||||||
<p>To connect to a TCP server interface, you would naturally use the TCP client
|
<p>To connect to a TCP server interface, you would naturally use the TCP client
|
||||||
interface. Many TCP Client interfaces from different peers can connect to the
|
interface. Many TCP Client interfaces from different peers can connect to the
|
||||||
same TCP Server interface at the same time.</p>
|
same TCP Server interface at the same time.</p>
|
||||||
|
@ -256,7 +433,7 @@ you must use the i2p_tunneled option:</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="udp-interface">
|
<section id="udp-interface">
|
||||||
<span id="interfaces-udp"></span><h2>UDP Interface<a class="headerlink" href="#udp-interface" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-udp"></span><h2>UDP Interface<a class="headerlink" href="#udp-interface" title="Permalink to this heading">#</a></h2>
|
||||||
<p>A UDP interface can be useful for communicating over IP networks, both
|
<p>A UDP interface can be useful for communicating over IP networks, both
|
||||||
private and the internet. It can also allow broadcast communication
|
private and the internet. It can also allow broadcast communication
|
||||||
over IP networks, so it can provide an easy way to enable connectivity
|
over IP networks, so it can provide an easy way to enable connectivity
|
||||||
|
@ -311,7 +488,7 @@ easier to use.</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="rnode-lora-interface">
|
<section id="rnode-lora-interface">
|
||||||
<span id="interfaces-rnode"></span><h2>RNode LoRa Interface<a class="headerlink" href="#rnode-lora-interface" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-rnode"></span><h2>RNode LoRa Interface<a class="headerlink" href="#rnode-lora-interface" title="Permalink to this heading">#</a></h2>
|
||||||
<p>To use Reticulum over LoRa, the <a class="reference external" href="https://unsigned.io/rnode/">RNode</a> interface
|
<p>To use Reticulum over LoRa, the <a class="reference external" href="https://unsigned.io/rnode/">RNode</a> interface
|
||||||
can be used, and offers full control over LoRa parameters.</p>
|
can be used, and offers full control over LoRa parameters.</p>
|
||||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Here's an example of how to add a LoRa interface</span>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Here's an example of how to add a LoRa interface</span>
|
||||||
|
@ -362,7 +539,7 @@ can be used, and offers full control over LoRa parameters.</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="serial-interface">
|
<section id="serial-interface">
|
||||||
<span id="interfaces-serial"></span><h2>Serial Interface<a class="headerlink" href="#serial-interface" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-serial"></span><h2>Serial Interface<a class="headerlink" href="#serial-interface" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Reticulum can be used over serial ports directly, or over any device with a
|
<p>Reticulum can be used over serial ports directly, or over any device with a
|
||||||
serial port, that will transparently pass data. Useful for communicating
|
serial port, that will transparently pass data. Useful for communicating
|
||||||
directly over a wire-pair, or for using devices such as data radios and lasers.</p>
|
directly over a wire-pair, or for using devices such as data radios and lasers.</p>
|
||||||
|
@ -383,7 +560,7 @@ directly over a wire-pair, or for using devices such as data radios and lasers.<
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="pipe-interface">
|
<section id="pipe-interface">
|
||||||
<span id="interfaces-pipe"></span><h2>Pipe Interface<a class="headerlink" href="#pipe-interface" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-pipe"></span><h2>Pipe Interface<a class="headerlink" href="#pipe-interface" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Using this interface, Reticulum can use any program as an interface via <cite>stdin</cite> and
|
<p>Using this interface, Reticulum can use any program as an interface via <cite>stdin</cite> and
|
||||||
<cite>stdout</cite>. This can be used to easily create virtual interfaces, or to interface with
|
<cite>stdout</cite>. This can be used to easily create virtual interfaces, or to interface with
|
||||||
custom hardware or other systems.</p>
|
custom hardware or other systems.</p>
|
||||||
|
@ -403,7 +580,7 @@ continuously read and scan its <cite>stdout</cite> for Reticulum packets. If <co
|
||||||
Reticulum will try to respawn the program after waiting for <code class="docutils literal notranslate"><span class="pre">respawn_interval</span></code> seconds.</p>
|
Reticulum will try to respawn the program after waiting for <code class="docutils literal notranslate"><span class="pre">respawn_interval</span></code> seconds.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="kiss-interface">
|
<section id="kiss-interface">
|
||||||
<span id="interfaces-kiss"></span><h2>KISS Interface<a class="headerlink" href="#kiss-interface" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-kiss"></span><h2>KISS Interface<a class="headerlink" href="#kiss-interface" title="Permalink to this heading">#</a></h2>
|
||||||
<p>With the KISS interface, you can use Reticulum over a variety of packet
|
<p>With the KISS interface, you can use Reticulum over a variety of packet
|
||||||
radio modems and TNCs, including <a class="reference external" href="https://unsigned.io/openmodem/">OpenModem</a>.
|
radio modems and TNCs, including <a class="reference external" href="https://unsigned.io/openmodem/">OpenModem</a>.
|
||||||
KISS interfaces can also be configured to periodically send out beacons
|
KISS interfaces can also be configured to periodically send out beacons
|
||||||
|
@ -455,7 +632,7 @@ for station identification purposes.</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="ax-25-kiss-interface">
|
<section id="ax-25-kiss-interface">
|
||||||
<span id="interfaces-ax25"></span><h2>AX.25 KISS Interface<a class="headerlink" href="#ax-25-kiss-interface" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-ax25"></span><h2>AX.25 KISS Interface<a class="headerlink" href="#ax-25-kiss-interface" title="Permalink to this heading">#</a></h2>
|
||||||
<p>If you’re using Reticulum on amateur radio spectrum, you might want to
|
<p>If you’re using Reticulum on amateur radio spectrum, you might want to
|
||||||
use the AX.25 KISS interface. This way, Reticulum will automatically
|
use the AX.25 KISS interface. This way, Reticulum will automatically
|
||||||
encapsulate it’s traffic in AX.25 and also identify your stations
|
encapsulate it’s traffic in AX.25 and also identify your stations
|
||||||
|
@ -511,7 +688,7 @@ beaconing functionality described above.</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="common-interface-options">
|
<section id="common-interface-options">
|
||||||
<span id="interfaces-options"></span><h2>Common Interface Options<a class="headerlink" href="#common-interface-options" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-options"></span><h2>Common Interface Options<a class="headerlink" href="#common-interface-options" title="Permalink to this heading">#</a></h2>
|
||||||
<p>A number of general configuration options are available on most interfaces.
|
<p>A number of general configuration options are available on most interfaces.
|
||||||
These can be used to control various aspects of interface behaviour.</p>
|
These can be used to control various aspects of interface behaviour.</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
|
@ -607,7 +784,7 @@ option, to set the interface speed in <em>bits per second</em>.</div>
|
||||||
</div></blockquote>
|
</div></blockquote>
|
||||||
</section>
|
</section>
|
||||||
<section id="interface-modes">
|
<section id="interface-modes">
|
||||||
<span id="interfaces-modes"></span><h2>Interface Modes<a class="headerlink" href="#interface-modes" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-modes"></span><h2>Interface Modes<a class="headerlink" href="#interface-modes" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The optional <code class="docutils literal notranslate"><span class="pre">mode</span></code> setting is available on all interfaces, and allows
|
<p>The optional <code class="docutils literal notranslate"><span class="pre">mode</span></code> setting is available on all interfaces, and allows
|
||||||
selecting the high-level behaviour of the interface from a number of modes.
|
selecting the high-level behaviour of the interface from a number of modes.
|
||||||
These modes affect how Reticulum selects paths in the network, how announces
|
These modes affect how Reticulum selects paths in the network, how announces
|
||||||
|
@ -699,7 +876,7 @@ connecting over the Internet should be set to <code class="docutils literal notr
|
||||||
please see the <a class="reference internal" href="understanding.html#understanding-announcepropagation"><span class="std std-ref">Announce Propagation Rules</span></a> section.</p>
|
please see the <a class="reference internal" href="understanding.html#understanding-announcepropagation"><span class="std std-ref">Announce Propagation Rules</span></a> section.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="announce-rate-control">
|
<section id="announce-rate-control">
|
||||||
<span id="interfaces-announcerates"></span><h2>Announce Rate Control<a class="headerlink" href="#announce-rate-control" title="Permalink to this heading">¶</a></h2>
|
<span id="interfaces-announcerates"></span><h2>Announce Rate Control<a class="headerlink" href="#announce-rate-control" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The built-in announce control mechanisms and the default <code class="docutils literal notranslate"><span class="pre">announce_cap</span></code>
|
<p>The built-in announce control mechanisms and the default <code class="docutils literal notranslate"><span class="pre">announce_cap</span></code>
|
||||||
option described above are sufficient most of the time, but in some cases, especially on fast
|
option described above are sufficient most of the time, but in some cases, especially on fast
|
||||||
interfaces, it may be useful to control the target announce rate. Using the
|
interfaces, it may be useful to control the target announce rate. Using the
|
||||||
|
@ -748,16 +925,62 @@ that a large span of network types can seamlessly <em>co-exist</em> and intercon
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
</article>
|
||||||
<div class="clearer"></div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div class="related-pages">
|
||||||
|
<a class="next-page" href="networks.html">
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Next</span>
|
||||||
|
</div>
|
||||||
|
<div class="title">Building Networks</div>
|
||||||
|
</div>
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
</a>
|
||||||
|
<a class="prev-page" href="hardware.html">
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Previous</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title">Communications Hardware</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-of-page">
|
||||||
|
<div class="left-details">
|
||||||
|
<div class="copyright">
|
||||||
|
Copyright © 2022, Mark Qvist
|
||||||
|
</div>
|
||||||
|
Generated with <a href="https://www.sphinx-doc.org/">Sphinx</a> and
|
||||||
|
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-details">
|
||||||
|
<div class="icons">
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
</footer>
|
||||||
<div class="sphinxsidebarwrapper">
|
</div>
|
||||||
<div>
|
<aside class="toc-drawer">
|
||||||
<h3><a href="index.html">Table of Contents</a></h3>
|
|
||||||
<ul>
|
|
||||||
|
<div class="toc-sticky toc-scroll">
|
||||||
|
<div class="toc-title-container">
|
||||||
|
<span class="toc-title">
|
||||||
|
On this page
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="toc-tree-container">
|
||||||
|
<div class="toc-tree">
|
||||||
|
<ul>
|
||||||
<li><a class="reference internal" href="#">Supported Interfaces</a><ul>
|
<li><a class="reference internal" href="#">Supported Interfaces</a><ul>
|
||||||
<li><a class="reference internal" href="#auto-interface">Auto Interface</a></li>
|
<li><a class="reference internal" href="#auto-interface">Auto Interface</a></li>
|
||||||
<li><a class="reference internal" href="#i2p-interface">I2P Interface</a></li>
|
<li><a class="reference internal" href="#i2p-interface">I2P Interface</a></li>
|
||||||
|
@ -776,57 +999,21 @@ that a large span of network types can seamlessly <em>co-exist</em> and intercon
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<h4>Previous topic</h4>
|
|
||||||
<p class="topless"><a href="hardware.html"
|
|
||||||
title="previous chapter">Communications Hardware</a></p>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h4>Next topic</h4>
|
|
||||||
<p class="topless"><a href="networks.html"
|
|
||||||
title="next chapter">Building Networks</a></p>
|
|
||||||
</div>
|
|
||||||
<div role="note" aria-label="source link">
|
|
||||||
<h3>This Page</h3>
|
|
||||||
<ul class="this-page-menu">
|
|
||||||
<li><a href="_sources/interfaces.rst.txt"
|
|
||||||
rel="nofollow">Show Source</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
</aside>
|
||||||
<h3>Navigation</h3>
|
</div>
|
||||||
<ul>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<li class="right" style="margin-right: 10px">
|
<script src="_static/jquery.js"></script>
|
||||||
<a href="genindex.html" title="General Index"
|
<script src="_static/underscore.js"></script>
|
||||||
>index</a></li>
|
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/doctools.js"></script>
|
||||||
<a href="networks.html" title="Building Networks"
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
>next</a> |</li>
|
<script src="_static/scripts/furo.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/clipboard.min.js"></script>
|
||||||
<a href="hardware.html" title="Communications Hardware"
|
<script src="_static/copybutton.js"></script>
|
||||||
>previous</a> |</li>
|
</body>
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Supported Interfaces</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="footer" role="contentinfo">
|
|
||||||
© Copyright 2022, Mark Qvist.
|
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.2.2.
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
|
@ -1,51 +1,228 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="en">
|
||||||
|
<head><meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
|
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
<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" />
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<meta name="generator" content="sphinx-5.2.2, furo 2022.09.29"/>
|
||||||
|
<title>Building Networks - Reticulum Network Stack 0.3.12 beta documentation</title>
|
||||||
<html lang="en">
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<head>
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
|
||||||
<meta charset="utf-8" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
||||||
<title>Building Networks — Reticulum Network Stack 0.3.12 beta documentation</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/classic.css" />
|
|
||||||
|
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
|
||||||
|
|
||||||
<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" />
|
|
||||||
</head><body>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
<ul>
|
|
||||||
<li class="right" style="margin-right: 10px">
|
|
||||||
<a href="genindex.html" title="General Index"
|
|
||||||
accesskey="I">index</a></li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="examples.html" title="Code Examples"
|
|
||||||
accesskey="N">next</a> |</li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="interfaces.html" title="Supported Interfaces"
|
|
||||||
accesskey="P">previous</a> |</li>
|
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Building Networks</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="document">
|
|
||||||
<div class="documentwrapper">
|
<style>
|
||||||
<div class="bodywrapper">
|
body {
|
||||||
<div class="body" role="main">
|
--color-code-background: #f8f8f8;
|
||||||
|
--color-code-foreground: black;
|
||||||
<section id="building-networks">
|
|
||||||
<span id="networks-main"></span><h1>Building Networks<a class="headerlink" href="#building-networks" title="Permalink to this heading">¶</a></h1>
|
}
|
||||||
|
@media not print {
|
||||||
|
body[data-theme="dark"] {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body:not([data-theme="light"]) {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style></head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||||
|
<symbol id="svg-toc" viewBox="0 0 24 24">
|
||||||
|
<title>Contents</title>
|
||||||
|
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
||||||
|
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-menu" viewBox="0 0 24 24">
|
||||||
|
<title>Menu</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
||||||
|
<line x1="3" y1="12" x2="21" y2="12"></line>
|
||||||
|
<line x1="3" y1="6" x2="21" y2="6"></line>
|
||||||
|
<line x1="3" y1="18" x2="21" y2="18"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
||||||
|
<title>Expand</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
||||||
|
<polyline points="9 18 15 12 9 6"></polyline>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun" viewBox="0 0 24 24">
|
||||||
|
<title>Light mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-moon" viewBox="0 0 24 24">
|
||||||
|
<title>Dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
||||||
|
<title>Auto light/dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<circle cx="12" cy="12" r="9" />
|
||||||
|
<path d="M13 12h5" />
|
||||||
|
<path d="M13 15h4" />
|
||||||
|
<path d="M13 18h1" />
|
||||||
|
<path d="M13 9h4" />
|
||||||
|
<path d="M13 6h1" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
||||||
|
<label class="overlay sidebar-overlay" for="__navigation">
|
||||||
|
<div class="visually-hidden">Hide navigation sidebar</div>
|
||||||
|
</label>
|
||||||
|
<label class="overlay toc-overlay" for="__toc">
|
||||||
|
<div class="visually-hidden">Hide table of contents sidebar</div>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<header class="mobile-header">
|
||||||
|
<div class="header-left">
|
||||||
|
<label class="nav-overlay-icon" for="__navigation">
|
||||||
|
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="header-center">
|
||||||
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.3.12 beta documentation</div></a>
|
||||||
|
</div>
|
||||||
|
<div class="header-right">
|
||||||
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<aside class="sidebar-drawer">
|
||||||
|
<div class="sidebar-container">
|
||||||
|
|
||||||
|
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="index.html">
|
||||||
|
|
||||||
|
<div class="sidebar-logo-container">
|
||||||
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.3.12 beta documentation</span>
|
||||||
|
|
||||||
|
</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 type="hidden" name="check_keywords" value="yes">
|
||||||
|
<input type="hidden" name="area" value="default">
|
||||||
|
</form>
|
||||||
|
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
||||||
|
<ul class="current">
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="gettingstartedfast.html">Getting Started Fast</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
||||||
|
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Building Networks</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<div class="article-container">
|
||||||
|
<a href="#" class="back-to-top muted-link">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
||||||
|
</svg>
|
||||||
|
<span>Back to top</span>
|
||||||
|
</a>
|
||||||
|
<div class="content-icon-container">
|
||||||
|
<div class="theme-toggle-container theme-toggle-content">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<article role="main">
|
||||||
|
<section id="building-networks">
|
||||||
|
<span id="networks-main"></span><h1>Building Networks<a class="headerlink" href="#building-networks" title="Permalink to this heading">#</a></h1>
|
||||||
<p>This chapter will provide you with the knowledge needed to build networks with
|
<p>This chapter will provide you with the knowledge needed to build networks with
|
||||||
Reticulum, which can often be easier than using traditional stacks, since you
|
Reticulum, which can often be easier than using traditional stacks, since you
|
||||||
don’t have to worry about coordinating addresses, subnets and routing for an
|
don’t have to worry about coordinating addresses, subnets and routing for an
|
||||||
|
@ -54,7 +231,7 @@ Reticulum, you can simply add more segments to your network when it becomes
|
||||||
necessary, and Reticulum will handle the convergence of the entire network
|
necessary, and Reticulum will handle the convergence of the entire network
|
||||||
automatically.</p>
|
automatically.</p>
|
||||||
<section id="concepts-overview">
|
<section id="concepts-overview">
|
||||||
<h2>Concepts & Overview<a class="headerlink" href="#concepts-overview" title="Permalink to this heading">¶</a></h2>
|
<h2>Concepts & Overview<a class="headerlink" href="#concepts-overview" title="Permalink to this heading">#</a></h2>
|
||||||
<p>There are important points that need to be kept in mind when building networks
|
<p>There are important points that need to be kept in mind when building networks
|
||||||
with Reticulum:</p>
|
with Reticulum:</p>
|
||||||
<blockquote>
|
<blockquote>
|
||||||
|
@ -149,11 +326,11 @@ decide which are suitable to use in any given situation, depending on where
|
||||||
traffic needs to flow.</p>
|
traffic needs to flow.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="example-scenarios">
|
<section id="example-scenarios">
|
||||||
<h2>Example Scenarios<a class="headerlink" href="#example-scenarios" title="Permalink to this heading">¶</a></h2>
|
<h2>Example Scenarios<a class="headerlink" href="#example-scenarios" title="Permalink to this heading">#</a></h2>
|
||||||
<p>This section illustrates a few example scenarios, and how they would, in general
|
<p>This section illustrates a few example scenarios, and how they would, in general
|
||||||
terms, be planned, implemented and configured.</p>
|
terms, be planned, implemented and configured.</p>
|
||||||
<section id="interconnected-lora-sites">
|
<section id="interconnected-lora-sites">
|
||||||
<h3>Interconnected LoRa Sites<a class="headerlink" href="#interconnected-lora-sites" title="Permalink to this heading">¶</a></h3>
|
<h3>Interconnected LoRa Sites<a class="headerlink" href="#interconnected-lora-sites" title="Permalink to this heading">#</a></h3>
|
||||||
<p>An organisation wants to provide communication and information services to it’s
|
<p>An organisation wants to provide communication and information services to it’s
|
||||||
members, which are located mainly in three separate areas. Three suitable hill-top
|
members, which are located mainly in three separate areas. Three suitable hill-top
|
||||||
locations are found, where the organisation can install equipment: Site A, B and C.</p>
|
locations are found, where the organisation can install equipment: Site A, B and C.</p>
|
||||||
|
@ -182,7 +359,7 @@ communicating with the LoRa radios installed at the gateway sites.</p>
|
||||||
else across all three sites.</p>
|
else across all three sites.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="bridging-over-the-internet">
|
<section id="bridging-over-the-internet">
|
||||||
<h3>Bridging Over the Internet<a class="headerlink" href="#bridging-over-the-internet" title="Permalink to this heading">¶</a></h3>
|
<h3>Bridging Over the Internet<a class="headerlink" href="#bridging-over-the-internet" title="Permalink to this heading">#</a></h3>
|
||||||
<p>As the organisation grows, several new communities form in places too far away
|
<p>As the organisation grows, several new communities form in places too far away
|
||||||
from the core network to be reachable over WiFi links. New gateways similar to those
|
from the core network to be reachable over WiFi links. New gateways similar to those
|
||||||
previously installed are set up for the new communities at the new sites D and E, but
|
previously installed are set up for the new communities at the new sites D and E, but
|
||||||
|
@ -199,7 +376,7 @@ combined users of sites A, B and C. She then enables transport on her node, and
|
||||||
traffic from site D can now reach everyone at site A, B and C, and vice versa.</p>
|
traffic from site D can now reach everyone at site A, B and C, and vice versa.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="growth-and-convergence">
|
<section id="growth-and-convergence">
|
||||||
<h3>Growth and Convergence<a class="headerlink" href="#growth-and-convergence" title="Permalink to this heading">¶</a></h3>
|
<h3>Growth and Convergence<a class="headerlink" href="#growth-and-convergence" title="Permalink to this heading">#</a></h3>
|
||||||
<p>As the organisation grows, more gateways are added to keep up with the growing user
|
<p>As the organisation grows, more gateways are added to keep up with the growing user
|
||||||
base. Some local gateways even add VHF radios and packet modems to reach outlying users
|
base. Some local gateways even add VHF radios and packet modems to reach outlying users
|
||||||
and communities that are out of reach for the LoRa radios and WiFi backhauls.</p>
|
and communities that are out of reach for the LoRa radios and WiFi backhauls.</p>
|
||||||
|
@ -215,16 +392,62 @@ connected outliers are now an integral part of the network.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
</article>
|
||||||
<div class="clearer"></div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div class="related-pages">
|
||||||
|
<a class="next-page" href="examples.html">
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Next</span>
|
||||||
|
</div>
|
||||||
|
<div class="title">Code Examples</div>
|
||||||
|
</div>
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
</a>
|
||||||
|
<a class="prev-page" href="interfaces.html">
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Previous</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title">Supported Interfaces</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-of-page">
|
||||||
|
<div class="left-details">
|
||||||
|
<div class="copyright">
|
||||||
|
Copyright © 2022, Mark Qvist
|
||||||
|
</div>
|
||||||
|
Generated with <a href="https://www.sphinx-doc.org/">Sphinx</a> and
|
||||||
|
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-details">
|
||||||
|
<div class="icons">
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
</footer>
|
||||||
<div class="sphinxsidebarwrapper">
|
</div>
|
||||||
<div>
|
<aside class="toc-drawer">
|
||||||
<h3><a href="index.html">Table of Contents</a></h3>
|
|
||||||
<ul>
|
|
||||||
|
<div class="toc-sticky toc-scroll">
|
||||||
|
<div class="toc-title-container">
|
||||||
|
<span class="toc-title">
|
||||||
|
On this page
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="toc-tree-container">
|
||||||
|
<div class="toc-tree">
|
||||||
|
<ul>
|
||||||
<li><a class="reference internal" href="#">Building Networks</a><ul>
|
<li><a class="reference internal" href="#">Building Networks</a><ul>
|
||||||
<li><a class="reference internal" href="#concepts-overview">Concepts & Overview</a></li>
|
<li><a class="reference internal" href="#concepts-overview">Concepts & Overview</a></li>
|
||||||
<li><a class="reference internal" href="#example-scenarios">Example Scenarios</a><ul>
|
<li><a class="reference internal" href="#example-scenarios">Example Scenarios</a><ul>
|
||||||
|
@ -237,57 +460,21 @@ connected outliers are now an integral part of the network.</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<h4>Previous topic</h4>
|
|
||||||
<p class="topless"><a href="interfaces.html"
|
|
||||||
title="previous chapter">Supported Interfaces</a></p>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h4>Next topic</h4>
|
|
||||||
<p class="topless"><a href="examples.html"
|
|
||||||
title="next chapter">Code Examples</a></p>
|
|
||||||
</div>
|
|
||||||
<div role="note" aria-label="source link">
|
|
||||||
<h3>This Page</h3>
|
|
||||||
<ul class="this-page-menu">
|
|
||||||
<li><a href="_sources/networks.rst.txt"
|
|
||||||
rel="nofollow">Show Source</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
</aside>
|
||||||
<h3>Navigation</h3>
|
</div>
|
||||||
<ul>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<li class="right" style="margin-right: 10px">
|
<script src="_static/jquery.js"></script>
|
||||||
<a href="genindex.html" title="General Index"
|
<script src="_static/underscore.js"></script>
|
||||||
>index</a></li>
|
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/doctools.js"></script>
|
||||||
<a href="examples.html" title="Code Examples"
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
>next</a> |</li>
|
<script src="_static/scripts/furo.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/clipboard.min.js"></script>
|
||||||
<a href="interfaces.html" title="Supported Interfaces"
|
<script src="_static/copybutton.js"></script>
|
||||||
>previous</a> |</li>
|
</body>
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Building Networks</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="footer" role="contentinfo">
|
|
||||||
© Copyright 2022, Mark Qvist.
|
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.2.2.
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
File diff suppressed because it is too large
Load Diff
|
@ -1,100 +1,278 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="en">
|
||||||
|
<head><meta charset="utf-8"/>
|
||||||
|
<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="#" />
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<meta name="generator" content="sphinx-5.2.2, furo 2022.09.29"/><title>Search - Reticulum Network Stack 0.3.12 beta documentation</title><link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
|
||||||
<html lang="en">
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
<head>
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
<meta charset="utf-8" />
|
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>Search — Reticulum Network Stack 0.3.12 beta documentation</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/classic.css" />
|
|
||||||
|
|
||||||
|
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
||||||
|
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
--color-code-background: #f8f8f8;
|
||||||
|
--color-code-foreground: black;
|
||||||
|
|
||||||
|
}
|
||||||
|
@media not print {
|
||||||
|
body[data-theme="dark"] {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body:not([data-theme="light"]) {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style></head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||||
|
<symbol id="svg-toc" viewBox="0 0 24 24">
|
||||||
|
<title>Contents</title>
|
||||||
|
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
||||||
|
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-menu" viewBox="0 0 24 24">
|
||||||
|
<title>Menu</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
||||||
|
<line x1="3" y1="12" x2="21" y2="12"></line>
|
||||||
|
<line x1="3" y1="6" x2="21" y2="6"></line>
|
||||||
|
<line x1="3" y1="18" x2="21" y2="18"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
||||||
|
<title>Expand</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
||||||
|
<polyline points="9 18 15 12 9 6"></polyline>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun" viewBox="0 0 24 24">
|
||||||
|
<title>Light mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-moon" viewBox="0 0 24 24">
|
||||||
|
<title>Dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
||||||
|
<title>Auto light/dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<circle cx="12" cy="12" r="9" />
|
||||||
|
<path d="M13 12h5" />
|
||||||
|
<path d="M13 15h4" />
|
||||||
|
<path d="M13 18h1" />
|
||||||
|
<path d="M13 9h4" />
|
||||||
|
<path d="M13 6h1" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
||||||
|
<label class="overlay sidebar-overlay" for="__navigation">
|
||||||
|
<div class="visually-hidden">Hide navigation sidebar</div>
|
||||||
|
</label>
|
||||||
|
<label class="overlay toc-overlay" for="__toc">
|
||||||
|
<div class="visually-hidden">Hide table of contents sidebar</div>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<header class="mobile-header">
|
||||||
|
<div class="header-left">
|
||||||
|
<label class="nav-overlay-icon" for="__navigation">
|
||||||
|
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="header-center">
|
||||||
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.3.12 beta documentation</div></a>
|
||||||
|
</div>
|
||||||
|
<div class="header-right">
|
||||||
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-header-icon no-toc" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<aside class="sidebar-drawer">
|
||||||
|
<div class="sidebar-container">
|
||||||
|
|
||||||
|
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="index.html">
|
||||||
|
|
||||||
|
<div class="sidebar-logo-container">
|
||||||
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.3.12 beta documentation</span>
|
||||||
|
|
||||||
|
</a><form class="sidebar-search-container" method="get" action="#" role="search">
|
||||||
|
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
|
||||||
|
<input type="hidden" name="check_keywords" value="yes">
|
||||||
|
<input type="hidden" name="area" value="default">
|
||||||
|
</form>
|
||||||
|
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="gettingstartedfast.html">Getting Started Fast</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<div class="article-container">
|
||||||
|
<a href="#" class="back-to-top muted-link">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
||||||
|
</svg>
|
||||||
|
<span>Back to top</span>
|
||||||
|
</a>
|
||||||
|
<div class="content-icon-container">
|
||||||
|
<div class="theme-toggle-container theme-toggle-content">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-content-icon no-toc" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<article role="main">
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<div class="admonition error">
|
||||||
|
<p class="admonition-title">Error</p>
|
||||||
|
<p>
|
||||||
|
Please activate JavaScript to enable the search functionality.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
<div id="search-results"></div>
|
||||||
|
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div class="related-pages">
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="bottom-of-page">
|
||||||
|
<div class="left-details">
|
||||||
|
<div class="copyright">
|
||||||
|
Copyright © 2022, Mark Qvist
|
||||||
|
</div>
|
||||||
|
Generated with <a href="https://www.sphinx-doc.org/">Sphinx</a> and
|
||||||
|
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-details">
|
||||||
|
<div class="icons">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
<aside class="toc-drawer no-toc">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</aside>
|
||||||
|
</div>
|
||||||
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<script src="_static/jquery.js"></script>
|
<script src="_static/jquery.js"></script>
|
||||||
<script src="_static/underscore.js"></script>
|
<script src="_static/underscore.js"></script>
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||||
<script src="_static/doctools.js"></script>
|
<script src="_static/doctools.js"></script>
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
|
<script src="_static/scripts/furo.js"></script>
|
||||||
|
<script src="_static/clipboard.min.js"></script>
|
||||||
|
<script src="_static/copybutton.js"></script>
|
||||||
|
|
||||||
<script src="_static/searchtools.js"></script>
|
<script src="_static/searchtools.js"></script>
|
||||||
<script src="_static/language_data.js"></script>
|
<script src="_static/language_data.js"></script>
|
||||||
<link rel="index" title="Index" href="genindex.html" />
|
<script src="searchindex.js"></script></body>
|
||||||
<link rel="search" title="Search" href="#" />
|
|
||||||
<script src="searchindex.js" defer></script>
|
|
||||||
|
|
||||||
|
|
||||||
</head><body>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
<ul>
|
|
||||||
<li class="right" style="margin-right: 10px">
|
|
||||||
<a href="genindex.html" title="General Index"
|
|
||||||
accesskey="I">index</a></li>
|
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Search</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="document">
|
|
||||||
<div class="documentwrapper">
|
|
||||||
<div class="bodywrapper">
|
|
||||||
<div class="body" role="main">
|
|
||||||
|
|
||||||
<h1 id="search-documentation">Search</h1>
|
|
||||||
|
|
||||||
<noscript>
|
|
||||||
<div class="admonition warning">
|
|
||||||
<p>
|
|
||||||
Please activate JavaScript to enable the search
|
|
||||||
functionality.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</noscript>
|
|
||||||
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Searching for multiple words only shows matches that contain
|
|
||||||
all words.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
<form action="" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="search-documentation" value="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="search" />
|
|
||||||
<span id="search-progress" style="padding-left: 10px"></span>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div id="search-results">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
|
||||||
<div class="sphinxsidebarwrapper">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
<ul>
|
|
||||||
<li class="right" style="margin-right: 10px">
|
|
||||||
<a href="genindex.html" title="General Index"
|
|
||||||
>index</a></li>
|
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Search</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="footer" role="contentinfo">
|
|
||||||
© Copyright 2022, Mark Qvist.
|
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.2.2.
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
File diff suppressed because one or more lines are too long
|
@ -1,51 +1,232 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="en">
|
||||||
|
<head><meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
|
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
<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" />
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<meta name="generator" content="sphinx-5.2.2, furo 2022.09.29"/>
|
||||||
|
<title>Support Reticulum - Reticulum Network Stack 0.3.12 beta documentation</title>
|
||||||
<html lang="en">
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<head>
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
|
||||||
<meta charset="utf-8" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
||||||
<title>Support Reticulum — Reticulum Network Stack 0.3.12 beta documentation</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/classic.css" />
|
|
||||||
|
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
|
||||||
|
|
||||||
<link rel="index" title="Index" href="genindex.html" />
|
|
||||||
<link rel="search" title="Search" href="search.html" />
|
|
||||||
<link rel="prev" title="API Reference" href="reference.html" />
|
|
||||||
</head><body>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
<ul>
|
|
||||||
<li class="right" style="margin-right: 10px">
|
|
||||||
<a href="genindex.html" title="General Index"
|
|
||||||
accesskey="I">index</a></li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="reference.html" title="API Reference"
|
|
||||||
accesskey="P">previous</a> |</li>
|
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Support Reticulum</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="document">
|
|
||||||
<div class="documentwrapper">
|
<style>
|
||||||
<div class="bodywrapper">
|
body {
|
||||||
<div class="body" role="main">
|
--color-code-background: #f8f8f8;
|
||||||
|
--color-code-foreground: black;
|
||||||
<section id="support-reticulum">
|
|
||||||
<span id="support-main"></span><h1>Support Reticulum<a class="headerlink" href="#support-reticulum" title="Permalink to this heading">¶</a></h1>
|
}
|
||||||
|
@media not print {
|
||||||
|
body[data-theme="dark"] {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body:not([data-theme="light"]) {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style></head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||||
|
<symbol id="svg-toc" viewBox="0 0 24 24">
|
||||||
|
<title>Contents</title>
|
||||||
|
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
||||||
|
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-menu" viewBox="0 0 24 24">
|
||||||
|
<title>Menu</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
||||||
|
<line x1="3" y1="12" x2="21" y2="12"></line>
|
||||||
|
<line x1="3" y1="6" x2="21" y2="6"></line>
|
||||||
|
<line x1="3" y1="18" x2="21" y2="18"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
||||||
|
<title>Expand</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
||||||
|
<polyline points="9 18 15 12 9 6"></polyline>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun" viewBox="0 0 24 24">
|
||||||
|
<title>Light mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-moon" viewBox="0 0 24 24">
|
||||||
|
<title>Dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
||||||
|
<title>Auto light/dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<circle cx="12" cy="12" r="9" />
|
||||||
|
<path d="M13 12h5" />
|
||||||
|
<path d="M13 15h4" />
|
||||||
|
<path d="M13 18h1" />
|
||||||
|
<path d="M13 9h4" />
|
||||||
|
<path d="M13 6h1" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
||||||
|
<label class="overlay sidebar-overlay" for="__navigation">
|
||||||
|
<div class="visually-hidden">Hide navigation sidebar</div>
|
||||||
|
</label>
|
||||||
|
<label class="overlay toc-overlay" for="__toc">
|
||||||
|
<div class="visually-hidden">Hide table of contents sidebar</div>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<header class="mobile-header">
|
||||||
|
<div class="header-left">
|
||||||
|
<label class="nav-overlay-icon" for="__navigation">
|
||||||
|
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="header-center">
|
||||||
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.3.12 beta documentation</div></a>
|
||||||
|
</div>
|
||||||
|
<div class="header-right">
|
||||||
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<aside class="sidebar-drawer">
|
||||||
|
<div class="sidebar-container">
|
||||||
|
|
||||||
|
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="index.html">
|
||||||
|
|
||||||
|
<div class="sidebar-logo-container">
|
||||||
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.3.12 beta documentation</span>
|
||||||
|
|
||||||
|
</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 type="hidden" name="check_keywords" value="yes">
|
||||||
|
<input type="hidden" name="area" value="default">
|
||||||
|
</form>
|
||||||
|
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
||||||
|
<ul class="current">
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="gettingstartedfast.html">Getting Started Fast</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
|
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Support Reticulum</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<div class="article-container">
|
||||||
|
<a href="#" class="back-to-top muted-link">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
||||||
|
</svg>
|
||||||
|
<span>Back to top</span>
|
||||||
|
</a>
|
||||||
|
<div class="content-icon-container">
|
||||||
|
<div class="theme-toggle-container theme-toggle-content">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<article role="main">
|
||||||
|
<section id="support-reticulum">
|
||||||
|
<span id="support-main"></span><h1>Support Reticulum<a class="headerlink" href="#support-reticulum" title="Permalink to this heading">#</a></h1>
|
||||||
<p>You can help support the continued development of open, free and private communications
|
<p>You can help support the continued development of open, free and private communications
|
||||||
systems by donating, providing feedback and contributing code and learning resources.</p>
|
systems by donating, providing feedback and contributing code and learning resources.</p>
|
||||||
<section id="donations">
|
<section id="donations">
|
||||||
<h2>Donations<a class="headerlink" href="#donations" title="Permalink to this heading">¶</a></h2>
|
<h2>Donations<a class="headerlink" href="#donations" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Donations are gratefully accepted via the following channels:</p>
|
<p>Donations are gratefully accepted via the following channels:</p>
|
||||||
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>Monero:
|
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>Monero:
|
||||||
84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5w
|
84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5w
|
||||||
|
@ -64,7 +245,7 @@ https://ko-fi.com/markqvist
|
||||||
organisation? Make them a reality quickly by sponsoring their implementation.</p>
|
organisation? Make them a reality quickly by sponsoring their implementation.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="provide-feedback">
|
<section id="provide-feedback">
|
||||||
<h2>Provide Feedback<a class="headerlink" href="#provide-feedback" title="Permalink to this heading">¶</a></h2>
|
<h2>Provide Feedback<a class="headerlink" href="#provide-feedback" title="Permalink to this heading">#</a></h2>
|
||||||
<p>All feedback on the usage, functioning and potential dysfunctioning of any and
|
<p>All feedback on the usage, functioning and potential dysfunctioning of any and
|
||||||
all components of the system is very valuable to the continued development and
|
all components of the system is very valuable to the continued development and
|
||||||
improvement of Reticulum. Absolutely no automated analytics, telemetry, error
|
improvement of Reticulum. Absolutely no automated analytics, telemetry, error
|
||||||
|
@ -72,22 +253,68 @@ reporting or statistics is collected and reported by Reticulum under any
|
||||||
circumstances, so we rely on old-fashioned human feedback.</p>
|
circumstances, so we rely on old-fashioned human feedback.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="contribute-code">
|
<section id="contribute-code">
|
||||||
<h2>Contribute Code<a class="headerlink" href="#contribute-code" title="Permalink to this heading">¶</a></h2>
|
<h2>Contribute Code<a class="headerlink" href="#contribute-code" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Join us on <a class="reference external" href="https://github.com/markqvist/reticulum">the GitHub repository</a> to
|
<p>Join us on <a class="reference external" href="https://github.com/markqvist/reticulum">the GitHub repository</a> to
|
||||||
report issues, suggest functionality and contribute code to Reticulum.</p>
|
report issues, suggest functionality and contribute code to Reticulum.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
</article>
|
||||||
<div class="clearer"></div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div class="related-pages">
|
||||||
|
<a class="next-page" href="reference.html">
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Next</span>
|
||||||
|
</div>
|
||||||
|
<div class="title">API Reference</div>
|
||||||
|
</div>
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
</a>
|
||||||
|
<a class="prev-page" href="examples.html">
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Previous</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title">Code Examples</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-of-page">
|
||||||
|
<div class="left-details">
|
||||||
|
<div class="copyright">
|
||||||
|
Copyright © 2022, Mark Qvist
|
||||||
|
</div>
|
||||||
|
Generated with <a href="https://www.sphinx-doc.org/">Sphinx</a> and
|
||||||
|
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-details">
|
||||||
|
<div class="icons">
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
</footer>
|
||||||
<div class="sphinxsidebarwrapper">
|
</div>
|
||||||
<div>
|
<aside class="toc-drawer">
|
||||||
<h3><a href="index.html">Table of Contents</a></h3>
|
|
||||||
<ul>
|
|
||||||
|
<div class="toc-sticky toc-scroll">
|
||||||
|
<div class="toc-title-container">
|
||||||
|
<span class="toc-title">
|
||||||
|
On this page
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="toc-tree-container">
|
||||||
|
<div class="toc-tree">
|
||||||
|
<ul>
|
||||||
<li><a class="reference internal" href="#">Support Reticulum</a><ul>
|
<li><a class="reference internal" href="#">Support Reticulum</a><ul>
|
||||||
<li><a class="reference internal" href="#donations">Donations</a></li>
|
<li><a class="reference internal" href="#donations">Donations</a></li>
|
||||||
<li><a class="reference internal" href="#provide-feedback">Provide Feedback</a></li>
|
<li><a class="reference internal" href="#provide-feedback">Provide Feedback</a></li>
|
||||||
|
@ -96,49 +323,21 @@ report issues, suggest functionality and contribute code to Reticulum.</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<h4>Previous topic</h4>
|
|
||||||
<p class="topless"><a href="reference.html"
|
|
||||||
title="previous chapter">API Reference</a></p>
|
|
||||||
</div>
|
|
||||||
<div role="note" aria-label="source link">
|
|
||||||
<h3>This Page</h3>
|
|
||||||
<ul class="this-page-menu">
|
|
||||||
<li><a href="_sources/support.rst.txt"
|
|
||||||
rel="nofollow">Show Source</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
</aside>
|
||||||
<h3>Navigation</h3>
|
</div>
|
||||||
<ul>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<li class="right" style="margin-right: 10px">
|
<script src="_static/jquery.js"></script>
|
||||||
<a href="genindex.html" title="General Index"
|
<script src="_static/underscore.js"></script>
|
||||||
>index</a></li>
|
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/doctools.js"></script>
|
||||||
<a href="reference.html" title="API Reference"
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
>previous</a> |</li>
|
<script src="_static/scripts/furo.js"></script>
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
<script src="_static/clipboard.min.js"></script>
|
||||||
<li class="nav-item nav-item-this"><a href="">Support Reticulum</a></li>
|
<script src="_static/copybutton.js"></script>
|
||||||
</ul>
|
</body>
|
||||||
</div>
|
|
||||||
<div class="footer" role="contentinfo">
|
|
||||||
© Copyright 2022, Mark Qvist.
|
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.2.2.
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
|
@ -1,51 +1,228 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="en">
|
||||||
|
<head><meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
|
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
<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" />
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<meta name="generator" content="sphinx-5.2.2, furo 2022.09.29"/>
|
||||||
|
<title>Understanding Reticulum - Reticulum Network Stack 0.3.12 beta documentation</title>
|
||||||
<html lang="en">
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<head>
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
|
||||||
<meta charset="utf-8" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
||||||
<title>Understanding Reticulum — Reticulum Network Stack 0.3.12 beta documentation</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/classic.css" />
|
|
||||||
|
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
|
||||||
|
|
||||||
<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" />
|
|
||||||
</head><body>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
<ul>
|
|
||||||
<li class="right" style="margin-right: 10px">
|
|
||||||
<a href="genindex.html" title="General Index"
|
|
||||||
accesskey="I">index</a></li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="hardware.html" title="Communications Hardware"
|
|
||||||
accesskey="N">next</a> |</li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="using.html" title="Using Reticulum on Your System"
|
|
||||||
accesskey="P">previous</a> |</li>
|
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Understanding Reticulum</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="document">
|
|
||||||
<div class="documentwrapper">
|
<style>
|
||||||
<div class="bodywrapper">
|
body {
|
||||||
<div class="body" role="main">
|
--color-code-background: #f8f8f8;
|
||||||
|
--color-code-foreground: black;
|
||||||
<section id="understanding-reticulum">
|
|
||||||
<span id="understanding-main"></span><h1>Understanding Reticulum<a class="headerlink" href="#understanding-reticulum" title="Permalink to this heading">¶</a></h1>
|
}
|
||||||
|
@media not print {
|
||||||
|
body[data-theme="dark"] {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body:not([data-theme="light"]) {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style></head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||||
|
<symbol id="svg-toc" viewBox="0 0 24 24">
|
||||||
|
<title>Contents</title>
|
||||||
|
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
||||||
|
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-menu" viewBox="0 0 24 24">
|
||||||
|
<title>Menu</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
||||||
|
<line x1="3" y1="12" x2="21" y2="12"></line>
|
||||||
|
<line x1="3" y1="6" x2="21" y2="6"></line>
|
||||||
|
<line x1="3" y1="18" x2="21" y2="18"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
||||||
|
<title>Expand</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
||||||
|
<polyline points="9 18 15 12 9 6"></polyline>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun" viewBox="0 0 24 24">
|
||||||
|
<title>Light mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-moon" viewBox="0 0 24 24">
|
||||||
|
<title>Dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
||||||
|
<title>Auto light/dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<circle cx="12" cy="12" r="9" />
|
||||||
|
<path d="M13 12h5" />
|
||||||
|
<path d="M13 15h4" />
|
||||||
|
<path d="M13 18h1" />
|
||||||
|
<path d="M13 9h4" />
|
||||||
|
<path d="M13 6h1" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
||||||
|
<label class="overlay sidebar-overlay" for="__navigation">
|
||||||
|
<div class="visually-hidden">Hide navigation sidebar</div>
|
||||||
|
</label>
|
||||||
|
<label class="overlay toc-overlay" for="__toc">
|
||||||
|
<div class="visually-hidden">Hide table of contents sidebar</div>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<header class="mobile-header">
|
||||||
|
<div class="header-left">
|
||||||
|
<label class="nav-overlay-icon" for="__navigation">
|
||||||
|
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="header-center">
|
||||||
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.3.12 beta documentation</div></a>
|
||||||
|
</div>
|
||||||
|
<div class="header-right">
|
||||||
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<aside class="sidebar-drawer">
|
||||||
|
<div class="sidebar-container">
|
||||||
|
|
||||||
|
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="index.html">
|
||||||
|
|
||||||
|
<div class="sidebar-logo-container">
|
||||||
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.3.12 beta documentation</span>
|
||||||
|
|
||||||
|
</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 type="hidden" name="check_keywords" value="yes">
|
||||||
|
<input type="hidden" name="area" value="default">
|
||||||
|
</form>
|
||||||
|
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
||||||
|
<ul class="current">
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="gettingstartedfast.html">Getting Started Fast</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
|
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Understanding Reticulum</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<div class="article-container">
|
||||||
|
<a href="#" class="back-to-top muted-link">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
||||||
|
</svg>
|
||||||
|
<span>Back to top</span>
|
||||||
|
</a>
|
||||||
|
<div class="content-icon-container">
|
||||||
|
<div class="theme-toggle-container theme-toggle-content">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<article role="main">
|
||||||
|
<section id="understanding-reticulum">
|
||||||
|
<span id="understanding-main"></span><h1>Understanding Reticulum<a class="headerlink" href="#understanding-reticulum" title="Permalink to this heading">#</a></h1>
|
||||||
<p>This chapter will briefly describe the overall purpose and operating principles of Reticulum.
|
<p>This chapter will briefly describe the overall purpose and operating principles of Reticulum.
|
||||||
It should give you an overview of how the stack works, and an understanding of how to
|
It should give you an overview of how the stack works, and an understanding of how to
|
||||||
develop networked applications using Reticulum.</p>
|
develop networked applications using Reticulum.</p>
|
||||||
|
@ -60,7 +237,7 @@ development, this is also the place to start, since it will provide a pretty cle
|
||||||
sentiments and the philosophy behind Reticulum, what problems it seeks to solve, and how it
|
sentiments and the philosophy behind Reticulum, what problems it seeks to solve, and how it
|
||||||
approaches those solutions.</p>
|
approaches those solutions.</p>
|
||||||
<section id="motivation">
|
<section id="motivation">
|
||||||
<span id="understanding-motivation"></span><h2>Motivation<a class="headerlink" href="#motivation" title="Permalink to this heading">¶</a></h2>
|
<span id="understanding-motivation"></span><h2>Motivation<a class="headerlink" href="#motivation" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The primary motivation for designing and implementing Reticulum has been the current lack of
|
<p>The primary motivation for designing and implementing Reticulum has been the current lack of
|
||||||
reliable, functional and secure minimal-infrastructure modes of digital communication. It is my
|
reliable, functional and secure minimal-infrastructure modes of digital communication. It is my
|
||||||
belief that it is highly desirable to create a reliable and efficient way to set up long-range digital
|
belief that it is highly desirable to create a reliable and efficient way to set up long-range digital
|
||||||
|
@ -88,7 +265,7 @@ kill-switches, surveillance, censorship and control. Networks that can freely in
|
||||||
with each other, and require no central oversight. Networks for human beings. <em>Networks for the people</em>.</p>
|
with each other, and require no central oversight. Networks for human beings. <em>Networks for the people</em>.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="goals">
|
<section id="goals">
|
||||||
<span id="understanding-goals"></span><h2>Goals<a class="headerlink" href="#goals" title="Permalink to this heading">¶</a></h2>
|
<span id="understanding-goals"></span><h2>Goals<a class="headerlink" href="#goals" title="Permalink to this heading">#</a></h2>
|
||||||
<p>To be as widely usable and efficient to deploy as possible, the following goals have been used to
|
<p>To be as widely usable and efficient to deploy as possible, the following goals have been used to
|
||||||
guide the design of Reticulum:</p>
|
guide the design of Reticulum:</p>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
|
@ -159,7 +336,7 @@ needs to be purchased.</p>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section id="introduction-basic-functionality">
|
<section id="introduction-basic-functionality">
|
||||||
<span id="understanding-basicfunctionality"></span><h2>Introduction & Basic Functionality<a class="headerlink" href="#introduction-basic-functionality" title="Permalink to this heading">¶</a></h2>
|
<span id="understanding-basicfunctionality"></span><h2>Introduction & Basic Functionality<a class="headerlink" href="#introduction-basic-functionality" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Reticulum is a networking stack suited for high-latency, low-bandwidth links. Reticulum is at it’s
|
<p>Reticulum is a networking stack suited for high-latency, low-bandwidth links. Reticulum is at it’s
|
||||||
core a <em>message oriented</em> system. It is suited for both local point-to-point or point-to-multipoint
|
core a <em>message oriented</em> system. It is suited for both local point-to-point or point-to-multipoint
|
||||||
scenarios where all nodes are within range of each other, as well as scenarios where packets need
|
scenarios where all nodes are within range of each other, as well as scenarios where packets need
|
||||||
|
@ -193,7 +370,7 @@ unencrypted packets for local broadcast purposes.</p>
|
||||||
and offers the possibility to easily tunnel Reticulum traffic over IP links such as the Internet or
|
and offers the possibility to easily tunnel Reticulum traffic over IP links such as the Internet or
|
||||||
private IP networks.</p>
|
private IP networks.</p>
|
||||||
<section id="destinations">
|
<section id="destinations">
|
||||||
<span id="understanding-destinations"></span><h3>Destinations<a class="headerlink" href="#destinations" title="Permalink to this heading">¶</a></h3>
|
<span id="understanding-destinations"></span><h3>Destinations<a class="headerlink" href="#destinations" title="Permalink to this heading">#</a></h3>
|
||||||
<p>To receive and send data with the Reticulum stack, an application needs to create one or more
|
<p>To receive and send data with the Reticulum stack, an application needs to create one or more
|
||||||
destinations. Reticulum uses three different basic destination types, and one special:</p>
|
destinations. Reticulum uses three different basic destination types, and one special:</p>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
|
@ -236,7 +413,7 @@ out requests and responses, large data transfers and more.</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<section id="destination-naming">
|
<section id="destination-naming">
|
||||||
<span id="understanding-destinationnaming"></span><h4>Destination Naming<a class="headerlink" href="#destination-naming" title="Permalink to this heading">¶</a></h4>
|
<span id="understanding-destinationnaming"></span><h4>Destination Naming<a class="headerlink" href="#destination-naming" title="Permalink to this heading">#</a></h4>
|
||||||
<p>Destinations are created and named in an easy to understand dotted notation of <em>aspects</em>, and
|
<p>Destinations are created and named in an easy to understand dotted notation of <em>aspects</em>, and
|
||||||
represented on the network as a hash of this value. The hash is a SHA-256 truncated to 128 bits. The
|
represented on the network as a hash of this value. The hash is a SHA-256 truncated to 128 bits. The
|
||||||
top level aspect should always be a unique identifier for the application using the destination.
|
top level aspect should always be a unique identifier for the application using the destination.
|
||||||
|
@ -303,7 +480,7 @@ if there is not a very good reason for doing it differently.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="public-key-announcements">
|
<section id="public-key-announcements">
|
||||||
<span id="understanding-keyannouncements"></span><h3>Public Key Announcements<a class="headerlink" href="#public-key-announcements" title="Permalink to this heading">¶</a></h3>
|
<span id="understanding-keyannouncements"></span><h3>Public Key Announcements<a class="headerlink" href="#public-key-announcements" title="Permalink to this heading">#</a></h3>
|
||||||
<p>An <em>announce</em> will send a special packet over any relevant interfaces, containing all needed
|
<p>An <em>announce</em> will send a special packet over any relevant interfaces, containing all needed
|
||||||
information about the destination hash and public key, and can also contain some additional,
|
information about the destination hash and public key, and can also contain some additional,
|
||||||
application specific data. The entire packet is signed by the sender to ensure authenticity. It is not
|
application specific data. The entire packet is signed by the sender to ensure authenticity. It is not
|
||||||
|
@ -337,7 +514,7 @@ networks it is part of. After a short while, it will be globally reachable in th
|
||||||
<p>Seeing how <em>single</em> destinations are always tied to a private/public key pair leads us to the next topic.</p>
|
<p>Seeing how <em>single</em> destinations are always tied to a private/public key pair leads us to the next topic.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="understanding-identities">
|
<section id="understanding-identities">
|
||||||
<span id="identities"></span><h3>Identities<a class="headerlink" href="#understanding-identities" title="Permalink to this heading">¶</a></h3>
|
<span id="identities"></span><h3>Identities<a class="headerlink" href="#understanding-identities" title="Permalink to this heading">#</a></h3>
|
||||||
<p>In Reticulum, an <em>identity</em> does not necessarily represent a personal identity, but is an abstraction that
|
<p>In Reticulum, an <em>identity</em> does not necessarily represent a personal identity, but is an abstraction that
|
||||||
can represent any kind of <em>verifiable entity</em>. This could very well be a person, but it could also be the
|
can represent any kind of <em>verifiable entity</em>. This could very well be a person, but it could also be the
|
||||||
control interface of a machine, a program, robot, computer, sensor or something else entirely. In
|
control interface of a machine, a program, robot, computer, sensor or something else entirely. In
|
||||||
|
@ -355,7 +532,7 @@ Reticulum Identity securely and privately, since obtaining access to the identit
|
||||||
obtaining access and controlling reachability to any destinations created by that identity.</p>
|
obtaining access and controlling reachability to any destinations created by that identity.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="getting-further">
|
<section id="getting-further">
|
||||||
<span id="understanding-gettingfurther"></span><h3>Getting Further<a class="headerlink" href="#getting-further" title="Permalink to this heading">¶</a></h3>
|
<span id="understanding-gettingfurther"></span><h3>Getting Further<a class="headerlink" href="#getting-further" title="Permalink to this heading">#</a></h3>
|
||||||
<p>The above functions and principles form the core of Reticulum, and would suffice to create
|
<p>The above functions and principles form the core of Reticulum, and would suffice to create
|
||||||
functional networked applications in local clusters, for example over radio links where all interested
|
functional networked applications in local clusters, for example over radio links where all interested
|
||||||
nodes can directly hear each other. But to be truly useful, we need a way to direct traffic over multiple
|
nodes can directly hear each other. But to be truly useful, we need a way to direct traffic over multiple
|
||||||
|
@ -364,7 +541,7 @@ hops in the network.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="reticulum-transport">
|
<section id="reticulum-transport">
|
||||||
<span id="understanding-transport"></span><h2>Reticulum Transport<a class="headerlink" href="#reticulum-transport" title="Permalink to this heading">¶</a></h2>
|
<span id="understanding-transport"></span><h2>Reticulum Transport<a class="headerlink" href="#reticulum-transport" title="Permalink to this heading">#</a></h2>
|
||||||
<p>The methods of routing used in traditional networks are fundamentally incompatible with the physical medium
|
<p>The methods of routing used in traditional networks are fundamentally incompatible with the physical medium
|
||||||
types and circumstances that Reticulum was designed to handle. These mechanisms mostly assume trust at the physical layer,
|
types and circumstances that Reticulum was designed to handle. These mechanisms mostly assume trust at the physical layer,
|
||||||
and often needs a lot more bandwidth than Reticulum can assume is available. Since Reticulum is designed to
|
and often needs a lot more bandwidth than Reticulum can assume is available. Since Reticulum is designed to
|
||||||
|
@ -375,7 +552,7 @@ destination. It is important to note that no single node in a Reticulum network
|
||||||
path to a destination. Every Transport node participating in a Reticulum network will only
|
path to a destination. Every Transport node participating in a Reticulum network will only
|
||||||
know the most direct way to get a packet one hop closer to it’s destination.</p>
|
know the most direct way to get a packet one hop closer to it’s destination.</p>
|
||||||
<section id="node-types">
|
<section id="node-types">
|
||||||
<span id="understanding-nodetypes"></span><h3>Node Types<a class="headerlink" href="#node-types" title="Permalink to this heading">¶</a></h3>
|
<span id="understanding-nodetypes"></span><h3>Node Types<a class="headerlink" href="#node-types" title="Permalink to this heading">#</a></h3>
|
||||||
<p>Currently, Reticulum distinguishes between two types of network nodes. All nodes on a Reticulum network
|
<p>Currently, Reticulum distinguishes between two types of network nodes. All nodes on a Reticulum network
|
||||||
are <em>Reticulum Instances</em>, and some are also <em>Transport Nodes</em>. If a system running Reticulum is fixed in
|
are <em>Reticulum Instances</em>, and some are also <em>Transport Nodes</em>. If a system running Reticulum is fixed in
|
||||||
one place, and is intended to be kept available most of the time, it is a good contender to be a <em>Transport Node</em>.</p>
|
one place, and is intended to be kept available most of the time, it is a good contender to be a <em>Transport Node</em>.</p>
|
||||||
|
@ -387,7 +564,7 @@ is the default setting.</p>
|
||||||
<p>If it is a <em>Transport Node</em>, it should be given the configuration directive <code class="docutils literal notranslate"><span class="pre">enable_transport</span> <span class="pre">=</span> <span class="pre">Yes</span></code>.</p>
|
<p>If it is a <em>Transport Node</em>, it should be given the configuration directive <code class="docutils literal notranslate"><span class="pre">enable_transport</span> <span class="pre">=</span> <span class="pre">Yes</span></code>.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="the-announce-mechanism-in-detail">
|
<section id="the-announce-mechanism-in-detail">
|
||||||
<span id="understanding-announce"></span><h3>The Announce Mechanism in Detail<a class="headerlink" href="#the-announce-mechanism-in-detail" title="Permalink to this heading">¶</a></h3>
|
<span id="understanding-announce"></span><h3>The Announce Mechanism in Detail<a class="headerlink" href="#the-announce-mechanism-in-detail" title="Permalink to this heading">#</a></h3>
|
||||||
<p>When an <em>announce</em> for a destination is transmitted by from a Reticulum instance, it will be forwarded by
|
<p>When an <em>announce</em> for a destination is transmitted by from a Reticulum instance, it will be forwarded by
|
||||||
any transport node receiving it, but according to some specific rules:</p>
|
any transport node receiving it, but according to some specific rules:</p>
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -452,7 +629,7 @@ end-to-end connectivity in about one minute, given there is enough bandwidth ava
|
||||||
the required amount of announces.</p>
|
the required amount of announces.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="reaching-the-destination">
|
<section id="reaching-the-destination">
|
||||||
<span id="understanding-paths"></span><h3>Reaching the Destination<a class="headerlink" href="#reaching-the-destination" title="Permalink to this heading">¶</a></h3>
|
<span id="understanding-paths"></span><h3>Reaching the Destination<a class="headerlink" href="#reaching-the-destination" title="Permalink to this heading">#</a></h3>
|
||||||
<p>In networks with changing topology and trustless connectivity, nodes need a way to establish
|
<p>In networks with changing topology and trustless connectivity, nodes need a way to establish
|
||||||
<em>verified connectivity</em> with each other. Since the network is assumed to be trustless, Reticulum
|
<em>verified connectivity</em> with each other. Since the network is assumed to be trustless, Reticulum
|
||||||
must provide a way to guarantee that the peer you are communicating with is actually who you
|
must provide a way to guarantee that the peer you are communicating with is actually who you
|
||||||
|
@ -559,7 +736,7 @@ by referring to this <em>link id</em>.</p>
|
||||||
a link open is practically negligible, at 0.45 bits per second. Even on a slow 1200 bits per second packet
|
a link open is practically negligible, at 0.45 bits per second. Even on a slow 1200 bits per second packet
|
||||||
radio channel, 100 concurrent links will still leave 96% channel capacity for actual data.</p>
|
radio channel, 100 concurrent links will still leave 96% channel capacity for actual data.</p>
|
||||||
<section id="link-establishment-in-detail">
|
<section id="link-establishment-in-detail">
|
||||||
<h4>Link Establishment in Detail<a class="headerlink" href="#link-establishment-in-detail" title="Permalink to this heading">¶</a></h4>
|
<h4>Link Establishment in Detail<a class="headerlink" href="#link-establishment-in-detail" title="Permalink to this heading">#</a></h4>
|
||||||
<p>After exploring the basics of the announce mechanism, finding a path through the network, and an overview
|
<p>After exploring the basics of the announce mechanism, finding a path through the network, and an overview
|
||||||
of the link establishment procedure, this section will go into greater detail about the Reticulum link
|
of the link establishment procedure, this section will go into greater detail about the Reticulum link
|
||||||
establishment process.</p>
|
establishment process.</p>
|
||||||
|
@ -634,7 +811,7 @@ automate retransmissions if <em>Resources</em> are used.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="resources">
|
<section id="resources">
|
||||||
<span id="understanding-resources"></span><h3>Resources<a class="headerlink" href="#resources" title="Permalink to this heading">¶</a></h3>
|
<span id="understanding-resources"></span><h3>Resources<a class="headerlink" href="#resources" title="Permalink to this heading">#</a></h3>
|
||||||
<p>For exchanging small amounts of data over a Reticulum network, the <a class="reference internal" href="reference.html#api-packet"><span class="std std-ref">Packet</span></a> interface
|
<p>For exchanging small amounts of data over a Reticulum network, the <a class="reference internal" href="reference.html#api-packet"><span class="std std-ref">Packet</span></a> interface
|
||||||
is sufficient, but for exchanging data that would require many packets, an efficient way to coordinate
|
is sufficient, but for exchanging data that would require many packets, an efficient way to coordinate
|
||||||
the transfer is needed.</p>
|
the transfer is needed.</p>
|
||||||
|
@ -648,7 +825,7 @@ or stream data directly from files.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="reference-setup">
|
<section id="reference-setup">
|
||||||
<span id="understanding-referencesystem"></span><h2>Reference Setup<a class="headerlink" href="#reference-setup" title="Permalink to this heading">¶</a></h2>
|
<span id="understanding-referencesystem"></span><h2>Reference Setup<a class="headerlink" href="#reference-setup" title="Permalink to this heading">#</a></h2>
|
||||||
<p>This section will detail a recommended <em>Reference Setup</em> for Reticulum. It is important to
|
<p>This section will detail a recommended <em>Reference Setup</em> for Reticulum. It is important to
|
||||||
note that Reticulum is designed to be usable on more or less any computing device, and over more
|
note that Reticulum is designed to be usable on more or less any computing device, and over more
|
||||||
or less any medium that allows you to send and receive data, which satisfies some very low
|
or less any medium that allows you to send and receive data, which satisfies some very low
|
||||||
|
@ -716,18 +893,18 @@ even if you have none of the hardware already, and need to purchase everything.<
|
||||||
tailor it to your own specific needs, or whatever hardware you have available.</p>
|
tailor it to your own specific needs, or whatever hardware you have available.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="protocol-specifics">
|
<section id="protocol-specifics">
|
||||||
<span id="understanding-protocolspecifics"></span><h2>Protocol Specifics<a class="headerlink" href="#protocol-specifics" title="Permalink to this heading">¶</a></h2>
|
<span id="understanding-protocolspecifics"></span><h2>Protocol Specifics<a class="headerlink" href="#protocol-specifics" title="Permalink to this heading">#</a></h2>
|
||||||
<p>This chapter will detail protocol specific information that is essential to the implementation of
|
<p>This chapter will detail protocol specific information that is essential to the implementation of
|
||||||
Reticulum, but non critical in understanding how the protocol works on a general level. It should be
|
Reticulum, but non critical in understanding how the protocol works on a general level. It should be
|
||||||
treated more as a reference than as essential reading.</p>
|
treated more as a reference than as essential reading.</p>
|
||||||
<section id="packet-prioritisation">
|
<section id="packet-prioritisation">
|
||||||
<h3>Packet Prioritisation<a class="headerlink" href="#packet-prioritisation" title="Permalink to this heading">¶</a></h3>
|
<h3>Packet Prioritisation<a class="headerlink" href="#packet-prioritisation" title="Permalink to this heading">#</a></h3>
|
||||||
<p>Currently, Reticulum is completely priority-agnostic regarding general traffic. All traffic is handled
|
<p>Currently, Reticulum is completely priority-agnostic regarding general traffic. All traffic is handled
|
||||||
on a first-come, first-serve basis. Announce re-transmission are handled according to the re-transmission
|
on a first-come, first-serve basis. Announce re-transmission are handled according to the re-transmission
|
||||||
times and priorities described earlier in this chapter.</p>
|
times and priorities described earlier in this chapter.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="interface-access-codes">
|
<section id="interface-access-codes">
|
||||||
<h3>Interface Access Codes<a class="headerlink" href="#interface-access-codes" title="Permalink to this heading">¶</a></h3>
|
<h3>Interface Access Codes<a class="headerlink" href="#interface-access-codes" title="Permalink to this heading">#</a></h3>
|
||||||
<p>Reticulum can create named virtual networks, and networks that are only accessible by knowing a preshared
|
<p>Reticulum can create named virtual networks, and networks that are only accessible by knowing a preshared
|
||||||
passphrase. The configuration of this is detailed in the <a class="reference internal" href="interfaces.html#interfaces-options"><span class="std std-ref">Common Interface Options</span></a>
|
passphrase. The configuration of this is detailed in the <a class="reference internal" href="interfaces.html#interfaces-options"><span class="std std-ref">Common Interface Options</span></a>
|
||||||
section. To implement these feature, Reticulum uses the concept of Interface Access Codes, that are calculated
|
section. To implement these feature, Reticulum uses the concept of Interface Access Codes, that are calculated
|
||||||
|
@ -742,7 +919,7 @@ does not. This ensures that only packets sent with the correct naming and/or pas
|
||||||
pass onto the network.</p>
|
pass onto the network.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="wire-format">
|
<section id="wire-format">
|
||||||
<span id="understanding-packetformat"></span><h3>Wire Format<a class="headerlink" href="#wire-format" title="Permalink to this heading">¶</a></h3>
|
<span id="understanding-packetformat"></span><h3>Wire Format<a class="headerlink" href="#wire-format" title="Permalink to this heading">#</a></h3>
|
||||||
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>== Reticulum Wire Format ======
|
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>== Reticulum Wire Format ======
|
||||||
|
|
||||||
A Reticulum packet is composed of the following fields:
|
A Reticulum packet is composed of the following fields:
|
||||||
|
@ -869,7 +1046,7 @@ but excluding any interface access codes.
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="announce-propagation-rules">
|
<section id="announce-propagation-rules">
|
||||||
<span id="understanding-announcepropagation"></span><h3>Announce Propagation Rules<a class="headerlink" href="#announce-propagation-rules" title="Permalink to this heading">¶</a></h3>
|
<span id="understanding-announcepropagation"></span><h3>Announce Propagation Rules<a class="headerlink" href="#announce-propagation-rules" title="Permalink to this heading">#</a></h3>
|
||||||
<p>The following table illustrates the rules for automatically propagating announces
|
<p>The following table illustrates the rules for automatically propagating announces
|
||||||
from one interface type to another, for all possible combinations. For the purpose
|
from one interface type to another, for all possible combinations. For the purpose
|
||||||
of announce propagation, the <em>Full</em> and <em>Gateway</em> modes are identical.</p>
|
of announce propagation, the <em>Full</em> and <em>Gateway</em> modes are identical.</p>
|
||||||
|
@ -878,7 +1055,7 @@ of announce propagation, the <em>Full</em> and <em>Gateway</em> modes are identi
|
||||||
of the different interface modes, and how they are configured.</p>
|
of the different interface modes, and how they are configured.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="cryptographic-primitives">
|
<section id="cryptographic-primitives">
|
||||||
<span id="understanding-primitives"></span><h3>Cryptographic Primitives<a class="headerlink" href="#cryptographic-primitives" title="Permalink to this heading">¶</a></h3>
|
<span id="understanding-primitives"></span><h3>Cryptographic Primitives<a class="headerlink" href="#cryptographic-primitives" title="Permalink to this heading">#</a></h3>
|
||||||
<p>Reticulum has been designed to use a simple suite of efficient, strong and modern
|
<p>Reticulum has been designed to use a simple suite of efficient, strong and modern
|
||||||
cryptographic primitives, with widely available implementations that can be used
|
cryptographic primitives, with widely available implementations that can be used
|
||||||
both on general-purpose CPUs and on microcontrollers. The necessary primitives are:</p>
|
both on general-purpose CPUs and on microcontrollers. The necessary primitives are:</p>
|
||||||
|
@ -920,16 +1097,62 @@ those risks are acceptable to you.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
</article>
|
||||||
<div class="clearer"></div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div class="related-pages">
|
||||||
|
<a class="next-page" href="hardware.html">
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Next</span>
|
||||||
|
</div>
|
||||||
|
<div class="title">Communications Hardware</div>
|
||||||
|
</div>
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
</a>
|
||||||
|
<a class="prev-page" href="using.html">
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Previous</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title">Using Reticulum on Your System</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-of-page">
|
||||||
|
<div class="left-details">
|
||||||
|
<div class="copyright">
|
||||||
|
Copyright © 2022, Mark Qvist
|
||||||
|
</div>
|
||||||
|
Generated with <a href="https://www.sphinx-doc.org/">Sphinx</a> and
|
||||||
|
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-details">
|
||||||
|
<div class="icons">
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
</footer>
|
||||||
<div class="sphinxsidebarwrapper">
|
</div>
|
||||||
<div>
|
<aside class="toc-drawer">
|
||||||
<h3><a href="index.html">Table of Contents</a></h3>
|
|
||||||
<ul>
|
|
||||||
|
<div class="toc-sticky toc-scroll">
|
||||||
|
<div class="toc-title-container">
|
||||||
|
<span class="toc-title">
|
||||||
|
On this page
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="toc-tree-container">
|
||||||
|
<div class="toc-tree">
|
||||||
|
<ul>
|
||||||
<li><a class="reference internal" href="#">Understanding Reticulum</a><ul>
|
<li><a class="reference internal" href="#">Understanding Reticulum</a><ul>
|
||||||
<li><a class="reference internal" href="#motivation">Motivation</a></li>
|
<li><a class="reference internal" href="#motivation">Motivation</a></li>
|
||||||
<li><a class="reference internal" href="#goals">Goals</a></li>
|
<li><a class="reference internal" href="#goals">Goals</a></li>
|
||||||
|
@ -966,57 +1189,21 @@ those risks are acceptable to you.</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<h4>Previous topic</h4>
|
|
||||||
<p class="topless"><a href="using.html"
|
|
||||||
title="previous chapter">Using Reticulum on Your System</a></p>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h4>Next topic</h4>
|
|
||||||
<p class="topless"><a href="hardware.html"
|
|
||||||
title="next chapter">Communications Hardware</a></p>
|
|
||||||
</div>
|
|
||||||
<div role="note" aria-label="source link">
|
|
||||||
<h3>This Page</h3>
|
|
||||||
<ul class="this-page-menu">
|
|
||||||
<li><a href="_sources/understanding.rst.txt"
|
|
||||||
rel="nofollow">Show Source</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
</aside>
|
||||||
<h3>Navigation</h3>
|
</div>
|
||||||
<ul>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<li class="right" style="margin-right: 10px">
|
<script src="_static/jquery.js"></script>
|
||||||
<a href="genindex.html" title="General Index"
|
<script src="_static/underscore.js"></script>
|
||||||
>index</a></li>
|
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/doctools.js"></script>
|
||||||
<a href="hardware.html" title="Communications Hardware"
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
>next</a> |</li>
|
<script src="_static/scripts/furo.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/clipboard.min.js"></script>
|
||||||
<a href="using.html" title="Using Reticulum on Your System"
|
<script src="_static/copybutton.js"></script>
|
||||||
>previous</a> |</li>
|
</body>
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Understanding Reticulum</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="footer" role="contentinfo">
|
|
||||||
© Copyright 2022, Mark Qvist.
|
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.2.2.
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
|
@ -1,51 +1,228 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="en">
|
||||||
|
<head><meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
|
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
<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" />
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<meta name="generator" content="sphinx-5.2.2, furo 2022.09.29"/>
|
||||||
|
<title>Using Reticulum on Your System - Reticulum Network Stack 0.3.12 beta documentation</title>
|
||||||
<html lang="en">
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<head>
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
|
||||||
<meta charset="utf-8" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
||||||
<title>Using Reticulum on Your System — Reticulum Network Stack 0.3.12 beta documentation</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/classic.css" />
|
|
||||||
|
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
|
||||||
|
|
||||||
<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" />
|
|
||||||
</head><body>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
<ul>
|
|
||||||
<li class="right" style="margin-right: 10px">
|
|
||||||
<a href="genindex.html" title="General Index"
|
|
||||||
accesskey="I">index</a></li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="understanding.html" title="Understanding Reticulum"
|
|
||||||
accesskey="N">next</a> |</li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="gettingstartedfast.html" title="Getting Started Fast"
|
|
||||||
accesskey="P">previous</a> |</li>
|
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Using Reticulum on Your System</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="document">
|
|
||||||
<div class="documentwrapper">
|
<style>
|
||||||
<div class="bodywrapper">
|
body {
|
||||||
<div class="body" role="main">
|
--color-code-background: #f8f8f8;
|
||||||
|
--color-code-foreground: black;
|
||||||
<section id="using-reticulum-on-your-system">
|
|
||||||
<span id="using-main"></span><h1>Using Reticulum on Your System<a class="headerlink" href="#using-reticulum-on-your-system" title="Permalink to this heading">¶</a></h1>
|
}
|
||||||
|
@media not print {
|
||||||
|
body[data-theme="dark"] {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body:not([data-theme="light"]) {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style></head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||||
|
<symbol id="svg-toc" viewBox="0 0 24 24">
|
||||||
|
<title>Contents</title>
|
||||||
|
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
||||||
|
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-menu" viewBox="0 0 24 24">
|
||||||
|
<title>Menu</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
||||||
|
<line x1="3" y1="12" x2="21" y2="12"></line>
|
||||||
|
<line x1="3" y1="6" x2="21" y2="6"></line>
|
||||||
|
<line x1="3" y1="18" x2="21" y2="18"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
||||||
|
<title>Expand</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
||||||
|
<polyline points="9 18 15 12 9 6"></polyline>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun" viewBox="0 0 24 24">
|
||||||
|
<title>Light mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-moon" viewBox="0 0 24 24">
|
||||||
|
<title>Dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
||||||
|
<title>Auto light/dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<circle cx="12" cy="12" r="9" />
|
||||||
|
<path d="M13 12h5" />
|
||||||
|
<path d="M13 15h4" />
|
||||||
|
<path d="M13 18h1" />
|
||||||
|
<path d="M13 9h4" />
|
||||||
|
<path d="M13 6h1" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
||||||
|
<label class="overlay sidebar-overlay" for="__navigation">
|
||||||
|
<div class="visually-hidden">Hide navigation sidebar</div>
|
||||||
|
</label>
|
||||||
|
<label class="overlay toc-overlay" for="__toc">
|
||||||
|
<div class="visually-hidden">Hide table of contents sidebar</div>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<header class="mobile-header">
|
||||||
|
<div class="header-left">
|
||||||
|
<label class="nav-overlay-icon" for="__navigation">
|
||||||
|
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="header-center">
|
||||||
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.3.12 beta documentation</div></a>
|
||||||
|
</div>
|
||||||
|
<div class="header-right">
|
||||||
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<aside class="sidebar-drawer">
|
||||||
|
<div class="sidebar-container">
|
||||||
|
|
||||||
|
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="index.html">
|
||||||
|
|
||||||
|
<div class="sidebar-logo-container">
|
||||||
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.3.12 beta documentation</span>
|
||||||
|
|
||||||
|
</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 type="hidden" name="check_keywords" value="yes">
|
||||||
|
<input type="hidden" name="area" value="default">
|
||||||
|
</form>
|
||||||
|
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
||||||
|
<ul class="current">
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="whatis.html">What is Reticulum?</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="gettingstartedfast.html">Getting Started Fast</a></li>
|
||||||
|
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">Using Reticulum on Your System</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<div class="article-container">
|
||||||
|
<a href="#" class="back-to-top muted-link">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
||||||
|
</svg>
|
||||||
|
<span>Back to top</span>
|
||||||
|
</a>
|
||||||
|
<div class="content-icon-container">
|
||||||
|
<div class="theme-toggle-container theme-toggle-content">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<article role="main">
|
||||||
|
<section id="using-reticulum-on-your-system">
|
||||||
|
<span id="using-main"></span><h1>Using Reticulum on Your System<a class="headerlink" href="#using-reticulum-on-your-system" title="Permalink to this heading">#</a></h1>
|
||||||
<p>Reticulum is not installed as a driver or kernel module, as one might expect
|
<p>Reticulum is not installed as a driver or kernel module, as one might expect
|
||||||
of a networking stack. Instead, Reticulum is distributed as a Python module.
|
of a networking stack. Instead, Reticulum is distributed as a Python module.
|
||||||
This means that no special privileges are required to install or use it. It
|
This means that no special privileges are required to install or use it. It
|
||||||
|
@ -60,7 +237,7 @@ instance is simply shared. This works for any number of programs running
|
||||||
concurrently, and is very easy to use, but depending on your use case, there
|
concurrently, and is very easy to use, but depending on your use case, there
|
||||||
are other options.</p>
|
are other options.</p>
|
||||||
<section id="configuration-data">
|
<section id="configuration-data">
|
||||||
<h2>Configuration & Data<a class="headerlink" href="#configuration-data" title="Permalink to this heading">¶</a></h2>
|
<h2>Configuration & Data<a class="headerlink" href="#configuration-data" title="Permalink to this heading">#</a></h2>
|
||||||
<p>A Reticulum stores all information that it needs to function in a single file-
|
<p>A Reticulum stores all information that it needs to function in a single file-
|
||||||
system directory. By default, this directory is <code class="docutils literal notranslate"><span class="pre">~/.config/reticulum</span></code>, but you can
|
system directory. By default, this directory is <code class="docutils literal notranslate"><span class="pre">~/.config/reticulum</span></code>, but you can
|
||||||
use any directory you wish. You can also run multiple separate Reticulum
|
use any directory you wish. You can also run multiple separate Reticulum
|
||||||
|
@ -171,7 +348,7 @@ concepts you need to understand to configure your network. Once you have done th
|
||||||
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>
|
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>
|
||||||
<p>Reticulum includes a range of useful utilities, both for managing your Reticulum
|
<p>Reticulum includes a range of useful utilities, both for managing your Reticulum
|
||||||
networks, and for carrying out common tasks over Reticulum networks, such as
|
networks, and for carrying out common tasks over Reticulum networks, such as
|
||||||
transferring files to remote systems, and executing commands and programs remotely.</p>
|
transferring files to remote systems, and executing commands and programs remotely.</p>
|
||||||
|
@ -180,7 +357,7 @@ Reticulum to stay available all the time, for example if you are hosting
|
||||||
a transport node, you might want to run Reticulum as a separate service that
|
a transport node, you might want to run Reticulum as a separate service that
|
||||||
other programs, applications and services can utilise.</p>
|
other programs, applications and services can utilise.</p>
|
||||||
<section id="the-rnsd-utility">
|
<section id="the-rnsd-utility">
|
||||||
<h3>The rnsd Utility<a class="headerlink" href="#the-rnsd-utility" title="Permalink to this heading">¶</a></h3>
|
<h3>The rnsd Utility<a class="headerlink" href="#the-rnsd-utility" title="Permalink to this heading">#</a></h3>
|
||||||
<p>It is very easy to run Reticulum as a service. Simply run the included <code class="docutils literal notranslate"><span class="pre">rnsd</span></code> command.
|
<p>It is very easy to run Reticulum as a service. Simply run the included <code class="docutils literal notranslate"><span class="pre">rnsd</span></code> command.
|
||||||
When <code class="docutils literal notranslate"><span class="pre">rnsd</span></code> is running, it will keep all configured interfaces open, handle transport if
|
When <code class="docutils literal notranslate"><span class="pre">rnsd</span></code> is running, it will keep all configured interfaces open, handle transport if
|
||||||
it is enabled, and allow any other programs to immediately utilise the
|
it is enabled, and allow any other programs to immediately utilise the
|
||||||
|
@ -209,7 +386,7 @@ optional arguments:
|
||||||
<p>You can easily add <code class="docutils literal notranslate"><span class="pre">rnsd</span></code> as an always-on service by <a class="reference internal" href="#using-systemd"><span class="std std-ref">configuring a service</span></a>.</p>
|
<p>You can easily add <code class="docutils literal notranslate"><span class="pre">rnsd</span></code> as an always-on service by <a class="reference internal" href="#using-systemd"><span class="std std-ref">configuring a service</span></a>.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="the-rnstatus-utility">
|
<section id="the-rnstatus-utility">
|
||||||
<h3>The rnstatus Utility<a class="headerlink" href="#the-rnstatus-utility" title="Permalink to this heading">¶</a></h3>
|
<h3>The rnstatus Utility<a class="headerlink" href="#the-rnstatus-utility" title="Permalink to this heading">#</a></h3>
|
||||||
<p>Using the <code class="docutils literal notranslate"><span class="pre">rnstatus</span></code> utility, you can view the status of configured Reticulum
|
<p>Using the <code class="docutils literal notranslate"><span class="pre">rnstatus</span></code> utility, you can view the status of configured Reticulum
|
||||||
interfaces, similar to the <code class="docutils literal notranslate"><span class="pre">ifconfig</span></code> program.</p>
|
interfaces, similar to the <code class="docutils literal notranslate"><span class="pre">ifconfig</span></code> program.</p>
|
||||||
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span># Run rnstatus
|
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span># Run rnstatus
|
||||||
|
@ -263,7 +440,7 @@ optional arguments:
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</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
|
||||||
destinations on the Reticulum network.</p>
|
destinations on the Reticulum network.</p>
|
||||||
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span># Run rnpath
|
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span># Run rnpath
|
||||||
|
@ -294,7 +471,7 @@ optional arguments:
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="the-rnprobe-utility">
|
<section id="the-rnprobe-utility">
|
||||||
<h3>The rnprobe Utility<a class="headerlink" href="#the-rnprobe-utility" title="Permalink to this heading">¶</a></h3>
|
<h3>The rnprobe Utility<a class="headerlink" href="#the-rnprobe-utility" title="Permalink to this heading">#</a></h3>
|
||||||
<p>The <code class="docutils literal notranslate"><span class="pre">rnprobe</span></code> utility lets you probe a destination for connectivity, similar
|
<p>The <code class="docutils literal notranslate"><span class="pre">rnprobe</span></code> utility lets you probe a destination for connectivity, similar
|
||||||
to the <code class="docutils literal notranslate"><span class="pre">ping</span></code> program. Please note that probes will only be answered if the
|
to the <code class="docutils literal notranslate"><span class="pre">ping</span></code> program. Please note that probes will only be answered if the
|
||||||
specified destination is configured to send proofs for received packets. Many
|
specified destination is configured to send proofs for received packets. Many
|
||||||
|
@ -325,7 +502,7 @@ optional arguments:
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="the-rncp-utility">
|
<section id="the-rncp-utility">
|
||||||
<h3>The rncp Utility<a class="headerlink" href="#the-rncp-utility" title="Permalink to this heading">¶</a></h3>
|
<h3>The rncp Utility<a class="headerlink" href="#the-rncp-utility" title="Permalink to this heading">#</a></h3>
|
||||||
<p>The <code class="docutils literal notranslate"><span class="pre">rncp</span></code> utility is a simple file transfer tool. Using it, you can transfer
|
<p>The <code class="docutils literal notranslate"><span class="pre">rncp</span></code> utility is a simple file transfer tool. Using it, you can transfer
|
||||||
files through Reticulum.</p>
|
files through Reticulum.</p>
|
||||||
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span># Run rncp on the receiving system, specifying which identities
|
<div class="highlight-text notranslate"><div class="highlight"><pre><span></span># Run rncp on the receiving system, specifying which identities
|
||||||
|
@ -362,7 +539,7 @@ optional arguments:
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="the-rnx-utility">
|
<section id="the-rnx-utility">
|
||||||
<h3>The rnx Utility<a class="headerlink" href="#the-rnx-utility" title="Permalink to this heading">¶</a></h3>
|
<h3>The rnx Utility<a class="headerlink" href="#the-rnx-utility" title="Permalink to this heading">#</a></h3>
|
||||||
<p>The <code class="docutils literal notranslate"><span class="pre">rnx</span></code> utility is a basic remote command execution program. It allows you to
|
<p>The <code class="docutils literal notranslate"><span class="pre">rnx</span></code> utility is a basic remote command execution program. It allows you to
|
||||||
execute commands on remote systems over Reticulum, and to view returned command
|
execute commands on remote systems over Reticulum, and to view returned command
|
||||||
output.</p>
|
output.</p>
|
||||||
|
@ -419,12 +596,12 @@ optional arguments:
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section id="improving-system-configuration">
|
<section id="improving-system-configuration">
|
||||||
<h2>Improving System Configuration<a class="headerlink" href="#improving-system-configuration" title="Permalink to this heading">¶</a></h2>
|
<h2>Improving System Configuration<a class="headerlink" href="#improving-system-configuration" title="Permalink to this heading">#</a></h2>
|
||||||
<p>If you are setting up a system for permanent use with Reticulum, there is a
|
<p>If you are setting up a system for permanent use with Reticulum, there is a
|
||||||
few system configuration changes that can make this easier to administrate.
|
few system configuration changes that can make this easier to administrate.
|
||||||
These changes will be detailed here.</p>
|
These changes will be detailed here.</p>
|
||||||
<section id="fixed-serial-port-names">
|
<section id="fixed-serial-port-names">
|
||||||
<h3>Fixed Serial Port Names<a class="headerlink" href="#fixed-serial-port-names" title="Permalink to this heading">¶</a></h3>
|
<h3>Fixed Serial Port Names<a class="headerlink" href="#fixed-serial-port-names" title="Permalink to this heading">#</a></h3>
|
||||||
<p>On a Reticulum instance with several serial port based interfaces, it can be
|
<p>On a Reticulum instance with several serial port based interfaces, it can be
|
||||||
beneficial to use the fixed device names for the serial ports, instead
|
beneficial to use the fixed device names for the serial ports, instead
|
||||||
of the dynamically allocated shorthands such as <code class="docutils literal notranslate"><span class="pre">/dev/ttyUSB0</span></code>. Under most
|
of the dynamically allocated shorthands such as <code class="docutils literal notranslate"><span class="pre">/dev/ttyUSB0</span></code>. Under most
|
||||||
|
@ -452,7 +629,7 @@ might be plugged and unplugged in different orders, or when device name
|
||||||
assignment varies from one boot to another.</p>
|
assignment varies from one boot to another.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="reticulum-as-a-system-service">
|
<section id="reticulum-as-a-system-service">
|
||||||
<span id="using-systemd"></span><h3>Reticulum as a System Service<a class="headerlink" href="#reticulum-as-a-system-service" title="Permalink to this heading">¶</a></h3>
|
<span id="using-systemd"></span><h3>Reticulum as a System Service<a class="headerlink" href="#reticulum-as-a-system-service" title="Permalink to this heading">#</a></h3>
|
||||||
<p>Instead of starting Reticulum manually, you can install <code class="docutils literal notranslate"><span class="pre">rnsd</span></code> as a system
|
<p>Instead of starting Reticulum manually, you can install <code class="docutils literal notranslate"><span class="pre">rnsd</span></code> as a system
|
||||||
service and have it start automatically at boot.</p>
|
service and have it start automatically at boot.</p>
|
||||||
<p>If you installed Reticulum with <code class="docutils literal notranslate"><span class="pre">pip</span></code>, the <code class="docutils literal notranslate"><span class="pre">rnsd</span></code> program will most likely
|
<p>If you installed Reticulum with <code class="docutils literal notranslate"><span class="pre">pip</span></code>, the <code class="docutils literal notranslate"><span class="pre">rnsd</span></code> program will most likely
|
||||||
|
@ -498,16 +675,62 @@ WantedBy=multi-user.target
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
</article>
|
||||||
<div class="clearer"></div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div class="related-pages">
|
||||||
|
<a class="next-page" href="understanding.html">
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Next</span>
|
||||||
|
</div>
|
||||||
|
<div class="title">Understanding Reticulum</div>
|
||||||
|
</div>
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
</a>
|
||||||
|
<a class="prev-page" href="gettingstartedfast.html">
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Previous</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title">Getting Started Fast</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-of-page">
|
||||||
|
<div class="left-details">
|
||||||
|
<div class="copyright">
|
||||||
|
Copyright © 2022, Mark Qvist
|
||||||
|
</div>
|
||||||
|
Generated with <a href="https://www.sphinx-doc.org/">Sphinx</a> and
|
||||||
|
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-details">
|
||||||
|
<div class="icons">
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
</footer>
|
||||||
<div class="sphinxsidebarwrapper">
|
</div>
|
||||||
<div>
|
<aside class="toc-drawer">
|
||||||
<h3><a href="index.html">Table of Contents</a></h3>
|
|
||||||
<ul>
|
|
||||||
|
<div class="toc-sticky toc-scroll">
|
||||||
|
<div class="toc-title-container">
|
||||||
|
<span class="toc-title">
|
||||||
|
On this page
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="toc-tree-container">
|
||||||
|
<div class="toc-tree">
|
||||||
|
<ul>
|
||||||
<li><a class="reference internal" href="#">Using Reticulum on Your System</a><ul>
|
<li><a class="reference internal" href="#">Using Reticulum on Your System</a><ul>
|
||||||
<li><a class="reference internal" href="#configuration-data">Configuration & Data</a></li>
|
<li><a class="reference internal" href="#configuration-data">Configuration & Data</a></li>
|
||||||
<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>
|
||||||
|
@ -528,57 +751,21 @@ WantedBy=multi-user.target
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<h4>Previous topic</h4>
|
|
||||||
<p class="topless"><a href="gettingstartedfast.html"
|
|
||||||
title="previous chapter">Getting Started Fast</a></p>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h4>Next topic</h4>
|
|
||||||
<p class="topless"><a href="understanding.html"
|
|
||||||
title="next chapter">Understanding Reticulum</a></p>
|
|
||||||
</div>
|
|
||||||
<div role="note" aria-label="source link">
|
|
||||||
<h3>This Page</h3>
|
|
||||||
<ul class="this-page-menu">
|
|
||||||
<li><a href="_sources/using.rst.txt"
|
|
||||||
rel="nofollow">Show Source</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
</aside>
|
||||||
<h3>Navigation</h3>
|
</div>
|
||||||
<ul>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<li class="right" style="margin-right: 10px">
|
<script src="_static/jquery.js"></script>
|
||||||
<a href="genindex.html" title="General Index"
|
<script src="_static/underscore.js"></script>
|
||||||
>index</a></li>
|
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/doctools.js"></script>
|
||||||
<a href="understanding.html" title="Understanding Reticulum"
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
>next</a> |</li>
|
<script src="_static/scripts/furo.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/clipboard.min.js"></script>
|
||||||
<a href="gettingstartedfast.html" title="Getting Started Fast"
|
<script src="_static/copybutton.js"></script>
|
||||||
>previous</a> |</li>
|
</body>
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">Using Reticulum on Your System</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="footer" role="contentinfo">
|
|
||||||
© Copyright 2022, Mark Qvist.
|
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.2.2.
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
|
@ -1,51 +1,228 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html class="no-js" lang="en">
|
||||||
|
<head><meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||||
|
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||||
|
<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" />
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<meta name="generator" content="sphinx-5.2.2, furo 2022.09.29"/>
|
||||||
|
<title>What is Reticulum? - Reticulum Network Stack 0.3.12 beta documentation</title>
|
||||||
<html lang="en">
|
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||||
<head>
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=d81277517bee4d6b0349d71bb2661d4890b5617c" />
|
||||||
<meta charset="utf-8" />
|
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
|
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="_static/custom.css" />
|
||||||
<title>What is Reticulum? — Reticulum Network Stack 0.3.12 beta documentation</title>
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
|
||||||
<link rel="stylesheet" type="text/css" href="_static/classic.css" />
|
|
||||||
|
|
||||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
|
||||||
<script src="_static/jquery.js"></script>
|
|
||||||
<script src="_static/underscore.js"></script>
|
|
||||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
|
||||||
<script src="_static/doctools.js"></script>
|
|
||||||
<script src="_static/sphinx_highlight.js"></script>
|
|
||||||
|
|
||||||
<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" />
|
|
||||||
</head><body>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
|
||||||
<h3>Navigation</h3>
|
|
||||||
<ul>
|
|
||||||
<li class="right" style="margin-right: 10px">
|
|
||||||
<a href="genindex.html" title="General Index"
|
|
||||||
accesskey="I">index</a></li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="gettingstartedfast.html" title="Getting Started Fast"
|
|
||||||
accesskey="N">next</a> |</li>
|
|
||||||
<li class="right" >
|
|
||||||
<a href="index.html" title="Reticulum Network Stack Manual"
|
|
||||||
accesskey="P">previous</a> |</li>
|
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">What is Reticulum?</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="document">
|
|
||||||
<div class="documentwrapper">
|
<style>
|
||||||
<div class="bodywrapper">
|
body {
|
||||||
<div class="body" role="main">
|
--color-code-background: #f8f8f8;
|
||||||
|
--color-code-foreground: black;
|
||||||
<section id="what-is-reticulum">
|
|
||||||
<h1>What is Reticulum?<a class="headerlink" href="#what-is-reticulum" title="Permalink to this heading">¶</a></h1>
|
}
|
||||||
|
@media not print {
|
||||||
|
body[data-theme="dark"] {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
body:not([data-theme="light"]) {
|
||||||
|
--color-code-background: #202020;
|
||||||
|
--color-code-foreground: #d0d0d0;
|
||||||
|
--color-background-primary: #202b38;
|
||||||
|
--color-background-secondary: #161f27;
|
||||||
|
--color-foreground-primary: #dbdbdb;
|
||||||
|
--color-foreground-secondary: #a9b1ba;
|
||||||
|
--color-brand-primary: #41adff;
|
||||||
|
--color-background-hover: #161f27;
|
||||||
|
--color-api-name: #ffbe85;
|
||||||
|
--color-api-pre-name: #efae75;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style></head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
||||||
|
<symbol id="svg-toc" viewBox="0 0 24 24">
|
||||||
|
<title>Contents</title>
|
||||||
|
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
|
||||||
|
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-menu" viewBox="0 0 24 24">
|
||||||
|
<title>Menu</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
|
||||||
|
<line x1="3" y1="12" x2="21" y2="12"></line>
|
||||||
|
<line x1="3" y1="6" x2="21" y2="6"></line>
|
||||||
|
<line x1="3" y1="18" x2="21" y2="18"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
|
||||||
|
<title>Expand</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
|
||||||
|
<polyline points="9 18 15 12 9 6"></polyline>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun" viewBox="0 0 24 24">
|
||||||
|
<title>Light mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
|
||||||
|
<circle cx="12" cy="12" r="5"></circle>
|
||||||
|
<line x1="12" y1="1" x2="12" y2="3"></line>
|
||||||
|
<line x1="12" y1="21" x2="12" y2="23"></line>
|
||||||
|
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
|
||||||
|
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
|
||||||
|
<line x1="1" y1="12" x2="3" y2="12"></line>
|
||||||
|
<line x1="21" y1="12" x2="23" y2="12"></line>
|
||||||
|
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
|
||||||
|
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-moon" viewBox="0 0 24 24">
|
||||||
|
<title>Dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||||
|
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
<symbol id="svg-sun-half" viewBox="0 0 24 24">
|
||||||
|
<title>Auto light/dark mode</title>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
||||||
|
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
|
||||||
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
|
||||||
|
<circle cx="12" cy="12" r="9" />
|
||||||
|
<path d="M13 12h5" />
|
||||||
|
<path d="M13 15h4" />
|
||||||
|
<path d="M13 18h1" />
|
||||||
|
<path d="M13 9h4" />
|
||||||
|
<path d="M13 6h1" />
|
||||||
|
</svg>
|
||||||
|
</symbol>
|
||||||
|
</svg>
|
||||||
|
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
|
||||||
|
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
|
||||||
|
<label class="overlay sidebar-overlay" for="__navigation">
|
||||||
|
<div class="visually-hidden">Hide navigation sidebar</div>
|
||||||
|
</label>
|
||||||
|
<label class="overlay toc-overlay" for="__toc">
|
||||||
|
<div class="visually-hidden">Hide table of contents sidebar</div>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page">
|
||||||
|
<header class="mobile-header">
|
||||||
|
<div class="header-left">
|
||||||
|
<label class="nav-overlay-icon" for="__navigation">
|
||||||
|
<div class="visually-hidden">Toggle site navigation sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="header-center">
|
||||||
|
<a href="index.html"><div class="brand">Reticulum Network Stack 0.3.12 beta documentation</div></a>
|
||||||
|
</div>
|
||||||
|
<div class="header-right">
|
||||||
|
<div class="theme-toggle-container theme-toggle-header">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-header-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<aside class="sidebar-drawer">
|
||||||
|
<div class="sidebar-container">
|
||||||
|
|
||||||
|
<div class="sidebar-sticky"><a class="sidebar-brand centered" href="index.html">
|
||||||
|
|
||||||
|
<div class="sidebar-logo-container">
|
||||||
|
<img class="sidebar-logo" src="_static/rns_logo_512.png" alt="Logo"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span class="sidebar-brand-text">Reticulum Network Stack 0.3.12 beta documentation</span>
|
||||||
|
|
||||||
|
</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 type="hidden" name="check_keywords" value="yes">
|
||||||
|
<input type="hidden" name="area" value="default">
|
||||||
|
</form>
|
||||||
|
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
|
||||||
|
<ul class="current">
|
||||||
|
<li class="toctree-l1 current current-page"><a class="current reference internal" href="#">What is Reticulum?</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="gettingstartedfast.html">Getting Started Fast</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="using.html">Using Reticulum on Your System</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="understanding.html">Understanding Reticulum</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="hardware.html">Communications Hardware</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="interfaces.html">Supported Interfaces</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="networks.html">Building Networks</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="examples.html">Code Examples</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="support.html">Support Reticulum</a></li>
|
||||||
|
</ul>
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="reference.html">API Reference</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
<div class="main">
|
||||||
|
<div class="content">
|
||||||
|
<div class="article-container">
|
||||||
|
<a href="#" class="back-to-top muted-link">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||||
|
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
|
||||||
|
</svg>
|
||||||
|
<span>Back to top</span>
|
||||||
|
</a>
|
||||||
|
<div class="content-icon-container">
|
||||||
|
<div class="theme-toggle-container theme-toggle-content">
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
|
||||||
|
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
|
||||||
|
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
|
||||||
|
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<label class="toc-overlay-icon toc-content-icon" for="__toc">
|
||||||
|
<div class="visually-hidden">Toggle table of contents sidebar</div>
|
||||||
|
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<article role="main">
|
||||||
|
<section id="what-is-reticulum">
|
||||||
|
<h1>What is Reticulum?<a class="headerlink" href="#what-is-reticulum" title="Permalink to this heading">#</a></h1>
|
||||||
<p>Reticulum is a cryptography-based networking stack for building wide-area
|
<p>Reticulum is a cryptography-based networking stack for building wide-area
|
||||||
networks with readily available hardware, that can continue to operate even
|
networks with readily available hardware, that can continue to operate even
|
||||||
with extremely low bandwidth and very high latency.</p>
|
with extremely low bandwidth and very high latency.</p>
|
||||||
|
@ -63,14 +240,14 @@ networks.</p>
|
||||||
userland, and can run on practically any system that runs Python 3. Reticulum
|
userland, and can 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>Reticulum should currently be considered beta software. All core protocol
|
<p>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.</p>
|
considered 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>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p>Coordination-less globally unique addressing and identification</p></li>
|
<li><p>Coordination-less globally unique addressing and identification</p></li>
|
||||||
<li><p>Fully self-configuring multi-hop routing</p></li>
|
<li><p>Fully self-configuring multi-hop routing</p></li>
|
||||||
|
@ -106,7 +283,7 @@ considered stable at the moment, but could change if absolutely warranted.</p>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
<section id="where-can-reticulum-be-used">
|
<section id="where-can-reticulum-be-used">
|
||||||
<h2>Where can Reticulum be Used?<a class="headerlink" href="#where-can-reticulum-be-used" title="Permalink to this heading">¶</a></h2>
|
<h2>Where can Reticulum be Used?<a class="headerlink" href="#where-can-reticulum-be-used" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Over practically any medium that can support at least a half-duplex channel
|
<p>Over practically any medium that can support at least a half-duplex channel
|
||||||
with 500 bits per second throughput, and an MTU of 500 bytes. Data radios,
|
with 500 bits per second throughput, and an MTU of 500 bytes. Data radios,
|
||||||
modems, LoRa radios, serial lines, AX.25 TNCs, amateur radio digital modes,
|
modems, LoRa radios, serial lines, AX.25 TNCs, amateur radio digital modes,
|
||||||
|
@ -128,7 +305,7 @@ network can communicate with nodes on the LoRa and packet radio sides of the
|
||||||
network, and vice versa.</p>
|
network, and vice versa.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="interface-types-and-devices">
|
<section id="interface-types-and-devices">
|
||||||
<h2>Interface Types and Devices<a class="headerlink" href="#interface-types-and-devices" title="Permalink to this heading">¶</a></h2>
|
<h2>Interface Types and Devices<a class="headerlink" href="#interface-types-and-devices" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Reticulum implements a range of generalised interface types that covers the communications hardware that Reticulum can run over. If your hardware is not supported, it’s relatively simple to implement an interface class. Currently, Reticulum can use the following devices and communication mediums:</p>
|
<p>Reticulum implements a range of generalised interface types that covers the communications hardware that Reticulum can run over. If your hardware is not supported, it’s relatively simple to implement an interface class. Currently, Reticulum can use the following devices and communication mediums:</p>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><p>Any Ethernet device</p>
|
<li><p>Any Ethernet device</p>
|
||||||
|
@ -166,7 +343,7 @@ network, and vice versa.</p>
|
||||||
<p>For a full list and more details, see the <a class="reference internal" href="interfaces.html#interfaces-main"><span class="std std-ref">Supported Interfaces</span></a> chapter.</p>
|
<p>For a full list and more details, see the <a class="reference internal" href="interfaces.html#interfaces-main"><span class="std std-ref">Supported Interfaces</span></a> chapter.</p>
|
||||||
</section>
|
</section>
|
||||||
<section id="caveat-emptor">
|
<section id="caveat-emptor">
|
||||||
<h2>Caveat Emptor<a class="headerlink" href="#caveat-emptor" title="Permalink to this heading">¶</a></h2>
|
<h2>Caveat Emptor<a class="headerlink" href="#caveat-emptor" title="Permalink to this heading">#</a></h2>
|
||||||
<p>Reticulum is an experimental networking stack, and should be considered as
|
<p>Reticulum is an experimental networking stack, and should be considered as
|
||||||
such. While it has been built with cryptography best-practices very foremost in
|
such. While it has been built with cryptography best-practices very foremost in
|
||||||
mind, it has not been externally security audited, and there could very well be
|
mind, it has not been externally security audited, and there could very well be
|
||||||
|
@ -176,16 +353,62 @@ want to help out, or help sponsor an audit, please do get in touch.</p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
</article>
|
||||||
<div class="clearer"></div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
<div class="related-pages">
|
||||||
|
<a class="next-page" href="gettingstartedfast.html">
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Next</span>
|
||||||
|
</div>
|
||||||
|
<div class="title">Getting Started Fast</div>
|
||||||
|
</div>
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
</a>
|
||||||
|
<a class="prev-page" href="index.html">
|
||||||
|
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
|
||||||
|
<div class="page-info">
|
||||||
|
<div class="context">
|
||||||
|
<span>Previous</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="title">Home</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-of-page">
|
||||||
|
<div class="left-details">
|
||||||
|
<div class="copyright">
|
||||||
|
Copyright © 2022, Mark Qvist
|
||||||
|
</div>
|
||||||
|
Generated with <a href="https://www.sphinx-doc.org/">Sphinx</a> and
|
||||||
|
<a href="https://github.com/pradyunsg/furo">Furo</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-details">
|
||||||
|
<div class="icons">
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
</footer>
|
||||||
<div class="sphinxsidebarwrapper">
|
</div>
|
||||||
<div>
|
<aside class="toc-drawer">
|
||||||
<h3><a href="index.html">Table of Contents</a></h3>
|
|
||||||
<ul>
|
|
||||||
|
<div class="toc-sticky toc-scroll">
|
||||||
|
<div class="toc-title-container">
|
||||||
|
<span class="toc-title">
|
||||||
|
On this page
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="toc-tree-container">
|
||||||
|
<div class="toc-tree">
|
||||||
|
<ul>
|
||||||
<li><a class="reference internal" href="#">What is Reticulum?</a><ul>
|
<li><a class="reference internal" href="#">What is Reticulum?</a><ul>
|
||||||
<li><a class="reference internal" href="#current-status">Current Status</a></li>
|
<li><a class="reference internal" href="#current-status">Current Status</a></li>
|
||||||
<li><a class="reference internal" href="#what-does-reticulum-offer">What does Reticulum Offer?</a></li>
|
<li><a class="reference internal" href="#what-does-reticulum-offer">What does Reticulum Offer?</a></li>
|
||||||
|
@ -196,57 +419,21 @@ want to help out, or help sponsor an audit, please do get in touch.</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<h4>Previous topic</h4>
|
|
||||||
<p class="topless"><a href="index.html"
|
|
||||||
title="previous chapter">Reticulum Network Stack Manual</a></p>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<h4>Next topic</h4>
|
|
||||||
<p class="topless"><a href="gettingstartedfast.html"
|
|
||||||
title="next chapter">Getting Started Fast</a></p>
|
|
||||||
</div>
|
|
||||||
<div role="note" aria-label="source link">
|
|
||||||
<h3>This Page</h3>
|
|
||||||
<ul class="this-page-menu">
|
|
||||||
<li><a href="_sources/whatis.rst.txt"
|
|
||||||
rel="nofollow">Show Source</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div id="searchbox" style="display: none" role="search">
|
|
||||||
<h3 id="searchlabel">Quick search</h3>
|
|
||||||
<div class="searchformwrapper">
|
|
||||||
<form class="search" action="search.html" method="get">
|
|
||||||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
|
||||||
<input type="submit" value="Go" />
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearer"></div>
|
|
||||||
</div>
|
|
||||||
<div class="related" role="navigation" aria-label="related navigation">
|
</aside>
|
||||||
<h3>Navigation</h3>
|
</div>
|
||||||
<ul>
|
</div><script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||||
<li class="right" style="margin-right: 10px">
|
<script src="_static/jquery.js"></script>
|
||||||
<a href="genindex.html" title="General Index"
|
<script src="_static/underscore.js"></script>
|
||||||
>index</a></li>
|
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/doctools.js"></script>
|
||||||
<a href="gettingstartedfast.html" title="Getting Started Fast"
|
<script src="_static/sphinx_highlight.js"></script>
|
||||||
>next</a> |</li>
|
<script src="_static/scripts/furo.js"></script>
|
||||||
<li class="right" >
|
<script src="_static/clipboard.min.js"></script>
|
||||||
<a href="index.html" title="Reticulum Network Stack Manual"
|
<script src="_static/copybutton.js"></script>
|
||||||
>previous</a> |</li>
|
</body>
|
||||||
<li class="nav-item nav-item-0"><a href="index.html">Reticulum Network Stack 0.3.12 beta documentation</a> »</li>
|
|
||||||
<li class="nav-item nav-item-this"><a href="">What is Reticulum?</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="footer" role="contentinfo">
|
|
||||||
© Copyright 2022, Mark Qvist.
|
|
||||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.2.2.
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
|
@ -0,0 +1,24 @@
|
||||||
|
h3 {
|
||||||
|
margin-top: 1.75rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
code.literal {
|
||||||
|
padding-left: 0.25rem !important;
|
||||||
|
padding-right: 0.25rem !important;
|
||||||
|
padding-top: 0.25rem !important;
|
||||||
|
padding-bottom: 0.15rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
img[src*="if_mode_graph_b.png"] {
|
||||||
|
background-color: rgb(169, 177, 186);
|
||||||
|
}
|
||||||
|
|
||||||
|
dt.sig {
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
margin-top: 1.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.bottom-of-page div.left-details:not(:first-child) {
|
||||||
|
display: none !important;
|
||||||
|
}
|
|
@ -1,9 +1,3 @@
|
||||||
# Configuration file for the Sphinx documentation builder.
|
|
||||||
#
|
|
||||||
# This file only contains a selection of the most common options. For a full
|
|
||||||
# list see the documentation:
|
|
||||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
|
||||||
|
|
||||||
# -- Path setup --------------------------------------------------------------
|
# -- Path setup --------------------------------------------------------------
|
||||||
|
|
||||||
# If extensions (or modules to document with autodoc) are in another directory,
|
# If extensions (or modules to document with autodoc) are in another directory,
|
||||||
|
@ -14,9 +8,7 @@ import os
|
||||||
import sys
|
import sys
|
||||||
sys.path.insert(0, os.path.abspath('../..'))
|
sys.path.insert(0, os.path.abspath('../..'))
|
||||||
|
|
||||||
|
|
||||||
# -- Project information -----------------------------------------------------
|
# -- Project information -----------------------------------------------------
|
||||||
|
|
||||||
project = 'Reticulum Network Stack'
|
project = 'Reticulum Network Stack'
|
||||||
copyright = '2022, Mark Qvist'
|
copyright = '2022, Mark Qvist'
|
||||||
author = 'Mark Qvist'
|
author = 'Mark Qvist'
|
||||||
|
@ -25,15 +17,10 @@ author = 'Mark Qvist'
|
||||||
import RNS
|
import RNS
|
||||||
release = RNS._version.__version__+" beta"
|
release = RNS._version.__version__+" beta"
|
||||||
|
|
||||||
|
|
||||||
# -- General configuration ---------------------------------------------------
|
# -- General configuration ---------------------------------------------------
|
||||||
|
|
||||||
# Add any Sphinx extension module names here, as strings. They can be
|
|
||||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
|
||||||
# ones.
|
|
||||||
extensions = [
|
extensions = [
|
||||||
"sphinx.ext.autodoc",
|
"sphinx.ext.autodoc",
|
||||||
#'sphinx.ext.autosectionlabel',
|
"sphinx_copybutton",
|
||||||
]
|
]
|
||||||
|
|
||||||
autodoc_member_order = "bysource"
|
autodoc_member_order = "bysource"
|
||||||
|
@ -52,17 +39,58 @@ exclude_patterns = []
|
||||||
|
|
||||||
|
|
||||||
# -- Options for HTML output -------------------------------------------------
|
# -- Options for HTML output -------------------------------------------------
|
||||||
|
html_show_sphinx = True
|
||||||
|
html_theme = "furo"
|
||||||
|
html_logo = "graphics/rns_logo_512.png"
|
||||||
|
html_theme_options = {
|
||||||
|
"top_of_page_button": None,
|
||||||
|
# "footer_icons": [
|
||||||
|
# {
|
||||||
|
# "name": "GitHub",
|
||||||
|
# "url": "https://github.com/markqvist/reticulum",
|
||||||
|
# "html": """
|
||||||
|
# <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 16 16">
|
||||||
|
# <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path>
|
||||||
|
# </svg>
|
||||||
|
# """,
|
||||||
|
# "class": "",
|
||||||
|
# },
|
||||||
|
# ],
|
||||||
|
"dark_css_variables": {
|
||||||
|
"color-background-primary": "#202b38",
|
||||||
|
"color-background-secondary": "#161f27",
|
||||||
|
"color-foreground-primary": "#dbdbdb",
|
||||||
|
"color-foreground-secondary": "#a9b1ba",
|
||||||
|
"color-brand-primary": "#41adff",
|
||||||
|
"color-background-hover": "#161f27",
|
||||||
|
"color-api-name": "#ffbe85",
|
||||||
|
"color-api-pre-name": "#efae75",
|
||||||
|
},
|
||||||
|
# "announcement": "Announcement content",
|
||||||
|
}
|
||||||
|
|
||||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
html_static_path = ["_static"]
|
||||||
# a list of builtin themes.
|
html_css_files = [
|
||||||
#
|
'custom.css',
|
||||||
html_theme = "classic"
|
]
|
||||||
|
|
||||||
|
# html_theme = "pydata_sphinx_theme"
|
||||||
|
# html_theme_options = {
|
||||||
|
# "navbar_start": ["navbar-logo"],
|
||||||
|
# "navbar_center": ["navbar-nav"],
|
||||||
|
# "navbar_end": ["navbar-icon-links"],
|
||||||
|
# "navbar_align": "left",
|
||||||
|
# "left_sidebar_end": [],
|
||||||
|
# "show_nav_level": 5,
|
||||||
|
# "navigation_depth": 5,
|
||||||
|
# "collapse_navigation": True,
|
||||||
|
# }
|
||||||
|
# html_sidebars = {
|
||||||
|
# "**": ["sidebar-nav-bs"]
|
||||||
|
# }
|
||||||
# Add any paths that contain custom static files (such as style sheets) here,
|
# Add any paths that contain custom static files (such as style sheets) here,
|
||||||
# relative to this directory. They are copied after the builtin static files,
|
# relative to this directory. They are copied after the builtin static files,
|
||||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||||
html_static_path = ["_static"]
|
|
||||||
|
|
||||||
|
|
||||||
# def check_skip_member(app, what, name, obj, skip, options):
|
# def check_skip_member(app, what, name, obj, skip, options):
|
||||||
# print(what, " | ", name, " | ", obj, " | ", skip, " | ", options)
|
# print(what, " | ", name, " | ", obj, " | ", skip, " | ", options)
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 85 KiB |
|
@ -5,6 +5,11 @@ This manual aims to provide you with all the information you need to
|
||||||
understand Reticulum, build networks or develop programs using it, or
|
understand Reticulum, build networks or develop programs using it, or
|
||||||
to participate in the development of Reticulum itself.
|
to participate in the development of Reticulum itself.
|
||||||
|
|
||||||
|
.. only:: html
|
||||||
|
|
||||||
|
Table Of Contents
|
||||||
|
=================
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 3
|
:maxdepth: 3
|
||||||
|
|
||||||
|
@ -16,9 +21,13 @@ to participate in the development of Reticulum itself.
|
||||||
interfaces
|
interfaces
|
||||||
networks
|
networks
|
||||||
examples
|
examples
|
||||||
reference
|
|
||||||
support
|
support
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
|
||||||
|
reference
|
||||||
|
|
||||||
|
|
||||||
.. only:: html
|
.. only:: html
|
||||||
|
|
||||||
|
|
|
@ -5,11 +5,8 @@
|
||||||
*************
|
*************
|
||||||
API Reference
|
API Reference
|
||||||
*************
|
*************
|
||||||
This chapter lists and explains all classes exposed by the Reticulum Network Stack API, along with their methods and usage. It can be used as a reference while writing applications that utilise Reticulum, or read in entirity to gain an understanding of the complete functionality of RNS from a developers perspective.
|
Communication over Reticulum networks is achieved by using a simple set of classes exposed by the RNS API.
|
||||||
|
This chapter lists and explains all classes exposed by the Reticulum Network Stack API, along with their method signatures and usage. It can be used as a reference while writing applications that utilise Reticulum, or it can be read in entirity to gain an understanding of the complete functionality of RNS from a developers perspective.
|
||||||
Classes
|
|
||||||
=========================
|
|
||||||
Communication over a Reticulum network is achieved using a set of classes exposed by the RNS API.
|
|
||||||
|
|
||||||
.. _api-reticulum:
|
.. _api-reticulum:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue