diff --git a/docs/manual/_sources/gettingstartedfast.rst.txt b/docs/manual/_sources/gettingstartedfast.rst.txt index 7c8d79a..d2e32d4 100644 --- a/docs/manual/_sources/gettingstartedfast.rst.txt +++ b/docs/manual/_sources/gettingstartedfast.rst.txt @@ -71,6 +71,61 @@ you want more information, you can read the :ref:`Building Networks` chapters of this manual. +Bridging Over the Internet +============================================= +Reticulum currently offers two interfaces for connecting nodes over the internet: +`TCP `_ and `I2P `_. Each interface offers a different set of features, and Reticulum +users should carefully choose the interface which best suites their needs. + +The ``TCPServerInterface`` allows users to host a node accessible over TCP/IP. This +method is generally faster, lower latency, and more energy efficient than using ``I2PInterface``, however it leaks considerable +metadata about the server host. + +Direct TCP client connections are able to see your node's IP address and may be able +to use this information to determine your location or identity. Adversaries +inspecting your network's internet packets may be able to record packet metadata +like time of transmission and packet size. By default TCP does not encrypt traffic, +so unencrypted Reticulum packets will be transmitted in clear text. Hosting a +node via TCP server also requires a static IP address. + +The ``I2PInterface`` routes messages through the `Invisible Internet Protocol +(I2P) `_. To properly use this interface, users must also run an I2P daemon in +parallel to ``rnsd``. For always-on nodes it is recommended to use `i2pd `_ because it +generally runs more efficiently. + +By default, I2P will fully encrypt all traffic sent over the network, and +obfuscate both the sender's and receiver's IP addresses. Running an I2P node +will also relay other I2P user's encrypted packets, which will use extra +bandwidth and compute power, but also makes timing attacks and other forms of +deep-packet-inspection much more difficult. Similar to RNS, I2P uses cryptographic +public keys as destination addresses, which allows users to host nodes on non-static IPs. + +In general it is recommended to use an I2P node if you are hosting your node +publicly. + +There is a experimental public testnet you can join by adding the following +interfaces to your ``.reticulum/config`` file: + +.. code:: + + # For connecting over TCP/IP: + + [[RNS Testnet Frankfurt]] + type = TCPClientInterface + interface_enabled = yes + outgoing = True + target_host = frankfurt.rns.unsigned.io + target_port = 4965 + + + # For connecting over I2P: + + [[RNS Testnet I2P Node A]] + type = I2PInterface + interface_enabled = yes + peers = ykzlw5ujbaqc2xkec4cpvgyxj257wcrmmgkuxqmqcur7cq3w3lha.b32.i2p + + Develop a Program with Reticulum =========================================== If you want to develop programs that use Reticulum, the easiest way to get