Nástroj, který promění běžné prohlížeče založené na Firefoxu na Developer Edition

Kvůli nesouhlasu se zásadou Mozilly a distribucí nedistribuovat sestavení Firefoxu, která mají odemčené možnosti instalace nepodepsaných doplňků a používání WebExtensions Experiments API, byl vyvinut nástroj, který převádí běžné sestavení Firefoxu na variantu „Developer Edition“, která umožňuje použití doplňků bez digitálního podpisu.

Vývoj nástroje byl usnadněn tím, že potřebná funkcionalita ve Firefoxu je implementována v kódu ECMAScript a je obsažena v jakékoli verzi Firefoxu, ale je zapnuta za běhu v závislosti na nastavených konstantních hodnotách. Konstanty („MOZ_DEV_EDITION“, „MOZ_REQUIRE_SIGNING“) jsou definovány v jednom souboru („modules/addons/AddonSettings.jsm“), který se nachází v archivu zip „/usr/lib/firefox/omni.ja“.

Navrhovaný nástroj analyzuje požadovaný soubor pomocí esprima-python, opraví AST a serializuje jej pomocí jscodegen.py. Práci s formátem zip zajišťuje libzip.py - vazby na libzip. Doporučuje se nainstalovat specifikované knihovny ručně z odpovídajících git repozitářů.

Kromě toho si můžete všimnout skriptu unpin.py, který vám umožňuje zrušit omezení „{“, „==“ a „~=“ na verzi závislostí v předpřipraveném balíčku ve formátu wheel, který používá mnoho vývojáře, což vám umožňuje vyhnout se automatickému downgradu při instalaci požadovaného balíčku přes pip při výchozím nastavení.

Zdroj: opennet.ru

Přidat komentář