Open Sudo-Ivan opened 1 month ago
I support this effort, and agree with the conclusions made above. I moved from Meshtestic to rNode a while back and have done some of my own ATAK server work (a "superuser" node on an RPi Zero 2 w as a USB-C connected local "server", providing longer reach connectivity to normal users in range). I'm interested if this gets traction in GhostNet, and would be willing to help out.
One of the capabilities I like about Reticulum is the ability to do an off-line dump via sneaker-net (not just using IT systems or radios) - something that the Western NC event show would be useful, when people have to (but still can) walk in an out.
Thanks for reminding me, The offline features are very useful in certain situations.
Yes, reticulum will be integrated into this in the future. For now, a lot of content has to be made on it that explains how things work for the layperson, but it will be integrated at some point
What is the Reticulum Network Stack?
The Reticulum Network Stack is a decentralized cryptography-based network stack that allows communication over any medium, including HF/VHF/UHF, LoRa, Internet, and virtually anything if you create the software support for it. It supports low bandwidth, high latency networks, which is perfect for something like HF or LoRa.
There is still more work that needs to be done on the stack, and the cryptography needs to be reviewed by a professional. The purpose of this issue is to discuss how to implement it in the future.
How will it integrate with the GhostNet?
The stack can combine different mediums to achieve a wide range of coverage and complicate censorship efforts greatly.
Internet
The stack supports TCP/UDP (regular internet) and I2P (Invisible Internet Project), so a community network can be created to ensure censorship-resistant comms and exchange anything from files, memes, and voice messages. A TCP/I2P node would need to be created to allow users to find each other. The data is not decrypted at the server; if propagation is enabled, it can store encrypted messages for offline users for up to 30 days but the data remains encrypted until reaching the user.
A cheap VPS can be used to create the node for the network or self-hosted over I2P using something as cheap as a Raspberry Pi Zero W 2. However, users would need to install and setup I2P to be able to use that interface. Additional existing networks can be used as a backup if the node goes down. Even private networks can be created, and only those with the passphrase can join.
LoRa
Reticulum RNode provides LoRa support but requires a computer (such as a Raspberry Pi Zero W 2) as a full standalone version of the software in C++ is still a work in progress. This will allow groups to create private, secure groups and also combine with other interfaces like HF for long-range comms between RNode devices.
HF/VHF/UHF
In the event of a dire national emergency, and if necessary, secure comms can be established over radio to exchange sensitive information.
Someone has tested it over HF, here is a video: https://youtu.be/blwNVumLujc?si=vID7p5BuPvoIzIK7
Support for Other Communication Methods
A custom interface can be created to support really any communication method that at minimum supports half-duplex operation, provides an average throughput of 5 bits per second or greater, and supports a physical layer MTU of 500 bytes.
Communication possibilities
Chat
You can send messages, files, images and voice messages.
Propagation nodes store encrypted messages for offline users, this is of course optional and you need to set a propagation node or host your own.
Pages (Very minimal websites)
Any user can host a node and create a page using markup. Like this:
Even dynamic node generated pages using PHP, Python and bash.
Email
There is no email client yet, but it is very possible and potentially easy to build one that I might take on the task of creating it within the next few months if no one else does.
Voice
MeshChat and Sideband support exchanging voice messages and MeshChat has a calling feature so you can call other users on MeshChat, even over LoRa.
Offline Support
LXMF is the messaging format and delivery protocol built for the Reticulum Network Stack and it supports paper messages using QR codes or text-based URI. The messages remain encrypted, ensuring that only the intended recipient can read the contents.
ATAK and FreeTAK
Community members, including myself have talked about creating an ATAK integration.
The FreeTAK team as adopted Reticulum stack into their flock of parrots concept: https://matrix.to/#/!TRaVWNnQhAbvuiSnEK:matrix.org/$NSp9xNVnbFqG7ezLQGNTkmtVLyVV8bNssT65tq8q5lw?via=matrix.org&via=tchncs.de&via=matrix.minuteman-tech.net
Possible Issues Blocking Integration (as of 02 OCT 2024)
These are potential issues that may prevent adoption:
For users that want to test it now
Current nodes and users
Existing Apps
Meshchat - Web/Electron app NomadNet - Terminal Interface Sideband - Android and IOS Testflight
Awesome Reticulum
https://github.com/markqvist/Reticulum/wiki/Awesome-Reticulum
Manual, Videos and FAQ
I barely touched the surface of the stack and really suggest anyone who is interested read the full manual here: https://markqvist.github.io/Reticulum/manual/
If you want a short video explanation of the Reticulum Network Stack, I recommend checking out: https://www.youtube.com/watch?v=q8ltLt5SK6A
FAQ can be found here: https://github.com/markqvist/Reticulum/wiki/Frequently-Asked-Questions
Matrix Group for Reticulum
Join the official matrix room here: https://matrix.to/#/#reticulum:matrix.org
How am I contributing?
I am working on several bots, hardware encryption support (for Kryptor FPGA), donating, and also have some apps planned for the future. Occasionally I will do some security testing and make sure other projects are implementing best coding practices to prevent exploits.