Надстройки Firefox: как установить мою собственную локальную надстройку (расширение) на постоянной основе в Firefox?

У меня есть собственное расширение для браузера с некоторыми персональными настройками веб-сайта. Отлично работает в Chrome, но не работает в Firefox.

В отличие от Chrome, кажется, что Firefox не может устанавливать распакованные расширения или надстройки. Только в режиме отладки я могу сделать Load Temporary Add-on, выбрать папку с моим расширением, и это работает нормально. Только это временно.

Когда я упаковываю расширение, помещая файлы в .zip (не в подкаталог или что-то еще, архив просто непосредственно содержит файлы) и переименовываю его в .xpi, а затем выбираю Install Add-on from file и выбираю мой .xpi, он говорит:

Надстройка, загруженная с этого сайта, не может быть установлена, так как она повреждена.

При устранении неполадок я сделал минимальное фиктивное расширение, которое ничего не делает и состоит только из файлов manifest.json и dummy.js. Затем упакуйте это из командной строки, используя 7z a -tzip test.xpi в этом каталоге, что создаст мой zip-файл с именем test.xpi, содержащий два файла. Загрузка этого расширения в Firefox дает указанную выше ошибку.

Для справки вот мой manifest.json:

{
  "manifest_version": 2,
  "name": "Test Extension",
  "version": "1.0",
  "description": "Dummy Text Extension",
  "content_scripts": [
    {
      "matches": [ "*://*/" ],
      "js": ["dummy.js"]
    }
  ]
}

И содержимое dummy.js:

// this file is intentionally left blank

Опять же: отлично работает в Chrome, отлично работает в Firefox при загрузке как временное дополнение в режиме отладки (т.е. загружая файлы, в диалоге открытия выбираю файл manifest.json). Но загрузка .xpi для постоянной установки этого расширения приводит к ошибке «похоже, что она повреждена».

К вашему сведению: я использую последние версии Chrome и Firefox на macOS 10.15.5.

В целях тестирования, вот точный файл test.xpi, который я создал, но упаковка вручную, как описано выше, даст тот же результат.


person RocketNuts    schedule 06.06.2020    source источник
comment
works fine in Firefox when loading as temporary add-on... Вы имеете в виду, что он устанавливается нормально, но этот аддон ничего не делает, так что вы не можете сказать, что он works fine.   -  person Deanie    schedule 18.05.2021
comment
@Deanie Очевидно, я имел в виду, что загрузка / установка работает нормально.   -  person RocketNuts    schedule 21.05.2021


Ответы (2)


На днях столкнулся с такой же проблемой..

Чтобы установить мой личный xpi на постоянной основе (в Firefox для Linux 77.0.1):

Например:

"browser_specific_settings": {
  "gecko": {
    "id": "blahblah@blah"
  }
}

Надеюсь это поможет!

person lukacs    schedule 08.06.2020
comment
Спасибо, после добавления идентификатора теперь он жалуется на то, что xpi не проверен. Что касается темы, на которую вы ссылались, о том, как отключить проверку подписи, какой именно это будет ответ? ответ Черни не сработал (у меня нет ночной сборки или сборки для разработчиков), а второй ответ Макиена кажется смехотворно сложным. Есть ли быстрый и простой способ (временно) отключить проверку подписи случайно? - person RocketNuts; 10.06.2020
comment
Я имел в виду: about:config -> xpinstall.signatures.required = false Просто чтобы уточнить, я использую Firefox для Linux. Стандарт скачанный с мозиллы. Кроме того, кажется, что надстройки проверяются каждый раз, когда они загружаются (перезапуск браузера), поэтому, к сожалению, проверку необходимо отключить навсегда. - person lukacs; 11.06.2020
comment
Ах, хорошо, нет, к сожалению, это не работает здесь, в Firefox 77 на macOS. - person RocketNuts; 11.06.2020
comment
Тем временем Firefox, кажется, молча игнорирует, когда пользователь меняет этот параметр. Но он все еще работает, например. Разработчик Firefox, см. здесь. - person Nils Lindemann; 07.08.2020
comment
как обновить аддон после локального изменения? Вы должны упаковать дополнение после каждого изменения? - person Alexander Myravjev; 04.05.2021

Вы пробовали использовать инструмент web-ext и подписывали надстройку? Вы можете использовать инструмент командной строки Web-ext для подписи и установки на свой firefox.

person Santosh    schedule 12.07.2020