
TorChat - टोर नेटवर्क पर सुरक्षित, निजी और गुमनाम पीयर-टू-पीयर चैट
Tor नेटवर्क पर सुरक्षित, निजी और अनाम पीयर-टू-पीयर चैट।
TorChat वाकई बहुत बढ़िया है। इसमें कुछ ऐसी बढ़िया चीज़ें हैं जो दूसरों के पास नहीं हैं।
स्थायी पतों का उपयोग करने वाले सामान्य Tor चैट सिस्टम के विपरीत, यह कार्यान्वयन पूरी तरह से अस्थायी (ephemeral) है।
शून्य स्थायित्व: सर्वर एक अस्थायी हिडन सर्विस बनाता है। सत्र समाप्त होते ही, .onion पता हटा दिया जाता है और उसे पुनः प्राप्त या पुनः उपयोग नहीं किया जा सकता।
हाइब्रिड आर्किटेक्चर: मैंने देखा कि Tor सेवा होस्ट करना आमतौर पर उपयोगकर्ताओं के लिए सबसे कठिन हिस्सा होता है। इसे हल करने के लिए, सर्वर मोड एक एम्बेडेड Tor प्रक्रिया का उपयोग करता है जिसके लिए शून्य कॉन्फ़िगरेशन की आवश्यकता होती है। क्लाइंट मोड बस उस Tor इंस्टेंस से जुड़ जाता है जो संभवतः आपके पास पहले से है (जैसे Tor Browser)। इसका मतलब है कि यह सिस्टम tor का उपयोग करता है।
सरल सुरक्षा: मैंने एन्क्रिप्शन के लिए ChaCha20-Poly1305 चुना। यह अधिकांश हार्डवेयर पर AES से तेज़ है और अंतर्निहित प्रमाणीकरण प्रदान करता है, जिसका अर्थ है कि यदि ट्रांज़िट के दौरान आपके संदेश का एक भी बिट छेड़छाड़ किया जाता है, तो ऐप उसे अस्वीकार कर देता है।
हाँ, 🔏 के साथ डिज़ाइन किया गया।
नोट : ChaCha20-Poly1305 एक authenticated encryption with associated data (AEAD) एल्गोरिदम है, जो ChaCha20 स्ट्रीम सिफर को Poly1305 मैसेज ऑथेंटिकेशन कोड के साथ जोड़ता है।[1] इसका सॉफ्टवेयर प्रदर्शन तेज़ है, और हार्डवेयर एक्सेलेरेशन के बिना, यह आमतौर पर AES-GCM से तेज़ होता है।[1]: §B
स्रोत : https://en.wikipedia.org/wiki/ChaCha20-Poly1305 https://protonvpn.com/blog/chacha20
स्वचालित सेटअप: आपको नेटवर्क विशेषज्ञ होने की आवश्यकता नहीं है। सर्वर Tor हैंडशेक को संभालता है और आपके लिए स्वचालित रूप से गुप्त .onion पता बनाता है।
आमंत्रण लिंक: होस्ट को एक लिंक मिलता है जिसमें एक रैंडम 32-बाइट रूम सीक्रेट होता है। जिसके पास भी यह लिंक है वह जुड़ सकता है, अधिकतम 16 पीयर तक। होस्ट के छोड़ते ही लिंक काम करना बंद कर देता है और onion पता हटा दिया जाता है।
QR कोड शेयरिंग: 56-अक्षरों वाला onion पता टाइप करने के बजाय (जिसे गलत करना आसान है), होस्ट मेहमान के स्कैन करने के लिए बस एक QR कोड दिखा सकता है।
ग्रुप रूम: एक रूम में अधिकतम 16 लोग। होस्ट हर संदेश को बाकी सभी तक पहुँचाता है, और लोग किसी और के पूरा होने का इंतज़ार किए बिना एक साथ टाइप और प्राप्त कर सकते हैं।
विश्वसनीय डिलीवरी: एन्क्रिप्शन से पहले संदेशों को length-prefixed किया जाता है, इसलिए नेटवर्क इसे कितने भी टुकड़ों में बाँटे, संदेश सही ढंग से पुनः जोड़ा जाता है।
पूर्ण विलोपन: यह टूल अस्थायी है। इसका मतलब है कि यह कोई निशान नहीं छोड़ता। कोई लॉग नहीं, कोई इतिहास नहीं, और कोई सहेजी गई फ़ाइलें नहीं। एक बार जब आप चैट बंद करते हैं, तो पता और संदेश गायब हो जाते हैं जैसे कभी थे ही नहीं।
TorChat सर्वोत्तम उपयोगकर्ता अनुभव के लिए Tor आर्किटेक्चर का उपयोग करता है:
शून्य निर्भरताएँ - एम्बेडेड Tor का उपयोग करता है
आप बस AppImage चला सकते हैं। AppImage के लिए आपको कोई सेटअप करने की आवश्यकता नहीं है।
./TorChat-x86_64.AppImage
# Choose: [1] Host room (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] Join room (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] Join room (Client)
व्यक्ति 1 (होस्ट):
chmod +x TorChat-x86_64.AppImage
./TorChat-x86_64.AppImage # Choose [1] Server
# Share the invite URL/QR code
# Type /invite any time to print it again
व्यक्ति 2 (शामिल हों):
# Open Tor Browser first, then:
./TorChat-x86_64.AppImage # Choose [2] Client
# Paste the invite URL
# Repeat for as many people as you want in the room
अगर आपको लगता है कि आप कूल डेव हैं तो यह आपके लिए है।
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
एन्क्रिप्शन प्रवाह:
एक साझा सीक्रेट को SHA256 का उपयोग करके हैश किया जाता है ताकि 32-बाइट कुंजी बनाई जा सके।
प्रत्येक संदेश के लिए, एक रैंडम 12-बाइट nonce उत्पन्न किया जाता है।
संदेश एन्क्रिप्ट किया जाता है, और nonce को डेटा के आगे जोड़ा जाता है।
प्राप्तकर्ता डिक्रिप्शन के लिए 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 │
└─────────────────────┘