A Mozilla és a disztribúciókkal kapcsolatos politika nem támogatása miatt, mely megtiltja a Firefox olyan verzióinak terjesztését, amelyek lehetővé teszik az aláírás nélküli bővítmények telepítését és a WebExtensions Experiments API használatát, kidolgozásra került egy eszköz, amely a normál Firefox verziókat a "Developer Edition" változattá alakítja át, lehetővé téve az aláírás nélküli bővítmények használatát.
Az eszköz fejlesztését megkönnyítette, hogy a szükséges funkció a Firefoxban ECMAScript kód formájában valósul meg, és minden Firefox verzió részét képezi, azonban a futási idő alatt aktiválódik a beállított konstansok értékétől függően. A konstansok („MOZ_DEV_EDITION”, „MOZ_REQUIRE_SIGNING”) egy fájlban vannak definiálva („modules/addons/AddonSettings.jsm”), amely a „/usr/lib/firefox/omni.ja” zip-archívumban található.
A javasolt segédprogram a szükséges fájlt az esprima-python segítségével elemzi, az AST-t módosítja, és a jscodegen.py segítségével sorosítja. A zip formátummal való munka a libzip.py – libzip-hoz való kötés – révén valósul meg. A megadott könyvtárakat ajánlott manuálisan telepíteni a megfelelő git tárolókból.
Továbbá megemlíthető az unpin.py script, amely lehetővé teszi a "{", "==" és "~=" függőségek verziókra vonatkozó korlátozások eltávolítását a precompiled wheel formátumú csomagban, amelyet sok fejlesztő használ, így elkerülhető az automatikus visszaminősítés a szükséges csomag pip általi telepítésekor az alapértelmezett beállítások mellett.
Forrás: opennet.ru
