Vzhledem k neshodě s politikou Mozilla a distribucí, které neumožňují šíření sestavení Firefoxu s odblokovanými možnostmi instalace podepsaných doplňků a používání API WebExtensions Experiments, byl vyvinut nástroj, který převádí běžná sestavení Firefoxu na variantu "Developer Edition", která umožňuje používání doplňků bez digitálního podpisu.
Vývoj nástroje byl usnadněn tím, že požadovaná funkčnost ve Firefoxu je implementována v kódu na ECMAScript a je součástí jakékoli verze Firefoxu, ale aktivuje se při provádění kódu na základě nastavených hodnot konstant. Konstanty ("MOZ_DEV_EDITION", "MOZ_REQUIRE_SIGNING") jsou definovány v jednom souboru ("modules/addons/AddonSettings.jsm"), který se nachází v zip archivu "usr/lib/firefox/omni.ja".
Navrhovaná utilita parsuje potřebný soubor pomocí esprima-python, patchuje AST a serializuje pomocí jscodegen.py. Práce s formátem zip je zajištěna libzip.py – vazbami na libzip. Doporučuje se nainstalovat uvedené knihovny ručně z odpovídajících git repozitářů.
Dále lze zmínit skript unpin.py, který umožňuje odstranit omezení "{", "==" a "~=" na verze závislostí v předkompilovaném balíčku formátu wheel, který používá mnoho vývojářů, což pomáhá vyhnout se automatickému downgrade při instalaci potřebného balíčku přes pip při výchozích nastaveních.
Zdroj: opennet.ru
