Утилита, която преобразува обикновени браузери на основата на Firefox в Developer Edition.

Вследствие несогласия с политикой 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 при настройках по умолчанию.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster