Как подписать расширение firefox. Установка непроверенных дополнений в Firefox. Что при этом происходит

Ошибки

В свете последних событий связанных с релизом Mozilla Firefox 48, который навёл шухеру среди части пользователей, в связи с обязательным наличием подписи у расширений, люди столкнувшиеся с этой проблемой встали перед выбором, либо:

  1. не пользоваться неподписанными расширениями (плохой вариант);
  2. использовать небрэндированные сборки;
  3. идти окольными путями, пытаясь отключить проверки любыми способами, некоторые из которых предложены в следующих комментариях:
    https://geektimes.ru/post/279132/#comment_9480372
    https://geektimes.ru/post/279132/#comment_9480382
  4. подписать необходимое расширение самостоятельно.
Как вы уже догадались, здесь пойдёт речь о последнем способе. Если мы не планируем распространять расширения через официальный каталог, то подпись мы можем получить без ручных проверок, т.е. легко и просто.

Для этого нам понадобятся:
  1. учётная запись на addons.mozilla.org
  2. установленный nodejs версии >= 0.10
  3. npm версии >=3.0.0 (npm up npm)
  4. jpm для nodejs (npm install jpm).
Будем рассматривать процесс подписания на примере расширения «Random Agent Spoofer». Данное расширение содержит список юзер-агентов, которые довольно быстро устаревают, а обновляется дополнение не часто. В свою очередь, в официальном репозитории файлы с нужными нам данными обновляются регулярно и возникает закономерное желание пустить их в дело.

Итак, учётную запись зарегистрировали, программное окружение установлено, можно приступать.

Берём подопытное расширение и распаковываем его в отдельную папку, в нашем случае используем слепок репозитория, расположенного по адресу https://github.com/dillbyrne/random-agent-spoofer .
Получим следующую структуру каталогов:
test\
lib\
doc\
data\
.gitignore
LICENSE
package.json
README.md

Если используется готовое собранное расширение, то в корне папки где оно распаковано, необходимо удалить файлы «bootstrap.js» и
«install.rdf», они создаются программой сборки, а при модификации уже подписанных дополнений ещё и папку «META-INF». Т.к. мы имеем дело с ещё не собранным дополнением, то это не требуется. Следующим шагом будет редактирование файла «package.json», расположенного опять же в корне каталога распакованного расширения. В нашем случае его начало выглядит так:
{
"name": "random-agent-spoofer",
"title": "Random Agent Spoofer",
"id": "jid1-AVgCeF1zoVzMjA@jetpack",
"description": "Allows the use of various browser profiles (including useragent ,platform, oscpu, accept headers and other options), which it can randomly switch between after a chosen period of time has expired",
"author": "dbyrne",
...
}

Если в нём содержится параметр «id» его надо либо изменить, либо удалить. В противном случае, мы получим ошибку при попытке подписи о том, что не являемся его владельцем.
Далее командуем следующее «заклинание» для сборки расширения в архив:

Jpm xpi --addon-dir <путь к папке куда распаковали>

Или просто:

Jpm xpi , если текущий каталог это и есть корень распакованного расширения.

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

А теперь приготовим свой api-ключ, ради получения которого и регистрировались на addons.mozilla.org . Его можно увидеть по адресу addons.mozilla.org/ru/developers/addon/api/key в таком виде:

Издатель JWT: Секрет JWT:

Где Ваш персональный ключ. И в заключение, собственно, сам акт подписания осуществляем скомандовав:

Jpm sign --api-key --api-secret --xpi <путь к расширению полученному на предыдущем шаге>

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

Полезные ссылки:
Документация по jpm: developer.mozilla.org/en-US/Add-ons/SDK/Tools/jpm
Signing Api: olympia.readthedocs.io/en/latest/topics/api/signing.html

Всем спасибо за внимание, удачи!

В общем, это просто! А посему давайте отключим запрет браузера Mozilla Firefox на установку дополнений (фича запретов постигла пользователей с выходом крайних версий брауза)), а также включим мультипроцессность и мультипроцессорность.

Что ж, продолжим прошлую статью, — в ней говорилось о возможностях обхода запрещений Firefox расширений/дополнений.

Сегодня тема немного посложнее, так что приготовьтесь: нужно будет создать пару файлов сценария для приложения firefox и поместить их в корень ядра, и ещё кое-что поправить в скрытых настройках обозревателя Фаерфокс. В общем, будет очень интересно и что более важно — полезно!


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

Создадим такой файл сценария с расширением JS: имя config.js (кому писанина файлов туго достаётся, их можно просто скачать в финале статьи, и разложить по своим полочкам в папке файлов firefox).

А создаются файлы таким образом: открываем текстовый редактор Виндовс — обычный блокнот и записываем в его тело следующие ниже строки (можно копировать).

Вот начинка первого файла:

// отключаем запрет установки дополнений try { Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {}) .eval("SIGNED_TYPES.clear()"); } catch(ex) {}

Идём по следующему пути:

C: Program Files\Mozilla Firefox

….и закидываем в директорию созданный файл.

Напишем следующий js-файл: с именем — config-prefs.js

// отключаем запрет установки дополнений (файл в связке с config.js) pref("general.config.obscure_value", 0); pref ("general.config.filename", "config.js");

Осиливаем в ядре Firefox и эту дорожку до папки pref, чтобы и туда подкинуть созданный файлик:

С: Program Files\Mozilla Firefox\defaults\pref

Вот и всё!! запрет проверки и установки дополнений браузером Фаерфокс окончен!

И теперь, как в прежние безмятежные времена, запросто можно устанавливать дополнения — без всяких «надуманных» запрещений разработчиков Fire — в обычном и привычном для нас режиме.

Однако нам, как завсегда водится — этих знаний мало!!

А давайте-ка подключим (или включим, кому как угодно)

Мультипроцессность (многопроцессность) это..! хотя, думаю, толковать подробно излишне, — значение понятия логично и ясно, к тому же имеет философскую мультипликационную составляющую скоростной работы вкладок браузера Firefox, о ней в следующей статье подробнее. Непременно подписывайтесь:

Для того, чтобы заработала мультипроцессность включить соответствующую логику обработки данных не составит особого труда — воспользуемся скрытыми настройками браузера (которые кстати пригодятся для тестирования проделанной работы).

В адресной строке браузера (не в строке запросов, а той, что в самом верху окна браузера) копируем и прописываем следующий вензель:

about:config

…жмём «Enter»…

Внимание:

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

Соглашаемся быть аккуратными!

Теперь предстоит создать новую логическую строку, которая добавится к подобным уже существующим строкам (настройкам) Фаер…

Правая кнопь мышки… выбираете «Логическое» — далее, в окошке записываете саму вариант-логику:

browser.tabs.remote.force-enable

…тут же выпадет следующее модальное оконце, в котором нужно выбрать сущность true

Готово дело!

Можете перезапустить браузер и взглянуть на результат лично выполненной работы.

как эпилог…

После перезапуска обозревателя firefox, снова, в адресной строке прописываем, но уже такой адрес:

about:support

Откроется страничка сводки настроек браузера, а в графе «Мултипроцессные окна» (или многопроцессные…) будет записано «Разрешено пользователем» или «Включены пользователем» т.е вами, дорогой товарищ))

Внимание:

…тем, которые пользуются переводчиком (дополнением) Google Translator for Firefox и его опцией перевода выделенного текста нужно знать!! — возможно, этот способ перевода отключится!

Полный перевод странички (который не всегда корректно отрабатывает) функционировать будет в обычном режиме, а вот опция «выделенного текста» нет!

А вот чтобы использовать настройки опций по полной, без глюк… рекомендую правильно настраивать браузер, например — !

И как только насладимся результатом проверки, давайте уж бонусом к этой статье разберёмся:

как включить мультипроцессорный режим Firefox

Мультипроцессорный (или многопроцессорный) режим в Firefox включаем — может кому пригодится!!

Кстати, в следующей статье подробнее, так что не забудьте подписываться!!

Вновь посетим адресок:

В в адресной строке поиска настроек пропишем следующее:

browser.tabs.remote.autostart

как только результат поиска логической строки выпал — всё здорово! Двигаемся курсоров вдоль строки вправо и меняем выставленное false на true

Смена значений — элементарна: кликаете пару раз на фразу false она мгновенно меняется на true .

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

Очень служит при переустановке браузера или ОС — в течение минуты восстанавливается привычная работоспособность браузера.

В общем, избавляет от рутины пользовательских настроек.

Mozilla Firefox иногда (или частенько) буксует — к примеру, запрещает устанавливать некоторые расширения, по его мнению — вредные, запрещённые к установке. Говорят, всё это для нашей защиты: «Дополнение не может быть загружено из-за ошибки соединения.». Или — «Firefox заблокировал запрос на установку программного обеспечения с этого сайта».

А как быть!? если я привык к какому-то расширению и не могу жить без него иначе… и мне наплевать на все эти фронтовые дрязги разработчиков и их своеобразные прочтения сертификатов…

Что жж… давайте всё-таки привычное дополнение установим… …рассмотрим, например, случай, когда браузер Фаерфокс запрещает к установке элементы Яндекс (ниже будет ссылка на пост, в котором говорится о том, как добавить Яндекс закладки в Фаерфокс 55.0.2 ).


…однажды мы решаем установить дополнение к браузеру Mozilla Firefox элементы Яндекс… По-началу установки всё здорово как бы!

Но — ближе к финалу, выпадает такое предупреждающее окошко:

«Дополнение не может быть загружено…»

Кто виноват… Что делать…

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

В каких версиях эта буза с запрещениями установок расширений и компонентов поднялась, я не знаю. Не вникаю в эти дуэли неправильных сертификатов, именно они и их несоответствие приводят к блоку.

Да и бессмысленно постигать непостижимое, ибо возможно скорее запутаться в датах и темах, и к тому же затруднительно рассчитать и предугадать какую пику друг дружке замастырят в следующий раз the opposite разработчики.

Я лично, чтобы избегать все эти нестыковки … пользуюсь чётко настроенным по своим нуждам браузером Фаерфокс и его . По возможности пасую некоторые обновления: ну по крайней мере всегда готовлюсь к ним.

Здорово помогает в этом замечательная программка МозБекап, которой возможно сохранять все личные данные браузера — пароли, расширения, закладки и т. п. …и регулировать их, конечно же, .

Итак: как и говорилось выше, не помню версии браузера в котором впервые обнаружилась закавыка запрета, а раз не помню (и никто из простых смёртных не помнит), значит — точного эликсира нет!! однако — покажу пару вариантов на свободную установку выбранных дополнений: (какой-то из них точно заработает — у меня понёс по кочкам запрещения второй))

чтобы отключить ЗАПРЕЩЕНИЕ Firefox на установку расширений —

сделаем так:

Воспользуемся скрытыми настройками браузера Mozilla Firefox.

В адресной строке браузера пропишите следующий вензель:

…и кликаем «Enter»

Важно: при переходе к этим «скрытым» настойкам, браузер выдаёт такое забавное окошко, в котором предупреждает быть аккуратнее — осторожнее!

Как вы понимаете, нужно пообещать быть внимательным.

Тогда нас перенесёт в святая-святых браузера — в ленту технических настроек:

…затем, в «поиске» по ленте настроек (она где-то сверху) запишем такую фразу:

Внимание: возможно, есть смысл, коли у вас будет установлено значение false , заметить его на true — эксперимент — наше всё!

В качестве дополнения к материалу, для тех пользователей, которые подумывают приручить компьютер и быть с ним на «ТЫ»:

В среде программистов, (а в общем-то, возможно, помните ещё из уроков информатики) такие простые логические значения (понятия, если хотите) как TRUE – означающее истину и FALSE – означающее ложь. Если попросту «истина» — разрешение, а «ложь», соответственно — запрет.

А ещё в некоторых случаях языков программирования за значение «истина» законно прокатывает 1, и за значение ложь - 0.

Логический тип данных, или булев тип, или булевый тип (от англ. Boolean или logical data type) в честь Джорджа Буля (что весьма логично)) — математик и логик был такой.

Но это так, слегка касаясь темы…

А познавать все глубины оптимального интернета мы будем от статьи к статье) так что есть смысл подписаться




Итак, после того как подписались)) — перезапускаемся… браузер, в смысле…

Должно заработать!

Если браузер не послушался приказа (помните: «запретили запрет») — хрен с ним. Хотя такого быть не должно: о тонкостях расскажу в следующей статье, чтобы ближе по теме…

Второй вариант — теперь точно заработает… Сделаем так: и научимся…

как устанавливать расширения браузера Фаерфокс с помощью сохранённого файла

Предположим вам нужно прикрутить к браузеру элементы Янднекс (все иные расширения устанавливается по аналогии).

Переходим на официальную страничку установки — если нужно, вот ссылка //element.yandex.ru/?from=wizard___one

Фото ниже: наводим курсор на «Установить»… прижимаем правой кнопкой мыши, и в выпадающем меню выбираем «Сохранить как…»

Указываем папку для сохранения, и к вам через минутку прилетит такой файлик:

YandexElement.xpi

Полдела сделано!

В меню браузера Фаерфокс «Инструменты» выбираем «Дополнения».

На открывшейся страничке, слева — в вертикальном меню кликаем «Службы».

Мгновение..! …и око зрит:

…что — на открывшейся страничке в правом верхнем углу есть значок «шестерёнка» кликаем по этой шестерне (это настройки), а в выпавшем окошке-меню выбираем опцию «Установить из файла…»

Ну, вы, думаю, догадались.

Нужно указать путь (папку) в которой сохранён ценный файл расширения.

Минута… и дополнение установлено. Заметьте — без всяких трогательных запрещений и божечкой заботы о нас грешных…

А мы… продолжаем: переходим к следующей статье о том, как …

И… — подписывайтесь, впереди много полезного для лёгкой работы по правилам оптимального интернета!


!..подписываясь на обновления сайт -
...расстаёмся с невежеством..!


...город веб мастеров Михалика.ru © - запросто с WordPress

Прежде чем разместить дополнительные расширения на своём официальном интернет портале «addons.mozilla.org » обязательно проверяют все разработки на соответствие с жёсткими критериями, отвечающим всем требованиям безопасности. В случае, если проверка дала положительные результаты, специалисты технической поддержки Mozilla подписывают проверенные приложения своей уникальной цифровой подписью. Данная процедура даёт приложениям право быть установленными в веб-браузер пользователя. Расширения могут быть размещены и на иных сетевых ресурсах, но они также должны отвечать всем требованиям безопасности и конфиденциальности Firefox, иначе они не смогут получить соответствующее разрешение на размещение в интернет сети под знаком партнёра Mozilla Foundation.

О цифровой подписи расширений

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

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

Как отключить проверку дополнений

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

Для начала скачайте и установите немного другую версию интернет – поисковика Mozilla Firefox. Такую как «Developer Edition» или «Nightly», они позволяют обходить требования на наличие подписей дополнительных расширений. Теперь вам нужно будет слегка изменить настройку конфигурации.

Для этого запустите браузер и в поисковой строке наберите «about:config», без кавычек и нажмите кнопку «Enter» или на вспомогательной строчке слово «Посетить»;

Затем у вас откроется окошко, информация в котором, предупреждает о возможных рисках, жмём по кнопочке «Я принимаю на себя риск»;

В открывшемся окошке найдите параметр «xpinstall.signatures.required» (или просто копируем и вставляем его в строку поиска);

Нажимаем правой кнопкой мышки по параметру и выбираем пункт «Переключить» (или можно дважды кликнуть левой кнопкой мыши).

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

Также вы можете установить другие неофициальные версии браузера Mozilla Firefox, которые тоже позволят менять настройки проверки подписей плагинов.

В свете последних событий связанных с релизом Mozilla Firefox 48, который навёл шухеру среди части пользователей, в связи с обязательным наличием подписи у расширений, люди столкнувшиеся с этой проблемой встали перед выбором, либо:

  1. не пользоваться неподписанными расширениями (плохой вариант);
  2. использовать небрэндированные сборки;
  3. идти окольными путями, пытаясь отключить проверки любыми способами, некоторые из которых предложены в следующих комментариях:
  4. подписать необходимое расширение самостоятельно.
Как вы уже догадались, здесь пойдёт речь о последнем способе. Если мы не планируем распространять расширения через официальный каталог, то подпись мы можем получить без ручных проверок, т.е. легко и просто.

Для этого нам понадобятся:
  1. учётная запись на addons.mozilla.org
  2. установленный nodejs версии >= 0.10
  3. npm версии >=3.0.0 (npm up npm)
  4. jpm для nodejs (npm install jpm).
Будем рассматривать процесс подписания на примере расширения «Random Agent Spoofer». Данное расширение содержит список юзер-агентов, которые довольно быстро устаревают, а обновляется дополнение не часто. В свою очередь, в официальном репозитории файлы с нужными нам данными обновляются регулярно и возникает закономерное желание пустить их в дело.

Итак, учётную запись зарегистрировали, программное окружение установлено, можно приступать.

Берём подопытное расширение и распаковываем его в отдельную папку, в нашем случае используем слепок репозитория, расположенного по адресу https://github.com/dillbyrne/random-agent-spoofer .
Получим следующую структуру каталогов:
test\
lib\
doc\
data\
.gitignore
LICENSE
package.json
README.md

Если используется готовое собранное расширение, то в корне папки где оно распаковано, необходимо удалить файлы «bootstrap.js» и
«install.rdf», они создаются программой сборки, а при модификации уже подписанных дополнений ещё и папку «META-INF». Т.к. мы имеем дело с ещё не собранным дополнением, то это не требуется. Следующим шагом будет редактирование файла «package.json», расположенного опять же в корне каталога распакованного расширения. В нашем случае его начало выглядит так:
{
"name": "random-agent-spoofer",
"title": "Random Agent Spoofer",
"id": "jid1-AVgCeF1zoVzMjA@jetpack",
"description": "Allows the use of various browser profiles (including useragent ,platform, oscpu, accept headers and other options), which it can randomly switch between after a chosen period of time has expired",
"author": "dbyrne",
...
}

Если в нём содержится параметр «id» его надо либо изменить, либо удалить. В противном случае, мы получим ошибку при попытке подписи о том, что не являемся его владельцем.
Далее командуем следующее «заклинание» для сборки расширения в архив:

Jpm xpi --addon-dir <путь к папке куда распаковали>

Или просто:

Jpm xpi , если текущий каталог это и есть корень распакованного расширения.

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

А теперь приготовим свой api-ключ, ради получения которого и регистрировались на addons.mozilla.org . Его можно увидеть по адресу addons.mozilla.org/ru/developers/addon/api/key в таком виде:

Издатель JWT: Секрет JWT:

Где Ваш персональный ключ. И в заключение, собственно, сам акт подписания осуществляем скомандовав:

Jpm sign --api-key --api-secret --xpi <путь к расширению полученному на предыдущем шаге>

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

Полезные ссылки:
Документация по jpm: developer.mozilla.org/en-US/Add-ons/SDK/Tools/jpm
Signing Api: olympia.readthedocs.io/en/latest/topics/api/signing.html

Всем спасибо за внимание, удачи!