Uslužni program koji obične pretraživače zasnovane na Firefoxu pretvara u Developer Edition

Zbog neslaganja sa politikom Mozille i distribucija da ne distribuiraju verzije Firefoxa koje imaju otključane mogućnosti za instaliranje nepotpisanih dodataka i korištenje WebExtensions Experiments API-ja, razvijen je alat koji pretvara obične Firefoxove ugrađene u varijantu „Developer Edition“ koja omogućava korištenje dodataka bez digitalnog potpisa.

Razvoj alata je olakšan činjenicom da je neophodna funkcionalnost u Firefoxu implementirana u ECMAScript kodu i uključena je u bilo koju verziju Firefoxa, ali se uključuje u vrijeme rada ovisno o postavljenim konstantnim vrijednostima. Konstante (“MOZ_DEV_EDITION”, “MOZ_REQUIRE_SIGNING”) su definisane u jednoj datoteci (“modules/addons/AddonSettings.jsm”), koja se nalazi u zip arhivi “/usr/lib/firefox/omni.ja”.

Predloženi uslužni program analizira potrebnu datoteku koristeći esprima-python, zakrpi AST i serijalizuje ga pomoću jscodegen.py. Rad sa zip formatom omogućava libzip.py - vezivanja za libzip. Preporučuje se da se navedene biblioteke instaliraju ručno iz odgovarajućih git repozitorija.

Osim toga, možete primijetiti skriptu unpin.py, koja vam omogućava da poništite ograničenja “{“, “==” i “~=” na verziji zavisnosti u unaprijed napravljenom paketu formata kotača, koji koriste mnogi programere, što vam omogućava da izbjegnete automatsko vraćanje u prethodno stanje kada instalirate željeni paket putem pip-a kada su zadane postavke.

izvor: opennet.ru

Dodajte komentar