PÄ grund av oenighet med Mozillas policy och distributioner om att inte sprida Firefox-versioner med oblockerade möjligheter att installera osignerade tillÀgg och anvÀnda API:er för WebExtensions Experiments, utvecklades ett verktyg som omvandlar vanliga Firefox-versioner till 'Developer Edition', vilket tillÄter anvÀndning av tillÀgg utan digital signatur.
Utvecklingen av verktyget underlÀttades av att den nödvÀndiga funktionaliteten i Firefox Àr implementerad i koden pÄ ECMAScript och ingÄr i alla versioner av Firefox, men aktiveras under körningen av koden beroende pÄ de installerade konstanternas vÀrden. Konstanterna ('MOZ_DEV_EDITION', 'MOZ_REQUIRE_SIGNING') definieras i en fil ('modules/addons/AddonSettings.jsm'), som finns i zip-arkivet '/usr/lib/firefox/omni.ja'.
Det föreslagna verktyget analyserar den nödvÀndiga filen med hjÀlp av esprima-python, patchar AST, och serialiserar med hjÀlp av jscodegen.py. Arbete med zip-formatet sÀkerstÀlls av libzip.py - bindningar till libzip. Det rekommenderas att installera de angivna biblioteken manuellt frÄn motsvarande git-repositorier.
Ytterligare kan man nÀmna skriptet unpin.py, som gör det möjligt att ta bort begrÀnsningar pÄ versioner av beroenden i det förkompilerade paketet i wheel-format, som anvÀnds av mÄnga utvecklare, vilket gör att man kan undvika automatisk nedgradering vid installation av det nödvÀndiga paketet genom pip med standardinstÀllningar.
KĂ€lla: opennet.ru
