- Python 99.9%
|
|
||
|---|---|---|
| docs | Docs: Correct platform of Heltec T114 device | |
| Examples | Fixup comparisons with None | |
| LICENSES | Update Readme & add AGPL3+ license | |
| RNS | Link: Catch error if shared instance fails | |
| tests | Fixup comparisons with None | |
| .gitignore | Cleanup | |
| Changelog.md | Log via standard logging library | |
| LICENSE | Update Readme & add AGPL3+ license | |
| Makefile | Exclude built documentation from sdist | |
| README.md | Readme: Add discussion forum URL | |
| setup.py |
Reformat source files using ruff format
|
|
RetiNet
RetiNet is a library to allow your software to communicate securely in all kinds of situations. RetiNet extends the cryptography-based Reticulum Network to your device.
If you are just getting started, we recommend bookmarking this page and trying the graphical client MeshChat first. Come back to RetiNet if you have more advanced requirements.
The Reticulum Network was created by Mark Qvist and RetiNet started out as a fork of the Python 'rns' implementation.
RetiNet is distributed under the GNU Affero General Public License
Support
RetiNet is a volunteer project. If you have questions, please first read the Reticulum Manual and if you need further help, post a message in the discussion forum:
https://reticulum.zulipchat.com/ (Sponsored by Zulip. Thanks!)
Differences between RetiNet and 'rns'
Nodes running RetiNet should interoperate correctly with nodes running 'rns' v1.x
Logging is output via the Python standard logging library
AES-256 encryption has been implemented to enable connections to existing servers.
Software written to use the RNS API should operate the same way when used with RetiNet.
The focus of RetiNet is to increase the maintainability and testability of the codebase and increase the number of eyeballs on the code!
Contribute
Contributions are welcome and will be licensed under the AGPL. There is no requirement to assign copyright.
Please create an Issue or Pull Request for anything you feel can be improved.
No Python package is available yet but, after downloading the code, you can run a daemon with:
python3 -m RNS.Utilities.rnsd
Acknowledgements & Credits
RetiNet can only exist because of the mountain of Open Source work it was built on top of, the contributions of everyone involved, and everyone that has supported the project through the years. To everyone who has helped, thank you so much.
A number of other modules and projects are either part of, or used by RetiNet. Sincere thanks to the authors and contributors of the following projects:
- Reticulum by Mark Qvist
- PyCA/cryptography, BSD License
- Pure-25519 by Brian Warner, MIT License
- Pysha2 by Thom Dixon, MIT License
- Python-AES by Or Gur Arie, MIT License
- Curve25519.py by Nicko van Someren, Public Domain
- I2Plib by Viktor Villainov
- PySerial by Chris Liechti, BSD License
- Configobj by Michael Foord, Nicola Larosa, Rob Dennis & Eli Courtwright, BSD License
- ifaddr by Stefan C. Mueller, MIT License
- Umsgpack.py by Ivan A. Sergeev
- Python