أداة تعمل على تحويل المتصفحات العادية المستندة إلى Firefox إلى إصدار المطور

نظرًا للخلاف مع سياسة Mozilla والتوزيعات بعدم توزيع إصدارات Firefox التي فتحت إمكانات تثبيت الوظائف الإضافية غير الموقعة واستخدام WebExtensions Experiments API، فقد تم تطوير أداة تقوم بتحويل إصدارات Firefox العادية إلى متغير "إصدار المطور" الذي يسمح باستخدام الوظائف الإضافية بدون توقيع رقمي.

تم تسهيل تطوير الأداة من خلال حقيقة أن الوظيفة الضرورية في Firefox يتم تنفيذها في كود ECMAScript ويتم تضمينها في أي إصدار من Firefox، ولكن يتم تشغيلها في وقت التشغيل اعتمادًا على القيم الثابتة المحددة. يتم تعريف الثوابت ("MOZ_DEV_EDITION"، "MOZ_REQUIRE_SIGNING") في ملف واحد ("modules/addons/AddonSettings.jsm")، الموجود في الأرشيف المضغوط "/usr/lib/firefox/omni.ja".

تقوم الأداة المقترحة بتحليل الملف المطلوب باستخدام esprima-python، وتصحيح AST، وإجراء تسلسل له باستخدام jscodegen.py. يتم توفير العمل باستخدام التنسيق المضغوط بواسطة libzip.py - الارتباطات بـ libzip. يوصى بتثبيت المكتبات المحددة يدويًا من مستودعات git المقابلة.

بالإضافة إلى ذلك، يمكنك ملاحظة البرنامج النصي unpin.py، الذي يسمح لك بإلغاء ربط القيود "{"، و"==" و"~=" على إصدار التبعيات في حزمة معدة مسبقًا لتنسيق العجلة، يستخدمها الكثيرون للمطورين، والذي يسمح لك بتجنب الرجوع إلى إصدار أقدم تلقائيًا عند تثبيت الحزمة المطلوبة عبر النقطة عند الإعدادات الافتراضية.

المصدر: opennet.ru

إضافة تعليق