Um utilitário que transforma navegadores regulares baseados no Firefox em Developer Edition

Devido ao desacordo com a política da Mozilla e das distribuições de não distribuir compilações do Firefox que possuem recursos desbloqueados para instalação de complementos não assinados e uso da API WebExtensions Experiments, foi desenvolvida uma ferramenta que converte compilações regulares do Firefox em uma variante “Developer Edition” que permite o uso de complementos sem assinatura digital.

O desenvolvimento da ferramenta foi facilitado pelo fato de que a funcionalidade necessária no Firefox é implementada no código ECMAScript e está incluída em qualquer versão do Firefox, mas é ativada em tempo de execução dependendo dos valores constantes definidos. As constantes (“MOZ_DEV_EDITION”, “MOZ_REQUIRE_SIGNING”) são definidas em um arquivo (“modules/addons/AddonSettings.jsm”), que está localizado no arquivo zip “/usr/lib/firefox/omni.ja”.

O utilitário proposto analisa o arquivo necessário usando esprima-python, corrige o AST e o serializa usando jscodegen.py. Trabalhar com o formato zip é fornecido por libzip.py - ligações para libzip. Recomenda-se instalar manualmente as bibliotecas especificadas a partir dos repositórios git correspondentes.

Além disso, você pode observar o script unpin.py, que permite desvincular as restrições “{“, “==” e “~=” na versão das dependências em um pacote pré-construído do formato wheel, usado por muitos desenvolvedores, o que permite evitar o downgrade automático ao instalar o pacote desejado via pip nas configurações padrão.

Fonte: opennet.ru

Adicionar um comentário