| Crates.io | torchat |
| lib.rs | torchat |
| version | 0.1.0 |
| created_at | 2025-08-13 00:26:23.23859+00 |
| updated_at | 2025-08-13 00:26:23.23859+00 |
| description | Library for creating anonymous, end-to-end encrypted and authenticated chat applications |
| homepage | |
| repository | https://codeberg.org/jacklund/torchat-rs.git |
| max_upload_size | |
| id | 1793103 |
| size | 350,639 |
Pure Rust implementation of anonymous, authenticated, encrypted, peer-to-peer chat using Tor and iced.
We live in a world where, more and more, our personal communications, what we look at, read, who we talk to, are under surveillance, not just from governments, but from the social media companies. What we browse, who we talk to, what we talk about are increasingly under scrutiny. Governments are increasingly getting access to that information and acting on it, arresting, imprisoning, even deporting people for having the "wrong" opinions and interests.
Most "encrypted" chat applications (with the exception of Signal - if you're not using Signal, you really should be) are either vulnerable to attack, or are designed to allow the company that owns it to decrypt and share your chats when requested by a government.
Torchat uses encryption and protocols which have been demonstrated to be secure. It's peer-to-peer, so there is no central server which has any data of any kind about who is talking to whom. And, because it uses Tor onion services, your identity and location (IP address) are protected.
It allows you to create "identities" using Tor onion services. These services become what people connect to to talk to you. Since it's an onion service, your location and identity is completely hidden by the Tor network (hence, anonymous). The cryptographic private key used to create the onion service becomes your "identity" as far as the people in the chat are concerned. The connection to the peers you chat with is authenticated using that key, ensuring the people you chat with that it is, in fact, you (whether they know who you actually are or not is entirely up to you). The connection between peers is encrypted using the noise protocol.
You can also have as many identities as you like, you can use different identities for different contexts, or for different groups of people you want to talk to.
Note that this is an early version of Torchat, and it has not been audited for security vulnerabilities, so, for now, you should use it at your own risk.
Torchat-rs requires you to install Tor on your system, either via your OS's package manager or from the Tor site.
As far as installing torchat itself, for the moment, you'll need to build it yourself. It currently builds on Linux only, although the plan is to port it to other platforms once I get the time. You'll need to install Rust first, then:
git clone https://github.com/jacklund/torchat-rs.git
cd torchat-rs
cargo build
cargo run
Forthcoming...