Skip to content
This repository has been archived by the owner on Nov 14, 2023. It is now read-only.
/ earendil Public archive
forked from mel-project/earendil

A decentralized, censorship-resistant, and incentive-compatible packet-routing overlay network

Notifications You must be signed in to change notification settings

GNU-Linux-libre/earendil

 
 

Repository files navigation

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

In one terminal window, run ./start_example.sh.

In another, run earendil control send-message --destination fhsg3742bwxmg3k14jdsbphdp22j119f 1 1 --message helloworld

Then run earendil control --connect 127.0.0.1:11111 recv-message

About

A decentralized, censorship-resistant, and incentive-compatible packet-routing overlay network

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.8%
  • Shell 0.2%