14 releases
0.5.11 | Oct 31, 2024 |
---|---|
0.5.10 | Oct 30, 2024 |
0.5.8 | Aug 2, 2024 |
0.5.4 | Jul 15, 2024 |
0.3.0 | Feb 26, 2024 |
#36 in #overlay
460 downloads per month
Used in earendil-gui
350KB
8K
SLoC
About
Earendil is a decentralized, censorship-resistant packet-routing overlay network designed for performance and censorship resistance. It enables secure and private communication between nodes, even against powerful state-level adversaries.
Currently, the project is extremely early-stage and not ready to use. Stay tuned for updates!
Key Features
- Robust censorship resistance
- Confederal, non-egalitarian topology
- Decentralized, sybil-resistant incentives based on micropayments
- User-tunable anonymity/performance tradeoff
User documentation
Detailed info can be found in the Earendil documentation.
Developers
Layout of the crate
This repository is laid out as a Cargo workspace.
The primary, "root" crate is earendil
, the primary daemon intended to be run on any machine that wishes to access Earendil (similar to the tor
daemon for Tor).
Other crates live in libraries/
:
earendil_packet
implements structs for the Earendil packet format at different layers of the protocol, such as the onion-encrypted mixnet format and the format that carries the end-to-end application messages.earendil_topology
implements functionality for Earendil's relay graph, including helper functions for gossip
Overall, we follow an architecture where the crates in libraries/
avoid doing any I/O, and instead implement data types. Actual communication is done by the earendil
daemon.
Quick example
See the docs
Dependencies
~64–105MB
~2M SLoC