# TorChat - A completely decentralized P2P chat network operating over Tor
---- **Decentralized. Private. Undeniable.** TorChat is the anti-censorship chat layer for the underground internet. Secure, unstoppable, and anonymous β this is what messaging shouldβve always been. --- ## π Overview TorChat is a fully decentralized, Tor-based messaging protocol and chat client built for total freedom of speech and association. There are no servers, no corporate intermediaries, no identity leaks β only encrypted peer-to-peer communication over the Tor network. - β **End-to-End Encryption** (ECC, ECDH + ChaCha20Poly1305) - β **gRPC over Onion**: High-performance communication via Tor - β **Offline Message Persistence** via trusted forwarders - β **Signed Identity Graphs** for trust bootstrapping - β **Federated Group Chats** with on-chain moderation rules - β **Forward secrecy, metadata protection**, and more... --- ## π¦ Features | Feature | Status | Description | |----------------------------------|-----------|-------------| | π End-to-End Encryption | β | Uses Ed25519 keys and modern AEAD for message security | | π§ Onion Routed gRPC | β | gRPC over SOCKS5 for strong anonymity and multiplexed streams | | π¬ Asynchronous Delivery | π οΈ | Store-and-forward routing via trusted nodes with spam prevention | | π₯ Group Messaging | π οΈ | Federated group identity, roles, voting, moderation | | π§ Identity Reputation Layer | π οΈ | Web-of-trust over signed attestations | | π Anti-Spam ZK Proofs | π‘ Idea | Messages must include ZK token to prove identity stake or PoW | | π§© Modular Plugin System | π‘ Idea | Add bots, bridges (e.g., IRC, XMPP), file sharing, media channels | | π» Cross-Platform Client | β | Built in Dart/Flutter with native Rust crypto backend | | πΎ IPFS-Backed Message Vault | π‘ Idea | Optionally enable message history vaulting in IPFS bundles | | βοΈ Scriptable Automation | π‘ Idea | Autoresponders, programmable agents, trading bots... | --- ## π Roadmap ### πΉ Phase 1 β Core Protocol (MVP) - [x] Onion-based transport (Tor SOCKS5 support) - [x] Peer discovery (via embedded seed node list + gossip) - [x] Identity model (Ed25519 keys, signature attestations) - [x] Chat session establishment (ECDH, gRPC) - [ ] Forwarding protocol for offline delivery - [ ] Basic CLI and Flutter-based UI client - [ ] Minimal spam prevention via time-locked messaging ### πΈ Phase 2 β Social Layer - [ ] Group chat architecture - [ ] Group-level moderation: bans, mutes, admin rotation - [ ] Identity trust graphs (signed attestations) - [ ] Optional profile metadata (bio, avatar, etc.) stored off-chain ### π» Phase 3 β Extension & Hardening - [ ] Native emoji, file attachments, stickers - [ ] Message expiration & disappearing chats - [ ] Optional censorship-resistant history via IPFS - [ ] βStealthβ mode: make node unreachable except via invite ### πΊ Phase 4 β Plug-in & Monetization - [ ] Plugin framework (Rust or Dart) - [ ] Bot scripting: p2p trading, atomic swaps, moderation - [ ] Integration with Monero-based payments - [ ] Tokenless (or optional stake-based) spam control --- ## π οΈ Tech Stack - **Frontend:** Flutter (Dart) - **Backend Protocol:** gRPC over Tor (SOCKS5 proxy) - **Encryption:** Ed25519, ECDH, ChaCha20Poly1305 - **Persistence:** Dart/Rust hybrid binary - **Decentralization:** Tor hidden services, optionally dHT or gossip relay - **Identity Model:** Public keys signed by other peers in attestations --- ## π Project Structure ``` TorChat/ βββ lib/ # Flutter/Dart client βββ proto/ # gRPC protospecs βββ rust/ # Rust backend (crypto, networking, etc.) βββ tor/ # Tor bootstrapping and routing code βββ seednode/ # Optional seednode bootstrap peer (only required until network consensus is well established) βββ README.md ``` --- ## π Security Philosophy TorChat is designed for real-world censorship resistance. That means: - Metadata-resistant communication - No third-party servers - Forward secrecy - Optional multi-device support via per-device keys - Message padding / traffic obfuscation (future) --- ## π Vision We want TorChat to become *the* base layer for p2p chat β Something like if **Briar**, **Session**, and **Monero** had a privacy-focused lovechild. No app store bans. No governments blocking traffic. No KYC. Just pure encrypted messages flying across an anonymous mesh of nodes. --- ## π€ Get Involved - Open a [discussion](https://foss.haveno.com/haveno-network/haveno-core/discussions) - Submit issues or ideas - Contribute to the protocol spec or write plugins - Help us build bridges to other networks --- ## π§ Inspired by - [Tor Project](https://www.torproject.org/) - [Monero](https://www.getmonero.org/) - [Haveno](https://haveno.com) - [Session](https://getsession.org/) - [Nym](https://nymtech.net/) - [Matrix](https://matrix.org/) - [Briar](https://briarproject.org/) ## π License AGPLv3+ β because freedom is viral.