Отключились дополнения к Mozilla Firefox — как исправить

Mozilla FirefoxСовершенно неожиданный «подарок» получили пользователи браузера Firefox от компании Mozilla. Из-за проблем с сертификатом, применяемого для формирования цифровой подписи, у пользователей оказались заблокированы все обновления — как уже установленные, так и содержащиеся в официальном репозитории. Под катом решение данной проблемы.

Отключились дополнения к Mozilla Firefox - как исправить
Сообщение об отключении дополнений в Mozilla Firefox.

Если у Вас оказались заблокированными все дополнения, перейдите на страницу about:debugging и нажмите кнопку Загрузить временное дополнение.

Отключились дополнения к Mozilla Firefox - как исправить

Далее нужно найти файлы дополнений, которые были у Вас установлены. В Windows они лежат в папке C:\Users\[имя_пользователя]\AppData\Roaming\Mozilla\Firefox\Profiles\[случайный_набор_букв_и_цифр]\extensions (или другая буква, обозначающая системный раздел). В Linux путь ~/.mozilla/firefox/[случайный_набор_букв_и_цифр]/extensions. Файлы дополнений имеют расширение .xpi. В обеих ОС нужно включить отображение скрытых папок и файлов.

Заметьте, что процедуру придётся повторять при перезапуске браузера.

Разработчики Firefox пока не озвучили сроки решения проблемы, но сообщили, что исправление уже тестируется. До применения патча формирование цифровых подписей для новых дополнений пока отключено.

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

upd: Распространение обновления, устраняющего проблему с дополнениями, началось. Для ускорения его доставки можно включить соответствующий хотфикс в настройках браузера. Для этого нужно перейти в раздел Приватность и защита и выставить галочки как на скриншоте ниже.

Отключились дополнения к Mozilla Firefox - как исправить
Включение исследований в Firefox.

После этого нажмите Просмотреть исследования Firefox. Должен появиться hotfix-reset-xpi-verification-timestamp-1548973.

Отключились дополнения к Mozilla Firefox - как исправить

Если данного хотфикса нет, проверьте параметр app.normandy.first_run на странице about:config, его значение должно быть true. После этого перезапустите браузер.

После этого нужно выполнить скрипт для восстановления дополнений. На странице about:config выставьте параметр devtools.chrome.enabled в значение true. Далее откройте консоль браузера (комбинация CTRL+Shift+J), вставьте следующий код и нажмите Enter. Код подходит для Firefox 57 и выше. Для версий ниже код далее.

// Re-enable *all* extensions

    async function set_addons_as_signed() {
        Components.utils.import("resource://gre/modules/addons/XPIDatabase.jsm");
        Components.utils.import("resource://gre/modules/AddonManager.jsm");
        let addons = await XPIDatabase.getAddonList(a => true);

        for (let addon of addons) {
            // The add-on might have vanished, we'll catch that on the next startup
            if (!addon._sourceBundle.exists())
                continue;

            if( addon.signedState != AddonManager.SIGNEDSTATE_UNKNOWN )
                continue;

            addon.signedState = AddonManager.SIGNEDSTATE_NOT_REQUIRED;
            AddonManagerPrivate.callAddonListeners("onPropertyChanged",
                                        addon.wrapper,
                                        ["signedState"]);

            await XPIDatabase.updateAddonDisabledState(addon);

        }
        XPIDatabase.saveChanges();
}

set_addons_as_signed();

Отключились дополнения к Mozilla Firefox - как исправить

В Firefox 56.0.2 и ниже функции исследований нет. Здесь есть два способа: установить хотфикс вручную или установить вручную непосредственно новый сертификат. Сначала рассмотрим вариант с хотфиксом.

Скопируйте ссылку, указанную ниже, в адресную строку браузера и нажмите Enter.

https://storage.googleapis.com/moz-fx-normandy-prod-addons/extensions/hotfix-update-xpi-intermediate%40mozilla.com-1.0.2-signed.xpi

Согласитесь с установкой хотфикса:

Отключились дополнения к Mozilla Firefox - как исправить

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

async function set_addons_as_signed() {
    Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm");
    Components.utils.import("resource://gre/modules/AddonManager.jsm");
    let XPIDatabase = this.XPIInternal.XPIDatabase;
    let addons = await XPIDatabase.getAddonList(a => true);
    for (let addon of addons) {
        if (!addon._sourceBundle.exists())
            continue;
        if( addon.signedState != AddonManager.SIGNEDSTATE_UNKNOWN)
            continue;
        addon.signedState = AddonManager.SIGNEDSTATE_NOT_REQUIRED;
                AddonManagerPrivate.callAddonListeners("onPropertyChanged",
                     addon.wrapper,
                     ["signedState"]);
        await XPIProvider.updateAddonDisabledState(addon);
    }
    XPIDatabase.saveChanges();
}
set_addons_as_signed();

Пока ситуация не будет исправлена полностью, эти манипуляции придётся повторять каждые 24 часа.

Теперь о втором способе — добавлении сертификата из хотфикса в браузер вручную.

  1. Для начала сохраните данный сертификат;
  2. В настройках браузера в разделе Приватность и защита найдите подраздел о сертификатах и нажмите Просмотр сертификатов. Далее вкладка Центры сертификации и кнопка Импортировать (см. скриншоты ниже);
  3. На странице about:config выставьте devtools.chrome.enabled = true;
  4. В консоль браузера (комбинация CTRL+Shift+J) вставьте следующий код и нажмите Enter:
Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm");
XPIProvider.verifySignatures();

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

Отключились дополнения к Mozilla Firefox - как исправить
Просмотр сертификатов в Mozilla Firefox.
Отключились дополнения к Mozilla Firefox - как исправить
Импорт сертификатов в Mozilla Firefox.

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

upd 2: Вышли версии 66.0.4 и 60.6.2. ESR с исправлениями бага с дополнениями. К сожалению, данные версии исправляют не всё.

upd 3: Вышли версии 66.0.5 и 60.6.3 ESR, в которых предложено решение проблемы с обновлением сертификата при установке мастер-пароля.

Комментарии: 15 к “Отключились дополнения к Mozilla Firefox — как исправить”

    1. Началось распространение патча, который исправит эту ошибку.
      Также можно использовать ночные сборки Firefox с параметром xpinstall.signatures.required = false (правится в about:config).

  1. Всё починилось. Для того, чтобы дополнения восстановились, нужно:

    «Патч ориентирован на основную версию Firefox, а также на сборки Nightly и доступные пользователям бета-версии. Устанавливается он автоматически в фоновом режиме.

    Однако в сообщении также отмечается, что патч рассылается через функцию «Исследования» браузера. Поэтому если она отключена, то чтобы патч установился, её надо на время включить. Для этого:

    открываем «Настройки» Firefox;
    слева жмем «Приватность и защита«;
    скроллим экран до раздела «Сбор и использование данных«;
    в нем активируем опцию «Разрешить Firefox устанавливать и проводить исследования«
    перезагружаем браузер.»

    1. Дополнил статью скриптом, который нужно выполнить после включения исследований. Мне он помог.

  2. Ну, что могу сказать, давно подумывал уйти с файрфокса. Сидел из-за дополнений. Сейчас вынужденно проверил и оказалось ,что ГуглоХром поддерживает все дополнения, что мне надо в т.ч. СпидДайл и его синхронизацию. И работает с этими дополнениями лучше, без глюков как файрфокс. Так что мне эти фиксы файрфвокса уже не нужны, чего и всем желаю.

  3. Спасибо. Все дополнения восстановились в исходном состоянии! Удручает только мысль о ежедневном применение фичи.Ну думаю криворукий Лис поторопится, уверен он и так лишился доброй части пользователей и сколько еще задумается над альтернативой!

  4. Спасибо помогло, только каждый раз при перезапуске браузера все это делать это жесть просто, поэтому я только восстанавливаю свои дополнения из 1-го скрина, а функции исcледования у меня нету в настройка браузера(( только 1 »отправлять сообщения о падении производительности» и 2 » Отправлять тех данные и данные взаимодействия в Mozilla.

    1. В старых версиях Firefox функции исследований нет. Если принципиально не хочется обновляться, можно импортировать сертификат вручную. Дополнил статью этим способом.

      1. В смысле старая? Я скачал 60.6.1, когда случился этот неждан, прочитав но одном из форумов, что именно в этой версии все должно получиться, и можно заставить вновь работать все дополнения, а вот еще 2 дня назад я несколько лет сидел на 56-й версии и если бы не произошло вот этого я бы на ней и остался! Дак с какой версии появляется эта функция?

        1. Если ничего не путаю, то с 57-й.
          upd: Поставил в виртуалке Firefox 56.0.2, освежил в памяти. Там старый движок и исследований действительно нет. С ним два варианта — ставить хотфикс вручную или просто закинуть новый сертификат. В очередной раз обновил статью. 🙂 Хотя не знаю, насколько это сейчас уже актуально, всё равно вышел 66.0.4, но кому-то возможно принципиален старый движок из-за тех же дополнений. В 57-й версии многие из них отказались работать.

  5. Я кстати сначала перешел на 51-ю и когда понял что бесполезно обновил до 66-й версии тоже не помогло, тогда уже полез искать поиск решения проблемы, Раньше с таким вообще не сталкивался никогда! Не знал про хот фикс и эти строчки с исследованиями. Раньше было все намного проще когда впервые мозилла поменял свой вид на новый (точно не помню когда) я просто ставил более старую, и этим все решалось ну и дополнения тогда все регулярно обновлялись и с этим не было проблем, затем я какое то время спустя перешел на новый интерфейс и к нему привык, последний раз меня сильно огорчило (было это 2 или 3 года назад) когда перестало поддерживаться дополнение одно от яндекса оно переводило все страницы на русский язык и когда просто наведешь курсор на английское слово тоже переводило и тогда я снова пытался перейти на старую, но к сожалению я узнал от самих мозилла что они отказались полностью от этого дополнения, говоря что перевести это дополнение на новую версию слишком сложно((
    P.S. Извиняюсь за такой длынный раcсказ
    И вот сейчас я хочу спросить на кой нужен этот хот фикс если при каждом перезапуске снова все нужно делать вручную? Что бы все автоматом пофиксилось когда выпустят патч и потом не искать его?

Добавить комментарий для Антон Отменить ответ

Ваш адрес email не будет опубликован.