الإصدار التجريبي الأول من Arti، وهو تطبيق Tor في Rust

قدم مطورو شبكة Tor المجهولة الإصدار التجريبي الأول (0.1.0) من مشروع Arti، الذي يقوم بتطوير عميل Tor المكتوب بلغة Rust. يتمتع المشروع بحالة التطوير التجريبي، فهو يتخلف عن وظيفة عميل Tor الرئيسي في لغة C وليس جاهزًا بعد لاستبداله بالكامل. ومن المقرر في سبتمبر إنشاء الإصدار 1.0 مع تثبيت واجهة برمجة التطبيقات (API) وواجهة سطر الأوامر (CLI) والإعدادات، والذي سيكون مناسبًا للاستخدام الأولي من قبل المستخدمين العاديين. في المستقبل البعيد، عندما يصل كود Rust إلى مستوى يمكن أن يحل محل الإصدار C بالكامل، يعتزم المطورون منح Arti حالة التنفيذ الرئيسي لـ Tor والتوقف عن الحفاظ على تنفيذ C.

على عكس تطبيق C، الذي تم تصميمه في البداية كوكيل SOCKS ثم تم تصميمه ليناسب الاحتياجات الأخرى، تم تطوير Arti في البداية على شكل مكتبة معيارية قابلة للتضمين يمكن استخدامها بواسطة تطبيقات مختلفة. بالإضافة إلى ذلك، عند تطوير مشروع جديد، يتم أخذ جميع تجارب تطوير Tor السابقة في الاعتبار، مما سيتجنب المشاكل المعمارية المعروفة ويجعل المشروع أكثر نمطية وكفاءة. يتم توزيع الكود بموجب تراخيص Apache 2.0 وMIT.

أسباب إعادة كتابة Tor في Rust هي الرغبة في تحقيق مستوى أعلى من أمان التعليمات البرمجية باستخدام لغة تضمن التشغيل الآمن للذاكرة. وفقًا لمطوري Tor، سيتم القضاء على ما لا يقل عن نصف جميع نقاط الضعف التي يراقبها المشروع في تطبيق Rust إذا لم يستخدم الكود كتلًا "غير آمنة". سيتيح لك Rust أيضًا تحقيق سرعات تطوير أسرع من استخدام لغة C، نظرًا للتعبير عن اللغة والضمانات الصارمة التي تسمح لك بتجنب إضاعة الوقت في التحقق المزدوج وكتابة التعليمات البرمجية غير الضرورية.

من بين التغييرات في الإصدار 0.1.0، هناك استقرار أساسي لواجهات برمجة التطبيقات عالية المستوى وجعل المكتبة جاهزة للتكامل التجريبي مع المشاريع الأخرى. من بين التغييرات، تم ذكر إضافة واجهة برمجة التطبيقات (API) لإنشاء مثيلات TorClient، بما في ذلك القدرة على البناء والتهيئة (bootstrap) في الخلفية عند الاستخدام الأول. بالإضافة إلى ذلك، تمت إضافة واجهة برمجة تطبيقات جديدة عالية المستوى لمعالجة الأخطاء.

قبل نشر الإصدار 1.0.0، يعتزم المطورون تزويد Arti بالدعم الكامل للعمل كعميل Tor الذي يوفر الوصول إلى الإنترنت (تم تأجيل تنفيذ دعم خدمات البصل للمستقبل). يتضمن ذلك تحقيق التكافؤ مع تطبيق لغة C السائد في مجالات مثل أداء الشبكة وحمل وحدة المعالجة المركزية والموثوقية، بالإضافة إلى توفير الدعم لجميع الميزات المتعلقة بالأمان.

المصدر: opennet.ru

إضافة تعليق