A peer-to-peer, end-to-end encrypted messenger built with ❤️ in Rust.
Private. Offline-friendly. Hacker-vibe. No surveillance.
- 🔐 End-to-end encryption with
sodiumoxide
(NaCl/box) - 💬 Real-time chat via WebSocket
- 🧠 Public key generation and auto-saves
- 💾 Message history stored locally in
messages.json
- 📦 Manual
encrypt
/decrypt
CLI - 🧙 Telegram notifications for incoming messages
- 🦀 Written entirely in idiomatic Rust
Rust 1.75+
.env
file (for Telegram bot, optional)
TELEGRAM_TOKEN=123456789:ABCDefGhIjKlmnOpQrStUvWxYz
TELEGRAM_CHAT_ID=123456789
🧑💻 Run secure chat client:
cargo run -- client <your_username>
cargo run -- client Aliceclear
🔐 Encrypt a message for someone:
cargo run -- encrypt <recipient_username> "your secret text"
💡 Output is base64 payload — send it via any medium (email, carrier pigeon, Morse code).
🔓 Decrypt a message:
cargo run -- decrypt "<base64_payload>"
💡 Works if your private key (wormhole_keys.json) is present.
📜 Show local chat history:
cargo run -- history
💡 Prints out all previously decrypted messages.
- Each user has a .pk file (e.g. Aliceclear.pk) for easy encryption.
- Keys are automatically saved on first use.
- If a new user sends you a message — their public key is saved too.
On new messages, you get Telegram alerts in your private bot.
To use it:
- Create a Telegram bot via @BotFather
- Get your chat_id via /getUpdates
- Set the .env as above
✨ Mascot This project’s spirit animal is a Rust-powered wormhole core spirit 💫 A creature that lives in encrypted tunnels of hyperspace and delivers your secrets.
🦀 Powered by:
- tokio
- axum
- sodiumoxide
- tokio-tungstenite
- dotenv
- serde
- reqwest
💛 Made with rust and love by @digkill No tracking. No backend. Just ✨ encrypted p2p hyperspace.