Как самостоятельно разместить веб-расширение Mozilla?

#firefox #hosting #firefox-addon-webextensions #browser-addons

#firefox #хостинг #firefox-addon-webextensions #браузерные дополнения

Вопрос:

Это первый раз, когда я пытаюсь самостоятельно разместить дополнение Mozilla (или веб-расширение). Я уже сгенерировал подписанный файл xpi с помощью web-ext инструмента. Может кто-нибудь, пожалуйста, поделиться следующими шагами по размещению веб-расширения, чтобы пользователи могли напрямую устанавливать веб-расширение с моего сайта?

Даже ссылка на документацию будет действительно полезной.

Вот пример размещенного файла singed xpi

https://dl.dropboxusercontent.com/u/71743966/requestly/firefox/requestly-4.1.6-an+fx.xpi2

Когда я открываю эту ссылку в Firefox, она говорит

Firefox запретил этому сайту запрашивать у вас установку этого программного обеспечения.

Как я могу решить эту проблему? Я даже задавал этот вопрос в Mozilla discourse, но не повезло.

Вот мой manifest.json

 {
  "name": "Requestly",

  "version": "4.1.6",
  "manifest_version": 2,
  "description": "Mozilla Firefox addon to modify HTTP requests (Redirect | Cancel | Replace | Modify Headers)",

  "updateURL": "https://dl.dropboxusercontent.com/u/71743966/requestly/firefox/update_manifest",

  "updateLink": "https://dl.dropboxusercontent.com/u/71743966/requestly/firefox/requestly-4.1.6.xpi",

  "content_scripts": [
    {
      "matches": [ "*://web.requestly.in/*" ],
      "css": [ "src/pages/generated/css/main.css" ],
      "js": [ "src/pages/generated/js/libs.js", "src/pages/generated/js/main.js" ]
    }
  ],

  "background": {
    "scripts": [
      "browser_config.js",
      "src/background/storageService.js",
      "src/Shared/shared.js",
      "src/Shared/utils.js",
      "src/background/background.js"
    ]
  },

  "browser_action": {
    "default_icon": "resources/images/128x128.png",
    "default_title": "Modify HTTP/HTTPS requests"
  },

  "icons": {
    "16": "resources/images/19x19.png",
    "128": "resources/images/128x128.png"
  },

  "permissions": [
    "contextMenus",
    "storage",
    "webRequest",
    "webRequestBlocking",
    "tabs",
    "http://*/*",
    "https://*/*"
  ]
}
  

Ответ №1:

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

Итак, я создал простую HTML-страницу, подобную этой:

 <html>
    <head></head>
    <body>
        <center>Install Requestly on Firefox</center>
        <a href="https://dl.dropboxusercontent.com/u/71743966/requestly/firefox/requestly-4.1.6-an+fx.xpi"> Click here on download </a>
    </body>
</html>
  

После размещения этой страницы и нажатия на ссылку для скачивания фактически установлен аддон в Firefox v49.

Комментарии:

1. Это действительно работает для вас? plnkr.co/edit/Bzb9QOpZsAUiM5dthap0?p=preview терпит неудачу для меня

2. Да, этот подход все еще работает для меня. Вы можете оформить заказ по адресу htyp://requestly.in. Нажмите на кнопку firefox в браузере Firefox.

3. @bmm6o: Я предполагаю, что вам нужно разместить .xpi с помощью https. В вашем plunker вы используете http