
TorChat - محادثة آمنة وخاصة ومجهولة من نظير إلى نظير عبر شبكة Tor
محادثة نظير إلى نظير آمنة وخاصة ومجهولة الهوية عبر شبكة Tor.
TorChat رائع حقًا. لديه بعض الأشياء الرائعة التي لا يمتلكها الآخرون.
على عكس أنظمة محادثات Tor القياسية التي تستخدم عناوين دائمة، فإن هذا التطبيق عابر بالكامل.
انعدام الاستمرارية: يُنشئ الخادم خدمة مخفية مؤقتة. بمجرد انتهاء الجلسة، يُحذف عنوان .onion ولا يمكن استعادته أو إعادة استخدامه.
بنية هجينة: لاحظت أن استضافة خدمة Tor عادةً ما تكون الجزء الأصعب بالنسبة للمستخدمين. لحل هذه المشكلة، يستخدم وضع الخادم عملية Tor مدمجة لا تتطلب أي إعداد. أما وضع العميل فيتصل ببساطة بنسخة Tor التي من المحتمل أنك تمتلكها بالفعل (مثل Tor Browser). أي أنه يستخدم Tor النظام.
أمان بسيط: اخترت ChaCha20-Poly1305 للتشفير. إنه أسرع من AES على معظم الأجهزة ويوفر مصادقة مدمجة، مما يعني أنه إذا تم التلاعب ببت واحد من رسالتك أثناء النقل، يرفض التطبيق الرسالة.
نعم، مصمم بـ 🔏.
ملاحظة: ChaCha20-Poly1305 هي خوارزمية تشفير مُصادَق عليه مع بيانات مرتبطة (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: بدلاً من كتابة عنوان onion مكوّن من 56 حرفًا (وهو أمر يسهل الخطأ فيه)، يمكن للمضيف ببساطة عرض رمز QR ليقوم الضيف بمسحه.
غرف جماعية: حتى 16 شخصًا في غرفة واحدة. يقوم المضيف بتمرير كل رسالة إلى الجميع، ويمكن للأشخاص الكتابة والاستقبال في نفس الوقت دون انتظار انتهاء أي شخص آخر.
تسليم موثوق: تُضاف بادئة طول للرسائل قبل التشفير، بحيث تُعاد تجميع الرسالة بشكل صحيح بغض النظر عن كيفية تقسيم الشبكة لها إلى أجزاء.
محو كامل: هذه الأداة عابرة. هذا يعني أنها لا تترك أي آثار. لا توجد سجلات، ولا تاريخ، ولا ملفات محفوظة. بمجرد إغلاق المحادثة، يختفي العنوان والرسائل كما لو لم تكن موجودة.
يستخدم TorChat بنية Tor، للحصول على أفضل تجربة مستخدم:
بدون تبعيات - يستخدم Tor المدمج
يمكنك فقط تشغيل AppImage. لا يوجد أي إعداد تحتاج إلى القيام به لـ AppImage.
./TorChat-x86_64.AppImage
# Choose: [1] Host room (Server)
يتطلب Tor - يستخدم Tor النظام أو Tor Browser
معظم الناس يمتلكون هذا الشيء بالفعل نأمل ذلك.
الخيار أ: استخدام 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)
الخيار ب: استخدام 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 بايت.
لكل رسالة، يُولّد nonce عشوائي بحجم 12 بايت.
تُشفّر الرسالة، ويُضاف الـ nonce في مقدمة البيانات.
يقوم المستقبل بإزالة أول 12 بايت لاستخدامها كـ nonce لفك التشفير.
الشبكات:
الخادم: يرتبط بـ 127.0.0.1:5000، والذي يربطه Tor بعنوان .onion عام.
العميل: يستخدم بروتوكول SOCKS5 لنقل اتصال TCP عبر دائرة Tor.
┌─────────────────┐ ┌─────────────────┐
│ 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
-سر مشترك. تستخدم هذه الطريقة كلمة مرور مُعدّة مسبقًا ولا بأس باستخدامها في الوقت الحالي.
لا مصادقة للمستخدمين. يمكن لأي شخص يحصل على رابط الدعوة الانضمام.