Utiliit, mis muudab tavalised Firefoxi-põhised brauserid Developer Editioniks

Kuna ei olda nõus Mozilla ja distributsioonide poliitikaga mitte levitada Firefoxi järge, millel on lukustamata võimalused installida allkirjastamata lisandmooduleid ja kasutada WebExtensions Experiments API-t, on välja töötatud tööriist, mis teisendab tavalised Firefoxi järgud "Developer Editioni" variandiks, mis võimaldab kasutada lisandmooduleid ilma digiallkirjata.

Tööriista väljatöötamist soodustas asjaolu, et Firefoxis on vajalik funktsionaalsus realiseeritud ECMAScript koodis ja see sisaldub igas Firefoxi versioonis, kuid lülitatakse sisse tööajal sõltuvalt seatud konstantsetest väärtustest. Konstandid (“MOZ_DEV_EDITION”, “MOZ_REQUIRE_SIGNING”) on määratletud ühes failis (“modules/addons/AddonSettings.jsm”), mis asub ZIP-arhiivis “/usr/lib/firefox/omni.ja”.

Kavandatav utiliit parsib vajaliku faili esprima-pythoni abil, paikab AST-i ja serialiseerib selle faili jscodegen.py abil. Zip-vorminguga töötamist pakub libzip.py – sidumine libzipiga. Soovitatav on installida määratud teegid käsitsi vastavatest git-hoidlatest.

Lisaks võite märkida skripti unpin.py, mis võimaldab lahti siduda sõltuvuste versioonide piirangud "{", "==" ja "~=" rattavormingu eelehitatud paketis, mida paljud kasutavad arendajad, mis võimaldab vältida automaatset madalamale versioonile üleminekut, kui installite soovitud paketi pip-i kaudu vaikeseadete korral.

Allikas: opennet.ru

Lisa kommentaar