Ein Dienstprogramm, das normale Firefox-basierte Browser in die Developer Edition umwandelt

Aufgrund von Meinungsverschiedenheiten mit der Richtlinie von Mozilla und Distributionen, keine Firefox-Builds zu verbreiten, die über freigeschaltete Funktionen für die Installation nicht signierter Add-ons und die Verwendung der WebExtensions Experiments API verfügen, wurde ein Tool entwickelt, das reguläre Firefox-Builds in eine „Developer Edition“-Variante umwandelt ermöglicht die Nutzung von Add-ons ohne digitale Signatur.

Die Entwicklung des Tools wurde dadurch erleichtert, dass die notwendige Funktionalität in Firefox im ECMAScript-Code implementiert ist und in jeder Firefox-Version enthalten ist, jedoch zur Laufzeit abhängig von den eingestellten Konstantenwerten aktiviert wird. Die Konstanten („MOZ_DEV_EDITION“, „MOZ_REQUIRE_SIGNING“) sind in einer Datei („modules/addons/AddonSettings.jsm“) definiert, die sich im Zip-Archiv „/usr/lib/firefox/omni.ja“ befindet.

Das vorgeschlagene Dienstprogramm analysiert die erforderliche Datei mit esprima-python, patcht den AST und serialisiert sie mit jscodegen.py. Die Arbeit mit dem Zip-Format wird von libzip.py bereitgestellt – Bindungen an libzip. Es wird empfohlen, die angegebenen Bibliotheken manuell aus den entsprechenden Git-Repositorys zu installieren.

Darüber hinaus können Sie das Skript unpin.py beachten, mit dem Sie die Einschränkungen „{“, „==“ und „~=“ für die Version von Abhängigkeiten in einem vorgefertigten Paket des von vielen verwendeten Wheel-Formats aufheben können Entwickler, wodurch Sie ein automatisches Downgrade vermeiden können, wenn Sie das gewünschte Paket über pip in den Standardeinstellungen installieren.

Source: opennet.ru

Kommentar hinzufügen