Tuntox هو برنامج يقوم بإعادة توجيه اتصالات TCP عبر بروتوكول Tox. يتيح ذلك الوصول بزمن انتقال منخفض إلى الأجهزة البعيدة خلف NAT التي لا يمكنك التحكم فيها أو باستخدام عنوان IP ديناميكي.
Tuntox هو ثنائي واحد يمكن تشغيله في وضع العميل أو وضع الخادم. كقاعدة عامة، قم بتشغيل الخادم على الجهاز البعيد الذي تريد الوصول إليه والعميل على جهاز الكمبيوتر المحلي الذي تريد الوصول إلى الخادم منه.
Tuntox في مرحلة مبكرة من العمل في مرحلة التقدم . لن يقتل ماعزك ولكنه قد يتعطل أو يتسرب من الذاكرة أو يواجه مشكلات أمنية (على الرغم من أنني حاولت جعله آمنًا إلى حد ما).
إذا كنت لا تعرف ما هو Tox - فهو بروتوكول مراسلة فورية وهو P2P بالكامل، ويدعم مكالمات الصوت/الفيديو ونقل الملفات. على عكس Skype، فهو مفتوح بالكامل وعلى عكس XMPP، على سبيل المثال، فإن المكالمات ونقل الملفات تعمل فعليًا بتقنية P2P. قم بمراجعة https://tox.chat/ وقم بتنزيل العميل عندما تتاح لك الفرصة.
احصل على الثنائيات من علامة التبويب "الإصدارات" على جيثب. ما عليك سوى تنزيل الملف الصحيح للهندسة المعمارية الخاصة بك، وتنفيذ chmod +x، وبذلك تكون قد انتهيت. تم توقيع الثنائيات باستخدام مفتاح PGP الخاص بي، 11C1 B15A 5D5D D662 E469 928A EBDA 6B97 4ED3 D2B7.
إذا فاتتك الأوقات التي كتب فيها الرجال برامج تشغيل الأجهزة الخاصة بهم، راجع BUILD.md.
قم بتشغيل خادم Tuntox على جهاز كمبيوتر محمول يتصل عبر 3G، أو على جهاز الكمبيوتر المنزلي الخاص بك خلف ستة NATs أو على جهاز Raspberry Pi. لا يلزم إعادة توجيه أي منافذ إلى عنوان IP العام الخاص به - حيث يمكن الوصول إلى الجهاز عبر شبكة Tox المتراكبة.
./tuntox
يدير الخادم في المقدمة. عندما يبدأ الخادم، سيقوم بطباعة معرف Tox الخاص به إلى المخرجات - لاحظ أنك ستحتاج إليه لاحقًا للوصول إلى الجهاز من الخارج.
إذا قمت بإنهاء الخادم (Ctrl-C) والبدء من جديد، فسيقوم بإنشاء معرف Tox جديد وستحتاج إلى كتابته مرة أخرى. إنه يخالف الغرض نوعًا ما، لذا ستحتاج إلى مساعدة الخادم في تخزين معرف Tox الخاص به في مكان ما. افتراضيًا، يقوم بحفظ ملف في /etc/tuntox/، لذلك إذا قمت بإنشاء هذا الدليل وقمت بحفظه بحيث يمكن لـ tuntox الوصول إليه، فسيكون له معرف Tox ثابت.
وبدلاً من ذلك يمكنك استخدام رمز التبديل -C بدلاً من ذلك:
./tuntox -C /path/to/the/config/directory/
للإخفاء عند بدء التشغيل، أضف -z:
/path/to/tuntox -z
أو، إذا قمت بتشغيل شيء مثل Supervisord أو Systemd، فنحن نرحب بك للمساهمة بملف تكوين للنظام الذي تختاره (انظر #3، #4، #6). ليست هناك حاجة على الإطلاق لتشغيل الخادم كجذر.
لذلك، تم تثبيت خادم Tuntox على الكمبيوتر المحمول الآن. كيف يمكنك الاتصال به؟
./tuntox -i -L 2222:127.0.0.1:22
حيث
هو المعرف الذي قمت بتدوينه عند إعداد الخادم. أنت لم تنسى أن تكتب ذلك، أليس كذلك؟
بعد تشغيل هذا الأمر، افتح نافذة طرفية ثانية وقم بتنفيذ:
ssh -p 2222 myuser@localhost
Magic، المنفذ 2222 على مضيفك المحلي هو الآن خادم SSH على الجهاز الذي يقوم بتشغيل خادم Tuntox.
يعمل المفتاح -L (تقريبًا) بنفس الطريقة التي يعمل بها في SSH. بالنسبة للمبتدئين، يعني -LA:B:C "إعادة توجيه المنفذ C على IP B إلى المنفذ A على المضيف المحلي". على عكس SSH، لا يمكنك استخدام أسماء المضيفين لـ B (إلا إذا قمت بربط الملف الثنائي ديناميكيًا).
وبدلاً من ذلك، يعمل وضع SSH ProxyCommand أيضًا:
ssh -o ProxyCommand='./tuntox -i -W localhost:22' gdr@localhost
أشياء ممتعة: VPN عبر Tox
يمكن تشغيل العميل كمستخدم عادي غير جذر، ما لم يكن A < 1024 ("A" هو المنفذ المحلي). هناك حل متاح.
TUNTOX ليس آمنًا بدون مفتاح -s. قم بتوفير كلمة المرور الخاصة بك على كل من الخادم والعميل، وستكون بخير. تم تقديم رمز التبديل هذا في الإصدار 0.0.4، بالاسم الرمزي "Mr. Lahey's Got My Porno Tape!". والأفضل من ذلك، تشغيل TUNTOX_SHARED_SECRET=yourpassword tuntox ...
على كلا الجانبين.
يقوم خادم Tuntox بإنشاء معرف Tox جديد عند كل عملية بدء تشغيل، أو يحفظ مفتاحه الخاص في ملف. يحتاج أي شخص يريد الاتصال بهذا الخادم إلى معرف Tox الخاص به، والذي يتكون من مفتاح Pubkey المعروف وقيمة "مكافحة البريد العشوائي" السرية 32 بت. بعد ذلك، يرسل العميل سرًا مشتركًا والذي يتم بعد ذلك مقارنته بالسر الموجود في سطر أوامر الخادم. إذا لم تكن متطابقة، فسيتم ترك طلب الصداقة دون إجابة.
لذلك، يجب اعتبار امتلاك معرف Tox الخاص بالخادم والسر مكافئًا لامتلاك حساب Unix مع وصول SSH. لا يقوم Tuntox بتنفيذ إمكانية الصدفة عن بعد، ولكن من الممكن أن تكون قابلة للاستغلال.
تعد مصادقة PSK اختيارية ولكن يوصى بها - يتم تمكينها فقط عندما يكون المفتاح -s موجودًا على جانب الخادم أو يتم تعيين متغير البيئة TUNTOX_SHARED_SECRET. يتم إرسال PSK كرسالة طلب صداقة Tox - بقدر ما يفهم المؤلف رمز libtoxcore، يتم تشفيره باستخدام مفتاح EC العام للخادم.
يمكن أن يسمح خادم Tuntox بشكل اختياري بمعرفات ToxID المدرجة في القائمة البيضاء فقط. قم بتوفير -i yourallowedtoxy مرة واحدة أو أكثر لإضافة ToxID إلى القائمة البيضاء. ملاحظة: سلوك العميل الافتراضي هو إنشاء ToxID جديد لكل عملية تشغيل (لأن المؤلف يعتقد أنها ميزة خصوصية رائعة). ستحتاج إلى استخدام رمز التبديل -C في العميل لفرض قراءة الهوية المحفوظة من tox_save.
يعتمد Tuntox على بروتوكول Tox، والذي لم يتم تدقيقه من قبل الباحثين الأمنيين. تم تنفيذ تشفير Tox باستخدام libsodium (الذي يعتمد على NaCl الخاص ببرنشتاين) وبالتالي يستخدم منحنى مسير الشمس 25519 لتبادل المفاتيح وSalsa20 لتشفير الدفق. وفقًا لأفضل معرفة المؤلف، فإن libsodium يجعل من الصعب قدر الإمكان فهم العملات المشفرة بشكل خاطئ، لكننا لا نعرف حتى يتم تدقيق Tox.
نعم، هناك واحد
آسف بشأن GPLv3 - كل من toxcore وutox (الذي استعرت منه بعض الأكواد) هما GPLv3.
شكرًا لمطوري toxcore وutox الذين بدونهم لن يكون هذا البرنامج موجودًا أبدًا.
شكرًا لك Mr_4551 على مساعدتك وتحفيزك.