Un utilitaire qui transforme les navigateurs classiques basés sur Firefox en Developer Edition

En raison d'un désaccord avec la politique de Mozilla et des distributions de ne pas distribuer les versions de Firefox ayant des capacités déverrouillées pour l'installation de modules complémentaires non signés et l'utilisation de l'API WebExtensions Experiments, un outil a été développé qui convertit les versions classiques de Firefox en une variante « Developer Edition » qui permet l'utilisation de modules complémentaires sans signature numérique.

Le développement de l'outil a été facilité par le fait que les fonctionnalités nécessaires de Firefox sont implémentées dans le code ECMAScript et sont incluses dans n'importe quelle version de Firefox, mais sont activées au moment de l'exécution en fonction des valeurs constantes définies. Les constantes (« MOZ_DEV_EDITION », « MOZ_REQUIRE_SIGNING ») sont définies dans un fichier (« modules/addons/AddonSettings.jsm »), qui se trouve dans l'archive zip « /usr/lib/firefox/omni.ja ».

L'utilitaire proposé analyse le fichier requis à l'aide d'esprima-python, corrige l'AST et le sérialise à l'aide de jscodegen.py. Travailler avec le format zip est fourni par libzip.py - liaisons avec libzip. Il est recommandé d'installer manuellement les bibliothèques spécifiées à partir des référentiels git correspondants.

De plus, vous pouvez noter le script unpin.py, qui vous permet de dissocier les restrictions « { », « == » et « ~= » sur la version des dépendances dans un package pré-construit du format wheel, utilisé par de nombreux développeurs, ce qui vous permet d'éviter une rétrogradation automatique lors de l'installation du package souhaité via pip lorsque les paramètres par défaut.

Source: opennet.ru

Ajouter un commentaire