إطلاق ZeroNet 0.7، وهي منصة لإنشاء مواقع الويب اللامركزية

بعد عام من التطوير، تم إطلاق إصدار منصة الويب اللامركزية زيرونت 0.7، والذي يقترح استخدام آليات العنونة والتحقق الخاصة بـ Bitcoin جنبًا إلى جنب مع تقنيات التسليم الموزعة الخاصة بـ BitTorrent لإنشاء مواقع لا يمكن مراقبتها أو تزويرها أو حظرها. يتم تخزين محتوى المواقع في شبكة P2P على أجهزة الزوار ويتم التحقق منها باستخدام التوقيع الرقمي للمالك. يتم استخدام نظام خوادم DNS الجذرية البديلة للعنونة Namecoin. المشروع مكتوب بلغة بايثون و وزعت من خلال مرخص بموجب GPLv2.

يتم التحقق من البيانات المنشورة على الموقع وربطها بحساب مالك الموقع، على غرار ربط محافظ Bitcoin، مما يتيح أيضًا التحكم في مدى ملاءمة المعلومات وتحديث المحتوى في الوقت الفعلي. لإخفاء عناوين IP، يمكن استخدام شبكة Tor المجهولة، والتي تم دمج دعمها في ZeroNet. يشارك المستخدم في توزيع كافة المواقع التي قام بالوصول إليها. بمجرد تنزيلها على النظام المحلي، يتم تخزين الملفات مؤقتًا وإتاحتها للتوزيع من الجهاز الحالي باستخدام طرق تذكرنا بـ BitTorrent.

لعرض مواقع ZeroNet، ما عليك سوى تشغيل البرنامج النصي Zeronet.py، وبعد ذلك يمكنك فتح المواقع في المتصفح عبر عنوان URL "http://127.0.0.1:43110/zeronet_address" (على سبيل المثال، "http://127.0.0.1" :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D") . عند فتح موقع ويب، يبحث البرنامج عن أقرانه القريبين ويقوم بتنزيل الملفات المرتبطة بالصفحة المطلوبة (html وcss والصور وما إلى ذلك).
لإنشاء موقعك، ما عليك سوى تشغيل الأمر "zeronet.py siteCreate"، وبعد ذلك سيتم إنشاء معرف الموقع ومفتاح خاص لتأكيد التأليف باستخدام التوقيع الرقمي.

بالنسبة للموقع الذي تم إنشاؤه، سيتم إنشاء دليل فارغ بالنموذج "data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D". بعد تغيير محتويات هذا الدليل، يجب اعتماد الإصدار الجديد باستخدام الأمر "zeronet.py siteSign site_identifier" وإدخال المفتاح الخاص. بمجرد التحقق من المحتوى الجديد، يجب الإعلان عنه باستخدام الأمر "zeronet.py sitePublish site_id" حتى يصبح الإصدار الذي تم تغييره متاحًا للأقران (يتم استخدام WebSocket API للإعلان عن التغييرات). وعلى طول السلسلة، سيتحقق الأقران من سلامة الإصدار الجديد باستخدام التوقيع الرقمي، وسيقومون بتنزيل المحتوى الجديد ونقله إلى أقران آخرين.

رئيسي قدرات:

  • لا توجد نقطة فشل واحدة - يظل الموقع متاحًا إذا كان هناك نظير واحد على الأقل في التوزيع؛
  • عدم وجود مخزن مرجعي للموقع - لا يمكن إغلاق الموقع عن طريق قطع الاتصال بالاستضافة، حيث أن البيانات موجودة على جميع أجهزة الزوار؛
  • جميع المعلومات التي تم عرضها مسبقًا موجودة في ذاكرة التخزين المؤقت ويمكن الوصول إليها من الجهاز الحالي في وضع عدم الاتصال، دون الوصول إلى الشبكة العالمية.
  • دعم تحديث المحتوى في الوقت الحقيقي؛
  • إمكانية المعالجة من خلال تسجيل النطاق في منطقة ".bit"؛
  • العمل بدون إعداد أولي - ما عليك سوى فك ضغط الأرشيف باستخدام البرنامج وتشغيل برنامج نصي واحد؛
  • القدرة على استنساخ مواقع الويب بنقرة واحدة؛
  • مصادقة بدون كلمة مرور تعتمد على التنسيق BIP32: الحساب محمي بنفس طريقة التشفير مثل عملة البيتكوين المشفرة؛
  • خادم SQL مدمج مع وظائف مزامنة بيانات P2P؛
  • القدرة على استخدام Tor لإخفاء الهوية والدعم الكامل لاستخدام خدمات Tor المخفية (.onion) بدلاً من عناوين IPv4؛
  • دعم تشفير TLS؛
  • إمكانية الوصول التلقائي عبر uPnP؛
  • إمكانية إرفاق عدة مؤلفين بتوقيعات رقمية مختلفة بالموقع؛
  • توفر البرنامج المساعد لإنشاء تكوينات متعددة المستخدمين (openproxy)؛
  • دعم بث خلاصات الأخبار؛
  • يعمل في أي متصفحات وأنظمة التشغيل.

تغييرات كبيرة في ZeroNet 0.7

  • تمت إعادة صياغة الكود لدعم Python3، مما يضمن التوافق مع Python 3.4-3.8؛
  • تم تنفيذ وضع مزامنة قاعدة البيانات المحمية؛
  • حيثما أمكن، تم إيقاف التوزيع الرئيسي لمكتبات الطرف الثالث لصالح التبعيات الخارجية؛
  • تم تسريع كود التحقق من التوقيعات الرقمية من 5 إلى 10 مرات (يتم استخدام مكتبة libsecp256k1؛
  • تمت إضافة التوزيع العشوائي للشهادات التي تم إنشاؤها بالفعل لتجاوز المرشحات؛
  • تم تحديث كود P2P لاستخدام بروتوكول ZeroNet؛
  • تمت إضافة وضع غير متصل بالشبكة؛
  • تمت إضافة البرنامج المساعد UiPluginManager لتثبيت وإدارة المكونات الإضافية التابعة لجهات خارجية؛
  • يتم توفير الدعم الكامل لـ OpenSSL 1.1؛
  • عند الاتصال بالأقران، يتم استخدام سجلات SNI وALPN الوهمية لإجراء اتصالات أكثر تشابهًا مع المكالمات إلى المواقع العادية عبر HTTPS؛

في نفس يوم إصدار ZeroNet 0.7.0 شكلت التحديث 0.7.1، الذي يزيل ثغرة أمنية خطيرة قد تسمح بتنفيذ التعليمات البرمجية من جانب العميل. نظرًا لحدوث خطأ في التعليمات البرمجية الخاصة بعرض متغيرات القالب، يمكن لموقع خارجي مفتوح إنشاء اتصال بنظام العميل عبر WebSocket مع حقوق ADMIN/NOSANDBOX غير المحدودة، مما يجعل من الممكن تغيير معلمات التكوين وتنفيذ التعليمات البرمجية الخاصة به على كمبيوتر المستخدم من خلال التلاعب باستخدام المعلمة open_browser.
تظهر الثغرة الأمنية في الفرع 0.7، وكذلك في الإصدارات التجريبية بدءًا من المراجعة 4188 (تم التغيير منذ 20 يومًا).

المصدر: opennet.ru

إضافة تعليق