mirror of
https://github.com/markqvist/Reticulum.git
synced 2024-11-26 15:30:18 +00:00
Compare commits
1 Commits
a1d94d9b6e
...
bff99e71ee
Author | SHA1 | Date | |
---|---|---|---|
|
bff99e71ee |
@ -1768,6 +1768,8 @@ def main():
|
|||||||
print("")
|
print("")
|
||||||
print("[5] Prototype v2.2 RNode, 410 - 525 MHz")
|
print("[5] Prototype v2.2 RNode, 410 - 525 MHz")
|
||||||
print("[6] Prototype v2.2 RNode, 820 - 1020 MHz")
|
print("[6] Prototype v2.2 RNode, 820 - 1020 MHz")
|
||||||
|
# print("[5] Prototype v2 RNode, 410 - 525 MHz")
|
||||||
|
# print("[6] Prototype v2 RNode, 820 - 1020 MHz")
|
||||||
print("\n? ", end="")
|
print("\n? ", end="")
|
||||||
try:
|
try:
|
||||||
c_model = int(input())
|
c_model = int(input())
|
||||||
@ -1809,7 +1811,7 @@ def main():
|
|||||||
else:
|
else:
|
||||||
print("\nWhat model is this T3S3?\n")
|
print("\nWhat model is this T3S3?\n")
|
||||||
print("[1] 410 - 525 MHz (with SX1268 chip)")
|
print("[1] 410 - 525 MHz (with SX1268 chip)")
|
||||||
print("[2] 820 - 1020 MHz (with SX1262 chip)")
|
print("[2] 820 - 1020 MHz (with SX1268 chip)")
|
||||||
print("\n? ", end="")
|
print("\n? ", end="")
|
||||||
try:
|
try:
|
||||||
c_model = int(input())
|
c_model = int(input())
|
||||||
@ -2632,7 +2634,7 @@ def main():
|
|||||||
"--flash_freq", "80m",
|
"--flash_freq", "80m",
|
||||||
"--flash_size", "4MB",
|
"--flash_size", "4MB",
|
||||||
"0xe000", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3.boot_app0",
|
"0xe000", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3.boot_app0",
|
||||||
"0x0", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3.bootloader",
|
"0x1000", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3.bootloader",
|
||||||
"0x10000", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3.bin",
|
"0x10000", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3.bin",
|
||||||
"0x210000",UPD_DIR+"/"+selected_version+"/console_image.bin",
|
"0x210000",UPD_DIR+"/"+selected_version+"/console_image.bin",
|
||||||
"0x8000", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3.partitions",
|
"0x8000", UPD_DIR+"/"+selected_version+"/rnode_firmware_t3s3.partitions",
|
||||||
@ -2772,7 +2774,6 @@ def main():
|
|||||||
if args.eeprom_wipe:
|
if args.eeprom_wipe:
|
||||||
RNS.log("WARNING: EEPROM is being wiped! Power down device NOW if you do not want this!")
|
RNS.log("WARNING: EEPROM is being wiped! Power down device NOW if you do not want this!")
|
||||||
rnode.wipe_eeprom()
|
rnode.wipe_eeprom()
|
||||||
rnode.hard_reset()
|
|
||||||
exit()
|
exit()
|
||||||
|
|
||||||
RNS.log("Reading EEPROM...")
|
RNS.log("Reading EEPROM...")
|
||||||
@ -3188,10 +3189,6 @@ def main():
|
|||||||
RNS.log("No signing key found")
|
RNS.log("No signing key found")
|
||||||
exit()
|
exit()
|
||||||
|
|
||||||
if model == ROM.MODEL_A1 or model == ROM.MODEL_A6:
|
|
||||||
rnode.hard_reset()
|
|
||||||
RNS.log("Waiting for ESP32 reset...")
|
|
||||||
time.sleep(6.5)
|
|
||||||
|
|
||||||
RNS.log("Bootstrapping device EEPROM...")
|
RNS.log("Bootstrapping device EEPROM...")
|
||||||
|
|
||||||
@ -3244,8 +3241,6 @@ def main():
|
|||||||
partition_hash = get_partition_hash(UPD_DIR+"/"+selected_version+"/"+partition_filename)
|
partition_hash = get_partition_hash(UPD_DIR+"/"+selected_version+"/"+partition_filename)
|
||||||
|
|
||||||
if partition_hash != None:
|
if partition_hash != None:
|
||||||
time.sleep(0.75)
|
|
||||||
RNS.log("Setting firmware checksum...")
|
|
||||||
rnode.set_firmware_hash(partition_hash)
|
rnode.set_firmware_hash(partition_hash)
|
||||||
|
|
||||||
rnode.hard_reset()
|
rnode.hard_reset()
|
||||||
|
@ -180,29 +180,29 @@ and :ref:`Interfaces<interfaces-main>` chapters of this manual.
|
|||||||
Connecting Reticulum Instances Over the Internet
|
Connecting Reticulum Instances Over the Internet
|
||||||
================================================
|
================================================
|
||||||
Reticulum currently offers two interfaces suitable for connecting instances over the Internet: :ref:`TCP<interfaces-tcps>`
|
Reticulum currently offers two interfaces suitable for connecting instances over the Internet: :ref:`TCP<interfaces-tcps>`
|
||||||
and :ref:`I2P<interfaces-i2p>`. Each interface offers a different set of features, and Reticulum
|
and :ref:`I2P<interfaces-i2p>`. Each interface offers a different set of features, and Reticulum
|
||||||
users should carefully choose the interface which best suites their needs.
|
users should carefully choose the interface which best suites their needs.
|
||||||
|
|
||||||
The ``TCPServerInterface`` allows users to host an instance accessible over TCP/IP. This
|
The ``TCPServerInterface`` allows users to host an instance accessible over TCP/IP. This
|
||||||
method is generally faster, lower latency, and more energy efficient than using ``I2PInterface``,
|
method is generally faster, lower latency, and more energy efficient than using ``I2PInterface``,
|
||||||
however it also leaks more data about the server host.
|
however it also leaks more data about the server host.
|
||||||
|
|
||||||
TCP connections reveal the IP address of both your instance and the server to anyone who can
|
TCP connections reveal the IP address of both your instance and the server to anyone who can
|
||||||
inspect the connection. Someone could use this information to determine your location or identity. Adversaries
|
inspect the connection. Someone could use this information to determine your location or identity. Adversaries
|
||||||
inspecting your packets may be able to record packet metadata like time of transmission and packet size.
|
inspecting your packets may be able to record packet metadata like time of transmission and packet size.
|
||||||
Even though Reticulum encrypts traffic, TCP does not, so an adversary may be able to use
|
Even though Reticulum encrypts traffic, TCP does not, so an adversary may be able to use
|
||||||
packet inspection to learn that a system is running Reticulum, and what other IP addresses connect to it.
|
packet inspection to learn that a system is running Reticulum, and what other IP addresses connect to it.
|
||||||
Hosting a publicly reachable instance over TCP also requires a publicly reachable IP address,
|
Hosting a publicly reachable instance over TCP also requires a publicly reachable IP address,
|
||||||
which most Internet connections don't offer anymore.
|
which most Internet connections don't offer anymore.
|
||||||
|
|
||||||
The ``I2PInterface`` routes messages through the `Invisible Internet Protocol
|
The ``I2PInterface`` routes messages through the `Invisible Internet Protocol
|
||||||
(I2P) <https://geti2p.net/en/>`_. To use this interface, users must also run an I2P daemon in
|
(I2P) <https://geti2p.net/en/>`_. To use this interface, users must also run an I2P daemon in
|
||||||
parallel to ``rnsd``. For always-on I2P nodes it is recommended to use `i2pd <https://i2pd.website/>`_.
|
parallel to ``rnsd``. For always-on I2P nodes it is recommended to use `i2pd <https://i2pd.website/>`_.
|
||||||
|
|
||||||
By default, I2P will encrypt and mix all traffic sent over the Internet, and
|
By default, I2P will encrypt and mix all traffic sent over the Internet, and
|
||||||
hide both the sender and receiver Reticulum instance IP addresses. Running an I2P node
|
hide both the sender and receiver Reticulum instance IP addresses. Running an I2P node
|
||||||
will also relay other I2P user's encrypted packets, which will use extra
|
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
|
bandwidth and compute power, but also makes timing attacks and other forms of
|
||||||
deep-packet-inspection much more difficult.
|
deep-packet-inspection much more difficult.
|
||||||
|
|
||||||
I2P also allows users to host globally available Reticulum instances from non-public IP's and behind firewalls and NAT.
|
I2P also allows users to host globally available Reticulum instances from non-public IP's and behind firewalls and NAT.
|
||||||
@ -415,7 +415,7 @@ locally on your device using the following command:
|
|||||||
|
|
||||||
It is also possible to include Reticulum in apps compiled and distributed as
|
It is also possible to include Reticulum in apps compiled and distributed as
|
||||||
Android APKs. A detailed tutorial and example source code will be included
|
Android APKs. A detailed tutorial and example source code will be included
|
||||||
here at a later point. Until then you can use the `Sideband source code <https://github.com/markqvist/sideband>`_ as an example and starting point.
|
here at a later point. Until then you can use the `Sideband source code <https://github.com/markqvist/sideband>`_ as an example and startig point.
|
||||||
|
|
||||||
|
|
||||||
ARM64
|
ARM64
|
||||||
@ -455,7 +455,7 @@ for including and using Reticulum in your own scripts and programs.
|
|||||||
|
|
||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
# Install pipx
|
# Install pipx
|
||||||
sudo apt install pipx
|
sudo apt install pipx
|
||||||
|
|
||||||
# Make installed programs available on the command line
|
# Make installed programs available on the command line
|
||||||
@ -489,7 +489,7 @@ for including and using Reticulum in your own scripts and programs.
|
|||||||
|
|
||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
# Install pipx
|
# Install pipx
|
||||||
sudo apt install pipx
|
sudo apt install pipx
|
||||||
|
|
||||||
# Make installed programs available on the command line
|
# Make installed programs available on the command line
|
||||||
|
Loading…
Reference in New Issue
Block a user