Встановлення неперевірених додатків у Firefox. Підписуємо розширення Firefox Встановити непідписані розширення у Firefox
Перш ніж розмістити додаткові розширення на своєму офіційному інтернет-порталі « 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, який навів шухеру серед частини користувачів, у зв'язку з обов'язковою наявністю підпису у розширень, люди, які зіткнулися з цією проблемою, постали перед вибором, або:
- не користуватись непідписаними розширеннями (поганий варіант);
- використовувати небрендовані збирання;
- йти манівцями, намагаючись відключити перевірки будь-якими способами, деякі з яких запропоновані в наступних коментарях:
- підписати потрібне розширення самостійно.
Для цього нам знадобляться:
- обліковий запис addons.mozilla.org
- встановлений nodejs версії >= 0.10
- npm версії >=3.0.0 (npm up npm)
- jpm для nodejs (npm install jpm).
Отже, обліковий запис зареєстрували, програмне оточення встановлено, можна розпочинати.
Беремо піддослідне розширення та розпаковуємо його в окрему папку, у нашому випадку використовуємо зліпок репозиторію, розташованого за адресою 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": " [email protected]",
"description": "Для використання різних інструментів браузера (включаючи useragent ,platform, oscpu, accept headers and other options), які це може бути послідовно перемикається між після закінчення періоду часу, що виходить",
"author": "dbyrne",
...
}
Якщо в ньому міститься параметр «id», його треба або змінити, або видалити. В іншому випадку ми отримаємо помилку при спробі підпису про те, що не є його власником.
Далі командуємо наступне «заклинання» для збирання розширення до архіву:
Jpm xpi --addon-dir<путь к папке куда распаковали>
Або просто:
Jpm xpi , якщо поточний каталог і є корінь розпакованого розширення.
На виході має з'явитися файл зібраного розширення .xpi, який і підписуватимемо.
А тепер приготуємо свій api-ключ, заради отримання якого реєструвалися на addons.mozilla.org. Його можна побачити за адресою addons.mozilla.org/ru/developers/addon/api/key у такому вигляді:
Видавець JWT: Де Jpm sign --api-key Якщо все пройде без помилок і автоматична перевірка буде пройдена, то в поточному каталозі ми отримаємо підписане розширення, якого потребували. Корисні посилання: Всім дякую за увагу, удачі! Багатьом користувачам подібне нововведення не сподобалося, зокрема й мені. Я, наприклад, використовую кілька старих, але ще цілком робочих доповнень, розробку яких припинено багато років тому. А деякі доповнення я сам модифікую під свої потрібні, природно, після таких змін цифровий підпис стає невалідним. На щастя, розробники тоді залишили в налаштуваннях браузера параметр , що дозволяє відключати перевірку цифрових підписів додатків, що встановлюються. У світлі останніх подій пов'язаних з релізом Mozilla Firefox 48, який навів шухеру серед частини користувачів, у зв'язку з обов'язковою наявністю підпису у розширень, люди, які зіткнулися з цією проблемою, постали перед вибором, або: Отже, обліковий запис зареєстрували, програмне оточення встановлено, можна розпочинати. Беремо піддослідне розширення та розпаковуємо його в окрему папку, у нашому випадку використовуємо зліпок репозиторію, розташованого за адресою https://github.com/dillbyrne/random-agent-spoofer . Якщо використовується готове зібране розширення, то в корені папки, де воно розпаковано, необхідно видалити файли «bootstrap.js» і Якщо в ньому міститься параметр «id», його треба або змінити, або видалити. В іншому випадку ми отримаємо помилку при спробі підпису про те, що не є його власником. Jpm xpi --addon-dir<путь к папке куда распаковали> Або просто: Jpm xpi , якщо поточний каталог і є корінь розпакованого розширення. На виході має з'явитися файл зібраного розширення .xpi, який і підписуватимемо. А тепер приготуємо свій api-ключ, заради отримання якого реєструвалися на addons.mozilla.org. Його можна побачити за адресою addons.mozilla.org/ru/developers/addon/api/key у такому вигляді: Видавець JWT: Де Jpm sign --api-key Якщо все пройде без помилок і автоматична перевірка буде пройдена, то в поточному каталозі ми отримаємо підписане розширення, якого потребували. Корисні посилання: Всім дякую за увагу, удачі! 43 версія Mozilla Firefox на каналах Stable і Beta блокує встановлення непідписаних розширень. Для скасування перевірки підпису розширення можна змінити. У Firefox 48 для Stable та Beta каналів, Mozilla скасувала дію параметра xpinstall.signatures.require. На каналах Dev, Nightly і ESR, а також у збірці Firefox Unbranded, яка є стабільною версією, параметр ще доступний. Всі розширення представлені в основному репозиторії Mozilla, підписані на відміну від розширень зі сторонніх джерел. На сьогодні існує безліч розширень, що надаються програмами, на платформах розробки Github і Bitbucket, а також старі розширення, які більше не підтримуються розробниками і не можуть бути підписані. Всі вони не можуть бути встановлені у Firefox Stable або Beta стандартними засобами. Цей спосіб передбачає створення двох файлів в основній директорії, звідки запускається Firefox. 1.1. Створіть текстовий файл; // 1.3. Перейменуйте його на "config.js". Переконайтеся, що він називається config.js, а не config.js.txt; Це каталоги установки Firefox за промовчанням. Вони можуть відрізнятися залежно від ваших налаштувань під час встановлення або дистрибутиву Linux. Важливо, щоб файл опинився в кореневій директорії програми. 2.1. Створіть другий текстовий файл; pref("general.config.obscure_value", 0); 2.3. Перейменуйте на config-prefs.js; Тепер ви можете встановлювати розширення з підписом і без Firefox Stable або Beta. Код у файлі config.js, завантажує один із конфігураційних файлів Firefox і видаляє інформацію з константи "Signed_Types" у цьому файлі. Ця константа визначає типи доповнень та розширень, які мають бути підписані для встановлення. Деякі розширення, наприклад теми, не повинні бути підписані. Таким чином, код очищає константу від усіх типів доповнень, тому встановлення будь-якого з них не потребує підпису. Код другого файлу вказує Firefox завантажити файл config.js при запуску. Дивно, що це на стільки просто, враховуючи те, що обов'язковий підпис розширень використовується для підвищення безпеки.
Документація по jpm: developer.mozilla.org/en-US/Add-ons/SDK/Tools/jpm
Signing Api: olympia.readthedocs.io/en/latest/topics/api/signing.html
Починаючи з версії 48 халява накрилася, Firefox перестав сприймати цей параметр. Незалежно від його значення, при спробі встановити будь-яке непідписане розширення ви побачите попередження про небезпеку, а інсталяцію буде заблоковано. Але є спосіб, за допомогою якого можна встановити сторонні розширення в браузер Firefox.
Спочатку потрібно переключити оновлення Firefox на ESR (Extended Support Release). Це версія браузера з розширеним терміном підтримки, яка призначена для використання в організаціях. Встановлюється прямо поверх поточної версії Firefox, всі налаштування залишаються на місці, нічого не злітає.
Тепер переходимо на сторінку налаштувань, набравши в адресному рядку about:config. Там знаходимо параметр xpinstall.signatures.requiredі подвійним клацанням перемикаємо його значення на false. Ось і все тепер можна без проблем ставити будь-які оновлення, у тому числі непідписані або модифіковані. Черговий ідіотський закидон від "ефективних менеджерів" Firefox успішно подолано.
Як ви вже здогадалися, тут йтиметься про останній спосіб. Якщо ми плануємо поширювати розширення через офіційний каталог, то підпис ми можемо отримати без ручних перевірок, тобто. легко і просто.
https://geektimes.ru/post/279132/#comment_9480372
https://geektimes.ru/post/279132/#comment_9480382
Для цього нам знадобляться:
Розглянемо процес підписання на прикладі розширення «Random Agent Spoofer». Це розширення містить список користувачів-агентів, які досить швидко старіють, а оновлюється додаток не часто. У свою чергу, в офіційному репозиторії файли з потрібними нам даними оновлюються регулярно і виникає закономірне бажання пустити їх у справу.
Отримаємо таку структуру каталогів:
test\
lib\
doc\
data\
.gitignore
LICENSE
package.json
README.md
"install.rdf", вони створюються програмою складання, а при модифікації вже підписаних доповнень ще й папку "META-INF". Т.к. ми маємо справу з ще не зібраним доповненням, це не потрібно. Наступним кроком буде редагування файлу "package.json", розташованого знову ж таки в корені каталогу розпакованого розширення. У нашому випадку його початок має такий вигляд:
{
"name": "random-agent-spoofer",
"title": "Random Agent Spoofer",
"id": " [email protected]",
"description": "Для використання різних інструментів браузера (включаючи useragent ,platform, oscpu, accept headers and other options), які це може бути послідовно перемикається між після закінчення періоду часу, що виходить",
"author": "dbyrne",
...
}
Далі командуємо наступне «заклинання» для збирання розширення до архіву:
Документація по jpm: developer.mozilla.org/en-US/Add-ons/SDK/Tools/jpm
Signing Api: olympia.readthedocs.io/en/latest/topics/api/signing.htmlВідключення перевірки підпису через скрипти користувача
1. Файл config.js
1.2. Вставте код:
try (
Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", ())
.eval("SIGNED_TYPES.clear()");
}
catch(ex) ()
1.4. Перемістіть його до директорії з встановленим Firefox:2. Файл config-prefs.js
2.2. Вставте код:
pref("general.config.filename", "config.js");
2.4. Перемістіть в " <корневая директория Firefox>\defaults\pref\"
наприклад " C:\Program Files\Mozilla Firefox\defaults\pref\";
2.5 Перезапустіть Firefox. Що при цьому відбувається