8000 GitHub - rafabd1/ech0: Ech0 is a peer-to-peer encrypted messenger built in Rust. · GitHub
[go: up one dir, main page]

Skip to content

rafabd1/ech0

Repository files navigation

ech0

ech0

GPL-3.0 License Tauri Rust I2P

Ephemeral P2P encrypted messaging over I2P. No server, no accounts, no message persistence.


Properties

  • End-to-end encrypted - X3DH key agreement + Double Ratchet (ChaCha20-Poly1305)
  • Anonymous transport - all traffic routes through the embedded I2P router; no IPs exchanged
  • No persistence - messages live only in RAM, wiped by TTL or on demand
  • Self-contained - embedded I2P router, no external software required
  • No accounts - identity is ephemeral, generated fresh each session

How it works

On launch, ech0 starts an embedded I2P router and establishes an anonymous session. Once ready, a shareable ech0:// link is generated. Send it to your peer over any channel - when they paste it in, both sides perform an X3DH handshake over the I2P tunnel and begin exchanging encrypted messages.

Messages expire automatically by a configurable TTL (30s / 1m / 5m / session). The wipe button destroys all messages, session keys, and identity material immediately.

See ARCHITECTURE.md for the full cryptographic and transport design.


Demo

Connect

ech0-connect-demo

Chat

ech0-chat-demo


Releases

Pre-built binaries are published automatically via GitHub Actions on every version tag. Download the latest from the Releases page:

Platform Artifact
Windows ech0_*_x64-setup.exe (NSIS installer)
macOS ech0_*.dmg
Linux ech0_*_amd64.deb / .AppImage
Android app-universal-release-unsigned.apk

Building locally

Common requirements (all platforms)

Dependency note: emissary-util (the embedded I2P reseeder) requires a local patch for compatibility with Rust 1.77+. The patch lives in vendor/emissary-util/ and is wired up via [patch.crates-io] in src-tauri/Cargo.toml - no extra steps needed, Cargo picks it up automatically.


Desktop - Windows

Additional requirements:

.\scripts\build-windows.ps1

Output: src-tauri\target\release\bundle\nsis\ and \msi\


Desktop - macOS

Additional requirements:

  • Xcode Command Line Tools: xcode-select --install
chmod +x scripts/build.sh && ./scripts/build.sh

Output: src-tauri/target/release/bundle/dmg/


Desktop - Linux

Additional requirements:

sudo apt-get install -y \
  libwebkit2gtk-4.1-dev libssl-dev libgtk-3-dev \
  libayatana-appindicator3-dev librsvg2-dev
chmod +x scripts/build.sh && ./scripts/build.sh

Output: src-tauri/target/release/bundle/deb/ and /appimage/


Android

The Android build toolchain requires Linux. On Windows, use WSL2 (included with Windows 11; install via Microsoft Store on Windows 10).

Windows + WSL2 (one-liner setup)

# First time: WSL2 + Ubuntu 24.04 setup (run once)
wsl --install -d Ubuntu-24.04

# Then, every build:
.\scripts\build-android.ps1
.\scripts\build-android.ps1 -Debug   # debug APK

The PowerShell script automatically converts line endings and delegates to WSL. The bash script inside WSL installs all dependencies on first run (Node 20, JDK 17, Android SDK, NDK 27.2.12479018, Rust Android targets).

macOS / Linux / WSL bash shell

chmod +x scripts/build-android.sh
bash scripts/build-android.sh           # release APK
bash scripts/build-android.sh --debug   # debug APK

The script installs all Android prerequisites automatically. Only sudo password required for apt packages.

Output: src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release-unsigned.apk


Development mode

npm install
npm run tauri dev   # Vite + Tauri hot reload

Disclaimer

ech0 is designed to minimize data exposure through cryptographic and ephemeral messaging techniques. However, no software can provide absolute security against all forms of attack. Sophisticated adversaries with extensive resources, such as state-level actors, may have capabilities to compromise even well-designed systems. The app does not guarantee 100% protection against advanced attacks or unknown vulnerabilities.

ech0 is intended for legitimate privacy and security purposes. It should not be used for illegal activities. The developers do not endorse or encourage any malicious use of this software.


License

GPL-3.0. See LICENSE.

About

Ech0 is a peer-to-peer encrypted messenger built in Rust.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

0