GhostChat is a terminal-based P2P chat application that uses Tor Onion Services for anonymity and GPG for end-to-end encryption. It allows you to chat with friends securely without relying on central servers.
- Anonymous: Uses Tor Onion Services (Hidden Services) or I2P to hide your IP address.
- Secure: End-to-End Encrypted using GPG (RSA 2048-bit).
- P2P: Direct connection to your friend's onion or i2p address.
- Friend Management: Whitelist-based friend system using GPG keys.
- Image Sharing: Send and receive images securely.
- Groupchats: Create, manage, and delete private group conversations.
- Persistent Sessions: "Enter" a chat or group to talk naturally without repeating commands.
- Local Discovery: Scan your local network (WiFi) to find other GhostChat users.
- Network Agnostic: Switch between Tor, I2P, or use both simultaneously.
- Persistent Chat Sessions: No more typing
/chatfor every message! Enter a "room" with/chat <name>or/gc_chat <name>and talk freely. Use/gobackto exit. - Full Groupchat Suite: Create (
/gc_create), Chat (/gc_chat), Kick members (/gc_kick), and Delete groups (/gc_delete). - I2P & Multi-Network Support: Switch between Tor and I2P or use
bothfor maximum delivery reliability. - Local Network Discovery: Use
/scanto find peers on your current WiFi for "nearby" chatting without sharing onion addresses first. - Image Sharing: Send images with
/sendimg. Received images are automatically saved and opened. - Redesigned UI: A beautiful, categorized
/helpmenu and customizable terminal colors via/colors. - Better Navigation: Full arrow-key support for command editing and a
/clearcommand to keep your terminal tidy. - Termux Optimization: Improved bootstrap logic with a 10-minute timeout to ensure stable connections on mobile data.
- Python 3.x
- Tor:
pkg install tor(Termux) orsudo apt install tor(Linux). - GnuPG:
pkg install gnupg(Termux) orsudo apt install gnupg(Linux). - I2P (Optional): Requires
i2pdrunning for I2P features.
pip install -r requirements.txt- Start:
python ghostchat.py - Identify:
/myinfoshows your address. Share themy_key.ascfile with friends. - Connect:
/add <name> <address> <key_path> - Chat:
/chat <name>or/gc_chat <group_name>to enter a session. - Exit Session:
/gobackor/exitreturns you to the main menu. - Discover:
/scanto find users on your local WiFi.
For better security and to avoid GPG import conflicts, DO NOT store your friends' .asc key files inside the GhostChat main directory or the ghostchat_data folder.
Keep them in a separate folder (e.g., ~/Downloads/keys/) and provide the full path when using the /add command.
Fed's won't find us here.