
TorChat - محادثة آمنة وخاصة ومجهولة من نظير إلى نظير عبر شبكة Tor
دردشة آمنة وخاصة ومجهولة الهوية من نظير إلى نظير عبر شبكة Tor.
TorChat رائع حقًا. لديه بعض الميزات الرائعة التي لا يمتلكها غيره.
على عكس أنظمة الدردشة التقليدية عبر Tor التي تستخدم عناوين دائمة، فإن هذا التطبيق مؤقت بالكامل.
**عدم الثبات مطلقًا**: ينشئ الخادم خدمة مخفية مؤقتة. بمجرد انتهاء الجلسة، يتم حذف عنوان .onion بحيث لا يمكن استرداده أو إعادة استخدامه.
**بنية هجينة**: لاحظت أن استضافة خدمة Tor عادةً ما تكون الجزء الأصعب للمستخدمين. لحل هذه المشكلة، يستخدم وضع الخادم عملية Tor مدمجة لا تتطلب أي تهيئة. بينما يتصل وضع العميل بمثيل Tor الموجود لديك بالفعل (على سبيل المثال متصفح Tor). أي يستخدم 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 السري تلقائيًا نيابةً عنك.
دعوات التدمير الذاتي: تأتي الدعوات مع مؤقت مدمج. الرابط يعمل فقط لمدة 10 دقائق؛ إذا لم ينضم أحد بحلول ذلك الوقت، يُغلق "الباب" إلى الأبد.
مشاركة رمز QR: بدلًا من كتابة عنوان onion مكون من 56 حرفًا (وهو ما يسهل الخطأ فيه)، يمكن للمضيف عرض رمز QR فقط ليقوم الضيف بمسحه.
محادثة ثنائية الاتجاه (وضع الازدواج الكامل): باستخدام خيوط بايثون، يمكن لكلا الشخصين الكتابة واستقبال الرسائل في نفس الوقت دون انتظار الآخر للانتهاء.
المحو الكلي: هذه الأداة مؤقتة. هذا يعني أنها لا تترك أي آثار. لا توجد سجلات، ولا تاريخ، ولا ملفات محفوظة. بمجرد إغلاق الدردشة، يختفي العنوان والرسائل وكأنها لم تكن موجودة أبدًا.
يستخدم TorChat بنية Tor، للحصول على أفضل تجربة مستخدم:
بدون تبعيات - يستخدم Tor مدمجًا
يمكنك فقط تشغيل AppImage. لا يوجد أي إعداد تحتاج القيام به من أجل AppImage.
./TorChat-x86_64.AppImage
# اختر: [1] استضافة محادثة (خادم)
يتطلب Tor - يستخدم Tor النظام أو متصفح Tor
آمل أن معظم الناس لديهم هذا الشيء بالفعل.
الخيار أ: استخدام متصفح Tor (الأسهل)
# 1. أولاً، تحتاج إلى فتح متصفح Tor لأنه يوفر لك وكيل SOCKS يعمل على المنفذ 9150 وهو منفذ متصفح Tor.
# 2. قم بتشغيل عميل TorChat
./TorChat-x86_64.AppImage
# اختر: [2] الاتصال بالنظير (عميل)
الخيار ب: استخدام Tor النظام
# 1. قم بتثبيت وتشغيل Tor النظام
sudo apt install tor [ دبيان ]
sudo pacman -S tor [ أرش ]
لتشغيل خدمة tor، تحتاج إلى استخدام الأمر التالي:
sudo systemctl start tor.
سيؤدي هذا إلى تشغيل خدمة tor وجعلها تعمل. يجب عليك استخدام خدمة tor إذا كنت تريد استخدام tor. الأمر
sudo systemctl start tor
هو ما يجب كتابته لتشغيل tor.
# 2. قم بتشغيل عميل TorChat
./TorChat-x86_64.AppImage
# اختر: [2] الاتصال بالنظير (عميل)
الشخص 1 (المضيف):
chmod +x TorChat-x86_64.AppImage
./TorChat-x86_64.AppImage # اختر [1] خادم
# شارك رابط الدعوة / رمز QR
الشخص 2 (المنضم):
# افتح متصفح Tor أولاً، ثم:
./TorChat-x86_64.AppImage # اختر [2] عميل
# الصق رابط الدعوة
إذا كنت تعتقد أنك مطور رائع، فهذا من أجلك.
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
# هذا يستخدم Tor المدمج، لذلك لا حاجة لأي إعداد
العميل (المنضم):
# قم بتشغيل Tor النظام أولاً
python3 client.py
تدفق التشفير:
يتم تجزئة السر المشترك باستخدام SHA256 لإنشاء مفتاح بطول 32 بايت.
لكل رسالة، يتم إنشاء nonce عشوائي بطول 12 بايت.
يتم تشفير الرسالة، ويُسبق الـ nonce البيانات.
يقوم المستقبل بفصل أول 12 بايت لاستخدامها كـ nonce لفك التشفير.
الشبكات:
الخادم: يرتبط بـ 127.0.0.1:5000، والذي يقوم Tor بتعيينه إلى عنوان .onion عام.
العميل: يستخدم بروتوكول SOCKS5 لتوجيه اتصال TCP عبر دائرة Tor.
┌─────────────────┐ ┌─────────────────┐
│ وضع الخادم │ │ وضع العميل │
├─────────────────┤ ├─────────────────┤
│ Tor مدمج │ │ Tor النظام │
│ - عملية Tor │◄──►│ - وكيل SOCKS │
│ - خدمة مخفية │ │ - منفذ 9050/9150│
│ - بدون تبعيات │ │ - Tor موجود │
└─────────────────┘ └─────────────────┘
جانب المرسل:
رسالة المستخدم: "Hello World"
│
▼
┌─────────────────────┐
│ محرك تشفير │
│ ChaCha20-Poly1305 │
├─────────────────────┤
│ المفتاح: SHA256(سر)│
│ Nonce: 12 عشوائي │
│ النص العادي: رسالة│
└─────────────────────┘
│
▼
بايتات مشفرة: [nonce + ciphertext + auth_tag]
│
▼
┌─────────────────────┐
│ شبكة Tor │
│ (إخفاء بثلاث قفزات)│
└─────────────────────┘
جانب المستقبل:
استلمت بعض البايتات المشفرة. تم استقبال هذه البايتات المشفرة. البايتات المشفرة موجودة الآن.
│
▼
┌─────────────────────┐
│ محرك فك تشفير │
│ ChaCha20-Poly1305 │
├─────────────────────┤
│ المفتاح: SHA256(سر)│
│ Nonce: استخراج │
│ تحقق: auth_tag │
└─────────────────────┘
│
▼
الرسالة المفكوكة: "Hello World"
المضيف شبكة TOR العميل
┌─────────┐ ┌───┐ ┌───┐ ┌───┐ ┌─────────┐
│مدمج Tor │───────────▶│ A │───▶│ B │───▶ │ C │◄─────│ Tor │
│ │ │ │ │ │ │ │ │ النظام │
└─────────┘ └───┘ └───┘ └───┘ └─────────┘
│ مدخل وسيط مخرج │
│ عقدة عقدة عقدة │
▼ ▼
عنوان .onion دائرة مشفرة بثلاث قفزات وكيل SOCKS5
السر المشترك. تستخدم هذه الطريقة كلمة مرور تم تعيينها مسبقًا وهي مقبولة للاستخدام الآن.
لا مصادقة للمستخدم. أي شخص يحصل على رابط الدعوة يمكنه الانضمام.
لا سجل للرسائل. لا يتم تخزين الرسائل في أي مكان. هذا يعني أنه عند إرسال رسالة، لا يتم حفظها في أي مكان. الرسائل لا تُحفظ لذا لن تتمكن من النظر إليها لاحقًا. هذه هي طريقة عمل النظام مع الرسائل. الرسائل لا تُحفظ في أي تخزين، إنها فقط. ثم تختفي.
انتهاء صلاحية الدعوة - تنتهي صلاحية الدعوات لأمن (افتراضي 10 دقائق)
# Tor المدمج (الخادم)
DataDirectory /tmp/tor_chat_xyz/
HiddenServiceDir /tmp/tor_chat_xyz/hidden_service/
HiddenServicePort 5000 127.0.0.1:5000
SocksPort 0 # معطل للخادم
# Tor النظام (العميل)
SocksPort 9050
# تكوين النظام الافتراضي
"Address not found": تمت إضافة تذكير للمستخدمين بالانتظار لمدة 30–60 ثانية حتى تنشر شبكة Tor واصف .onion الجديد.
"Connection timed out": اقتراح التحقق من حالة خدمة Tor واتصال الشبكة.
sudo systemctl status tor
الآن لديها ميزات أكثر من هذه.

TorChat مخصص للاتصالات القانونية المعززة للخصوصية. استخدمه بمسؤولية وامتثل للقوانين المحلية.
هذا المشروع مرخص بموجب رخصة MIT. راجع LICENSE للتفاصيل.
هل تريد تحسين TorChat؟ المساهمات مرحب بها!