
TorChat - टोर नेटवर्क पर सुरक्षित, निजी और गुमनाम पीयर-टू-पीयर चैट
Tor नेटवर्क पर सुरक्षित, निजी और गुमनाम पीयर-टू-पीयर चैट।
TorChat वाकई बहुत बढ़िया है। इसमें कुछ बेहतरीन चीज़ें हैं जो दूसरों के पास नहीं हैं।
स्थायी पते (permanent addresses) का उपयोग करने वाली मानक Tor चैट प्रणालियों के विपरीत, यह कार्यान्वयन पूरी तरह से क्षणिक (ephemeral) है।
शून्य स्थिरता (Zero Persistence): सर्वर एक अस्थायी हिडन सर्विस बनाता है। सत्र समाप्त होते ही, .onion पता हटा दिया जाता है और इसे पुनर्प्राप्त या पुन: उपयोग नहीं किया जा सकता।
हाइब्रिड आर्किटेक्चर: मैंने देखा कि Tor सेवा होस्ट करना आमतौर पर उपयोगकर्ताओं के लिए सबसे कठिन हिस्सा होता है। इसे हल करने के लिए, सर्वर मोड एक एम्बेडेड Tor प्रोसेस का उपयोग करता है जिसमें किसी कॉन्फ़िगरेशन की आवश्यकता नहीं होती। क्लाइंट मोड सरलता से उस Tor इंस्टेंस से जुड़ता है जो आपके पास संभवतः पहले से है (जैसे Tor Browser)। मतलब सिस्टम Tor का उपयोग करता है।
सरल सुरक्षा: मैंने एन्क्रिप्शन के लिए ChaCha20-Poly1305 चुना। यह अधिकांश हार्डवेयर पर AES से तेज़ है और इसमें अंतर्निहित प्रमाणीकरण (authentication) होता है, जिसका अर्थ है कि यदि आपके संदेश का एक भी बिट ट्रांज़िट के दौरान छेड़छाड़ किया जाता है, तो ऐप उसे अस्वीकार कर देता है।
हाँ, 🔏 के साथ डिज़ाइन किया गया।
नोट: ChaCha20-Poly1305 एक प्रमाणित एन्क्रिप्शन विथ एसोसिएटेड डेटा (AEAD) एल्गोरिदम है, जो ChaCha20 स्ट्रीम साइफर को Poly1305 संदेश प्रमाणीकरण कोड के साथ जोड़ता है। इसका सॉफ्टवेयर प्रदर्शन तेज़ होता है, और हार्डवेयर एक्सेलेरेशन के बिना, यह आमतौर पर AES-GCM से तेज़ होता है।
स्रोत: https://en.wikipedia.org/wiki/ChaCha20-Poly1305 https://protonvpn.com/blog/chacha20
स्वचालित सेटअप (Automatic Setup): आपको नेटवर्क विशेषज्ञ होने की आवश्यकता नहीं है। सर्वर Tor हैंडशेक संभालता है और आपके लिए स्वचालित रूप से गुप्त .onion पता बनाता है।
स्व-विनाशकारी निमंत्रण (Self-Destructing Invites): निमंत्रण एक अंतर्निहित टाइमर के साथ आते हैं। लिंक केवल 10 मिनट के लिए काम करता है; यदि तब तक कोई शामिल नहीं होता, तो "दरवाज़ा" हमेशा के लिए बंद हो जाता है।
QR कोड साझाकरण (QR Code Sharing): 56-अक्षरों वाला onion पता टाइप करने के बजाय (जिसमें गलती करना आसान है), होस्ट मेहमान को स्कैन करने के लिए केवल एक QR कोड दिखा सकता है।
दो-तरफ़ा बातचीत (फुल-डुप्लेक्स मोड): Python थ्रेड्स का उपयोग करके, दोनों लोग एक ही समय में संदेश टाइप और प्राप्त कर सकते हैं, बिना दूसरे व्यक्ति के समाप्त करने की प्रतीक्षा किए।
पूर्ण विलोपन (Total Erasure): यह टूल क्षणिक (ephemeral) है। इसका मतलब है कि यह कोई निशान नहीं छोड़ता। कोई लॉग, कोई इतिहास और कोई सहेजी गई फ़ाइलें नहीं होतीं। एक बार जब आप चैट बंद कर देते हैं, तो पता और संदेश ऐसे गायब हो जाते हैं जैसे वे कभी अस्तित्व में ही नहीं थे।
TorChat एक Tor आर्किटेक्चर का उपयोग करता है, सर्वोत्तम उपयोगकर्ता अनुभव के लिए:
शून्य निर्भरताएँ - एम्बेडेड Tor का उपयोग करता है
आप बस AppImage चला सकते हैं। AppImage के लिए आपको कोई सेटअप करने की आवश्यकता नहीं है।
./TorChat-x86_64.AppImage
# Choose: [1] Host chat (Server)
Tor की आवश्यकता है - सिस्टम Tor या Tor Browser का उपयोग करता है
अधिकांश लोगों के पास यह चीज़ पहले से ही है, उम्मीद है।
विकल्प A: Tor Browser का उपयोग करना (सबसे आसान)
# 1. First you need to open the Tor Browser because it gives you a SOCKS proxy that works on port 9150 which's the Tor Browser.
# 2. Run TorChat client
./TorChat-x86_64.AppImage
# Choose: [2] Connect to peer (Client)
विकल्प B: सिस्टम Tor का उपयोग करना
# 1. Install and start system Tor
sudo apt install tor [ debian ]
sudo pacman -S tor [ arch ]
To start the tor service you need to use the following command:
sudo systemctl start tor.
This will get the tor service up and running. You have to use the tor service if you want to use tor. The command sudo
systemctl start tor
is what you should type to start tor.
# 2. Run TorChat client
./TorChat-x86_64.AppImage
# Choose: [2] Connect to peer (Client)
व्यक्ति 1 (होस्ट):
chmod +x TorChat-x86_64.AppImage
./TorChat-x86_64.AppImage # Choose [1] Server
# Share the invite URL/QR code
व्यक्ति 2 (जुड़ें):
# Open Tor Browser first, then:
./TorChat-x86_64.AppImage # Choose [2] Client
# Paste the invite URL
यदि आप सोचते हैं कि आप एक बढ़िया डेवलपर हैं तो यह आपके लिए है।
Python 3.7+
सिस्टम Tor (केवल क्लाइंट मोड के लिए)
git clone https://github.com/blackXploit-404/torchat.git
cd torchat
python -m venv torchat
source torchat/bin/activate
pip install -r requirements.txt
सर्वर (होस्ट):
python3 server.py
# This uses embedded Tor, so no setup is needed
क्लाइंट (जुड़ें):
# Start system Tor first
python3 client.py
एन्क्रिप्शन प्रवाह:
एक साझा गुप्त कुंजी (shared secret) को SHA256 का उपयोग करके हैश किया जाता है ताकि 32-बाइट कुंजी बनाई जा सके।
प्रत्येक संदेश के लिए, एक यादृच्छिक 12-बाइट नॉन्स (nonce) उत्पन्न किया जाता है।
संदेश एन्क्रिप्ट किया जाता है, और नॉन्स को डेटा के आगे जोड़ा जाता है।
प्राप्तकर्ता पहले 12 बाइट्स निकालता है और उन्हें डिक्रिप्शन के लिए नॉन्स के रूप में उपयोग करता है।
नेटवर्किंग:
सर्वर: 127.0.0.1:5000 से बाइंड होता है, जिसे Tor एक सार्वजनिक .onion पते पर मैप करता है।
क्लाइंट: Tor सर्किट के माध्यम से TCP कनेक्शन को टनल करने के लिए SOCKS5 प्रोटोकॉल का उपयोग करता है।
┌─────────────────┐ ┌─────────────────┐
│ SERVER MODE │ │ CLIENT MODE │
├─────────────────┤ ├─────────────────┤
│ Embedded Tor │ │ System Tor │
│ - Tor process │◄──►│ - SOCKS proxy │
│ - Hidden service│ │ - Port 9050/9150│
│ - No dependencies│ │ - Existing Tor │
└─────────────────┘ └─────────────────┘
SENDER SIDE:
User Message: "Hello World"
│
▼
┌─────────────────────┐
│ ChaCha20-Poly1305 │
│ Encryption Engine │
├─────────────────────┤
│ Key: SHA256(secret) │
│ Nonce: 12 random │
│ Plaintext: message │
└─────────────────────┘
│
▼
Encrypted Bytes: [nonce + ciphertext + auth_tag]
│
▼
┌─────────────────────┐
│ Tor Network │
│ (3-hop anonymity) │
└─────────────────────┘
RECEIVER SIDE:
I got some encrypted bytes. These encrypted bytes were received. The encrypted bytes are now here.
│
▼
┌─────────────────────┐
│ ChaCha20-Poly1305 │
│ Decryption Engine │
├─────────────────────┤
│ Key: SHA256(secret) │
│ Nonce: extract │
│ Verify: auth_tag │
└─────────────────────┘
│
▼
Decrypted Message: "Hello World"
HOST TOR NETWORK CLIENT
┌─────────┐ ┌───┐ ┌───┐ ┌───┐ ┌─────────┐
│Embedded │───────────▶│ A │───▶│ B │───▶ │ C │◄─────│ System|│
│ Tor │ │ │ │ │ │ │ │ Tor │
└─────────┘ └───┘ └───┘ └───┘ └─────────┘
│ Entry Middle Exit │
│ Node Node Node │
▼ ▼
.onion Address 3-Hop Encrypted Circuit SOCKS5 Proxy
-साझा गुप्त कुंजी (shared secret)। यह विधि एक पासवर्ड का उपयोग करती है जो पहले से सेट है और फिलहाल इसका उपयोग करना ठीक है।
कोई उपयोगकर्ता प्रमाणीकरण नहीं। जिस किसी को भी निमंत्रण URL मिल जाता है वह शामिल हो सकता है।
कोई संदेश इतिहास नहीं। संदेश किसी भी स्थान पर संग्रहीत नहीं होते। इसका मतलब है कि जब आप कोई संदेश भेजते हैं तो वह कहीं भी सहेजा नहीं जाता। संदेश सहेजे नहीं जाते, इसलिए आप उन्हें बाद में देख नहीं पाएँगे। सिस्टम संदेशों के साथ इसी तरह काम करता है। संदेश किसी भी भंडारण में नहीं रखे जाते, वे बस होते हैं। फिर वे गायब हो जाते हैं।
निमंत्रण समाप्ति - सुरक्षा के लिए निमंत्रण समाप्त हो जाते हैं (डिफ़ॉल्ट 10 मिनट)
# Embedded Tor (Server)
DataDirectory /tmp/tor_chat_xyz/
HiddenServiceDir /tmp/tor_chat_xyz/hidden_service/
HiddenServicePort 5000 127.0.0.1:5000
SocksPort 0 # Disabled for server
# System Tor (Client)
SocksPort 9050
# Default system configuration
"Address not found": उपयोगकर्ताओं को याद दिलाएँ कि Tor नेटवर्क को नया .onion डिस्क्रिप्टर प्रकाशित करने के लिए 30–60 सेकंड प्रतीक्षा करनी चाहिए।
"Connection timed out": Tor सेवा की स्थिति और नेटवर्क कनेक्टिविटी की जाँच करने का सुझाव दें।
sudo systemctl status tor
अब इसमें इससे कहीं अधिक विशेषताएँ हैं

TorChat का उद्देश्य कानूनी गोपनीयता-संवर्धन संचार है। जिम्मेदारी से उपयोग करें और स्थानीय कानूनों का पालन करें।
यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत लाइसेंस प्राप्त है। विवरण के लिए LICENSE देखें।
TorChat को बेहतर बनाना चाहते हैं? योगदान का स्वागत है!