Een hulpprogramma dat gewone Firefox-gebaseerde browsers omzet in Developer Edition

Vanwege onenigheid met het beleid van Mozilla en distributies om Firefox-builds die mogelijkheden bieden voor het installeren van niet-ondertekende add-ons en het gebruik van de WebExtensions Experiments API niet te distribueren, is er een tool ontwikkeld die reguliere Firefox-builds omzet in een “Developer Edition”-variant die maakt het gebruik van add-ons mogelijk zonder een digitale handtekening.

De ontwikkeling van de tool werd vergemakkelijkt door het feit dat de noodzakelijke functionaliteit in Firefox is geïmplementeerd in ECMAScript-code en is opgenomen in elke versie van Firefox, maar tijdens runtime wordt ingeschakeld, afhankelijk van de ingestelde constante waarden. De constanten (“MOZ_DEV_EDITION”, “MOZ_REQUIRE_SIGNING”) worden gedefinieerd in één bestand (“modules/addons/AddonSettings.jsm”), dat zich bevindt in het zip-archief “/usr/lib/firefox/omni.ja”.

Het voorgestelde hulpprogramma parseert het vereiste bestand met behulp van esprima-python, herstelt de AST en serialiseert het met jscodegen.py. Werken met het zip-formaat wordt verzorgd door libzip.py - bindingen met libzip. Het wordt aanbevolen om de opgegeven bibliotheken handmatig te installeren vanuit de overeenkomstige git-repository's.

Bovendien kunt u het unpin.py-script noteren, waarmee u de beperkingen “{“, “==” en “~=” op de versie van afhankelijkheden kunt opheffen in een vooraf gebouwd pakket van het wielformaat, dat door velen wordt gebruikt ontwikkelaars, waarmee u automatische downgrade kunt voorkomen bij het installeren van het gewenste pakket via pip bij standaardinstellingen.

Bron: opennet.ru

Voeg een reactie