LINUXTALKS.CO

Утилита, превращающая обычные браузеры на основе Firefox в Developer Edition

 

L


0

1

Ввиду несогласия с политикой Mozilla и дистрибутивов не распространять
сборки Firefox, имеющие незаблокированные возможности установки
неподписанных дополнений и использования API WebExtensions
Experiments
,
был разработан
инструмент,
преобразующий обычные сборки Firefox в вариант "Developer Edition",
допускающий использование дополнений без цифровой подписи.

Разработка инструмента была облегчена тем, что нужная функциональность в
Firefox реализована в коде на ECMAScript и входит в состав любого
варианта Firefox, но включается во время выполнения кода в зависимости
от установленных значений констант. Константы ("MOZ_DEV_EDITION",
"MOZ_REQUIRE_SIGNING") определяются в одном файле
("modules/addons/AddonSettings.jsm"), который находится в zip-архиве
"/usr/lib/firefox/omni.ja".

Предложенная утилита парсит нужный файл с помощью
esprima-python, патчит AST,
и сериализует с помощью
jscodegen.py. Работа с форматом
zip обеспечивается
libzip.py - биндингов к
libzip. Указанные библиотеки
рекомендуется установить вручную из соответствующих git репозиториев.

Дополнительно можно отметить скрипт
unpin.py, который
позволяет отвязать ограничения "{", "==" и "~=" на версии
зависимостей в предсобранном пакете формата wheel, используемый многими
разработчиками, что позволяет избежать автоматического даунгрейда при
установке нужного пакета через pip при настройках по умолчанию.

// cc-by opennet.ru
// converted with crypt’s opennet autoreposter

>>> Подробности

★★★☆☆
Ограничение на отправку комментариев: только для зарегистрированных пользователей, score>=90