Можно ли установить собственное расширение Firefox XPI без его подписи через AMO или хотя бы без отправки кому-либо?

Вопрос или проблема

Я искал расширение, которое позволяло бы мне изменить все шрифты на странице на один шрифт по моему выбору. Я нашел одно такое расширение, но у него есть только встроенный список собственных шрифтов, и он не позволяет его настроить. Поэтому я распаковал его XPI, нашел список шрифтов, изменил его, и теперь хочу сделать это собственное расширение только для себя. Но оно не работает, потому что новый хеш файла не совпадает со старым хешем в манифесте.

Раньше можно было отключить проверку подписей расширений, но теперь это обязательно.

Похоже, что единственный способ установить его – это загрузить его на AMO (addons.mozilla.org) и забрать после подписания. Но что, если я не хочу этого делать?

  • Я не хочу подписывать расширение, которому доверяю;
  • Отправка конфиденциальной информации в публичный репозиторий дополнений – это неприятная мысль (я не хочу, чтобы кто-то узнал, что я тайно люблю Comic Sans);
  • А если у меня нет интернет-соединения? Я имею в виду, да, это браузер, но все же представьте себе этот сценарий. Может быть, я просматриваю локальные страницы, или, может быть, инопланетяне уничтожили AMO. Или, возможно, моя страна заблокировала весь домен;
  • Мне не важно иметь дело с потенциальными конфликтами некоторых метаданных/иконок/шрифтов от другого разработчика или использовать защищенные авторским правом данные. Это просто для меня, я не пытаюсь ничего украсть или заработать на этом.

Какие у меня есть варианты, чтобы заставить это собственное расширение работать без всех этих проблем?

Есть два альтернативных варианта:

  • Установить такое дополнение, как Greasemonkey/Userscript, чтобы вы могли внедрять CSS на любом веб-сайте (например, изменяя атрибут стиля font)

  • Разработать свой XPI и отключить проверку подписи (вы можете снова включить проверку подписи позже для безопасности) и установить его согласно этому посту на stackoverflow.

Ответ или решение

К сожалению, начиная с Firefox 57 (Quantum), Mozilla ввела обязательную проверку подписи для всех расширений. Это значит, что если вы хотите установить свое собственное расширение в Firefox, вам нужно будет его подписать. Тем не менее, существуют несколько обходных путей, которые могут помочь вам установить ваше собственное расширение без необходимости отправлять его на AMO или использовать интернет-соединение.

Вот несколько вариантов:

1. Использование пользователей скриптов и расширений, таких как Greasemonkey или Tampermonkey

Эти расширения позволяют вам запускать пользовательские скрипты на любых веб-сайтах. Вы можете создать скрипт, который будет внедрять CSS на страницы, что позволит вам изменить шрифты на веб-страницах по вашему выбору, не модифицируя расширение напрямую. Это гораздо менее хлопотно и не требует знания о создании полнофункциональных расширений.

Пример простого скрипта для изменения шрифтов может выглядеть так:

// ==UserScript==
// @name         Custom Font Changer
// @namespace    http://your.namespace/
// @version      0.1
// @description  Меняет шрифт на выбранный
// @match        *://*/*
// @grant        GM_addStyle
// ==/UserScript==

GM_addStyle(`
    body {
        font-family: 'Comic Sans MS', sans-serif !important;
    }
`);

2. Разработка пользовательского расширения с отключенной проверкой подписи

Для этого способа вам потребуется временно отключить проверку подписи расширений в Firefox. Это можно сделать, запустив браузер с определенным параметром командной строки (но имейте в виду, что это может повлиять на безопасность вашего браузера).

  1. Закройте Firefox.
  2. Запустите его с параметром --unsafe-extension, который отключит проверку подписи.
  3. Установите ваше расширение, как обычно.
  4. После установки вы можете снова запустить Firefox без этого параметра для обеспечения большей безопасности.

3. Локальное развитие с использованием Firefox Nightly или Developer Edition

Если вы разработчик, вы можете воспользоваться Firefox Nightly или Firefox Developer Edition, где у вас есть возможность загружать неподписанные расширения. Эти версии браузера имеют функциональность, которая позволяет загружать и тестировать ваши локальные расширения без необходимости их подписывать. Однако имейте в виду, что это может быть не самая стабильная версия браузера.

Заключение

Выбор подходящего метода зависит от ваших потребностей и уровня комфорта с программированием и настройкой браузера. Если вас больше интересует простота, использование инструмента для пользовательских скриптов, такого как Greasemonkey, будет наиболее подходящим решением. В случае необходимости гибкости и контроля над расширением следует рассмотреть возможность временного отключения проверки подписи или использование специальной версии Firefox для разработчиков.

Оцените материал
Добавить комментарий

Капча загружается...