Anonymous P2P Chat via Tor Hidden Service
TorChat is a simple, encrypted peer-to-peer chat that runs over the Tor network. It creates a hidden service so you can chat anonymously through the TOR network, perfect for private conversations, IRC groupchats or related.
- โ
Anonymous - Runs as a Tor hidden service with an
.onionaddress - โ P2P - Direct connections between users, designed to be 1v1 conversation but can be used as a chat, while one user acts as a server to host the hidden service.
- โ
Automatic installer - Includes Tor binary on repo for both UNIX and Windows, and if not available it autoinstalls based on OS, and also installs npm packages automatically
(only ws and socks-proxy-agent though), made to be easy for usage even with non-tech people. - โ Server customization - Set passwords for additional security besides the .onion address, making a second authentication required, also it is possible to be running multiple TOR services for the chat, this way you can have multiple torchats running if desired.
- Starts a Tor process in the background
- Creates a hidden service (
.onionaddress) - Sets up a WebSocket server on port 1337 (can be customizable)
- Connects to Tor's SOCKS proxy (port 19050 by default, customizable too)
- Generates and prints the service
.onionURL to share with others. - Tell your friends to clone the repo aswell, and use the node file to connect to your onion address provided.
# Clone the repo
git clone https://github.com/ARCANGEL0/tor-chat.git
cd tor-chat
# Run it as a server
node chat.js startThe script will:
- Check for Tor binary (if you clone the repo, it'll already come with TOR binaries)
- Install required npm packages (ws, socks-proxy-agent basically.)
- Start Tor and create hidden service
- Give you your
.onionaddress to share
After this, tell them to clone the repo aswell and use it to connect to your address.
git clone https://github.com/ARCANGEL0/tor-chat.git
cd tor-chat
node chat.js connect ws://torhiddenservicelink.onionAfter connecting, the user will be prompted the chat password you've defined, and then to select an username and then start chatting through TOR encryption!
- Node.js (v14+ recommended)
- npm (for auto-installing dependencies)