Как запаковать свое расширение Firefox (или чужое) – Apadtive solutions

Как запаковать свое расширение Firefox (или чужое)


Поделюсь с тобой, как запаковать свое или чужое расширение для Firefox. Я лично брал расширение FoxyProxy для модификации интерфейса и столкнулся с проблемой запаковки этого расширения.

Первое что нам понадобится, установить Node JS по этой ссылке https://nodejs.org/en/.Переходим на сайт и скачиваем LTS версию и после этого устанавливаем ее, просто нажимая далее, то есть все оставляем по-умолчанию.

Вторым пунктом будет установка плагинов для Node JS. Открываем пуск и находим там Node.js command promt и открываем ее.

Далее по очереди прописываем следующие команды:

npm init
npm install -g grunt-cli

После этого переходим в папку с вашим проектом, например скачанным с github в этом терминале с помощью команды (у меня к примеру проект находится по такому пути) cd "C:\Project\FoxyProxy\"

Далее прописываем команду установки grunt в наш проект.  npm install grunt --save-dev

У меня получилось вот такое содержание папки с проектом.

Далее прописываем это npm install grunt-contrib-concat --save-dev

И после этого мы теперь можем собрать наш проект.  Для этого прописываем в консоли grunt

Должно появится сообщение, как ниже на скриншоте. Это означает что все впорядке и собралось нормально. Если посмотреть скриншот выше, то там есть в самом низу файл target.zip. Именно такой файл у вас должен появиться, и это и есть файл с собранным проектом.

В этой статье, я покажу как подписать и потом установить ваше расширение в браузер (клики по тексту для перехода) , ну а ниже я покажу как можно обойтись без подписания и проверить результат работы с расширением.

Для начала я покажу, как по-быстрому подгрузить расширение для тестов и для этого подойдет любая версия firefox. Открываем в браузере новую вкладку и вставляем туда такой текст: about:debugging#/runtime/this-firefox и попадаем на страницу расширений. В самом верху есть кнопка Load Temporary Add-on. Как понятно из названия, это позволяет временно подгрузить распакованное расширение для тестов.

Нажимаем на кнопку и мы должны выбрать файл manifest.json для подгрузки. Этот файл должен лежать с исходным кодом расширения в одной папке, обычно она называется src. У меня это выглядит так:

Clipboarder-2021-03-06-S-017После выбора этого файла наше расширение сразу подгрузится, но до первого закрытия браузера. Для постоянки это вообще не подойдет, так что перейдем к более долговечному методу.

Для этого нам понадобится установить браузер Firefox Developer. В целом он не особо отличается от стандартного Firefox, за исключением некоторых снятых ограничений для разработчиков. Скачать браузер можно с оффициального сайта по этой ссылке: https://www.mozilla.org/ru/firefox/developer/

В этом браузере мы сможем почти безпрепятственно установить любое расширение. Но мы должны отключить проверку подписи. Для этого переходим на about:config, подтвержаем свои намерения на кнопку, и ищем в поиске xpinstall.signatures.required и выставляем значение false для него.

Clipboarder-2021-03-06-019

Все, теперь переходим в меню дополнений браузера и нажимаем на шестеренку справа сверху

Clipboarder-2021-03-06-018

Тут выбираем “Установить расширение из файла” и выбираем наш архив, созданный в начале статьи. У нас должно появиться примерно такое сообщение

Clipboarder-2021-03-06-020

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