Реанимируем расширения на Manifest V2 в Chrome

Сегодня многие пользователи Google Chrome столкнулись с неприятным сюрпризом: их любимые и проверенные временем расширения внезапно перестали работать. Привычные инструменты принудительно отключены с вердиктом: "Это расширение не соответствует обновленной политике безопасности Chrome".

152411-google-chrome-teper-pozvolyaet-po

Важно отметить, что, хотя Google предупреждала об этом давно и отключала старые расширения, до сегодняшнего дня всегда оставалась возможность зайти в настройки и вернуть их к жизни. Теперь эта опция исчезла, и расширения отключились окончательно.

Это не ошибка, а запланированный шаг со стороны Google в рамках глобального перехода на новый стандарт для расширений — Manifest V3. Но окончателен ли приговор?


Почему Google "убивает" Manifest V2

Manifest — это, по сути, "паспорт" расширения, в котором прописаны все его права, возможности и ограничения.

Переход с V2 на V3

Manifest V2 долгое время был стандартом, предоставляя разработчикам широкие полномочия. Однако, с точки зрения Google, эта свобода имела и обратную сторону:

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

Manifest V3 был представлен как решение этих проблем. Его ключевые отличия:

  • Ограничение API: Самое спорное изменение — замена мощного API webRequest, позволявшего "на лету" перехватывать и блокировать любой сетевой трафик, на более ограниченный declarativeNetRequest. Теперь расширение должно заранее предоставить браузеру список правил, что сильно ослабляет функционал ряда расширений.
  • Запрет удаленного кода: Весь исполняемый код расширения должен содержаться внутри самого пакета, что затрудняет создание вредоносного ПО, которое подгружает свою логику извне.
  • Сервис-воркеры вместо фоновых страниц: Вместо постоянно висящих в памяти процессов, V3 использует сервис-воркеры, которые запускаются только при необходимости, экономя ресурсы.

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


Решение: возвращаем Manifest V2 к жизни через реестр Windows

Несмотря на жесткую позицию, Google оставил лазейку в виде активации специальной политики через реестр:

Инструкция для Windows
Шаг 1: Создание файла реестра
  1. Полностью закройте браузер Google Chrome. Убедитесь, что его процессы (chrome.exe) не висят в Диспетчере задач (Ctrl+Shift+Esc).
  2. Откройте "Блокнот" или любой другой текстовый редактор.
  3. Скопируйте и вставьте в него следующий текст без изменений:
  Windows
Registry
Editor
Version 5.00  [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome] "ExtensionManifestV2Availability"=dword:00000002
  1. Нажмите "Файл" → "Сохранить как...".
  2. В открывшемся окне в поле "Тип файла" обязательно выберите "Все файлы (*.*)".
  3. В поле "Имя файла" введите любое название с расширением .reg на конце. Например: chrome_v2_fix.reg
  4. Сохраните файл в удобное место, например, на рабочий стол.
Шаг 2: Применение изменений и активация расширения
  1. Найдите сохраненный .reg файл и дважды щелкните по нему.
  2. Система контроля учетных записей (UAC) спросит разрешение на внесение изменений. Нажмите "Да".
  3. Редактор реестра спросит, действительно ли вы хотите продолжить. Нажмите "Да", а затем "ОК" для подтверждения.
  4. Теперь запустите Google Chrome.
  5. Перейдите на страницу расширений, введя в адресную строку: chrome://extensions/
  6. В верхней части страницы вы увидите предупреждение и список отключенных расширений.
  7. Нажмите на меню с тремя точками (⋮) справа от нужного расширения и выберите появившуюся опцию "Оставить расширение" (Keep extension).
Инструкция для Linux
  1. Откройте терминал.
  1. Создайте директорию для политик, если она не существует:
 
sudo mkdir -p /etc/opt/chrome/policies/managed/
  1. Создайте и откройте файл политики с помощью любого текстового редактора, например, nano:
  sudo nano /etc/opt/chrome/policies/managed/enable_mv2.json
  1. В открывшийся пустой файл вставьте следующий JSON-код:
  {   "ExtensionManifestV2Availability": 2 }
  1. Сохраните файл и выйдите из редактора (в nano: нажмите Ctrl+O, Enter, затем Ctrl+X).
  1. Полностью перезапустите Google Chrome.

Проверка: Откройте chrome://policy → ищите статус "ExtensionManifestV2Availability: 2"

Для Chromium используйте путь: /etc/chromium/policies/managed/

Инструкция для MacOS

В macOS проще всего использовать терминал для установки этой политики одной командой.

  1. Откройте приложение "Терминал" (его можно найти через поиск Spotlight или в папке "Утилиты").
  2. Скопируйте и выполните следующую команду:
  defaults write com.google.Chrome
ExtensionManifestV2Availability
-integer 2
  1. Полностью перезапустите Google Chrome (нажмите Cmd+Q, чтобы полностью закрыть приложение, а затем откройте его снова).

Проверка: Откройте chrome://policy → ищите "ExtensionManifestV2Availability" со значением 2

Важно: Для Chrome Canary замените com.google.Chrome на com.google.Chrome.canary

Примечание: Это изменение применяется только для текущего пользователя. Для всех пользователей системы потребуется использовать MDM-профили или изменить настройки вручную в каждой учётной записи.

Почему этот метод работает? Мы добавляем в реестр ключ, который активирует корпоративную политику ExtensionManifestV2Availability. Установка значения 2 для этой политики дает браузеру команду: "Разрешить запуск расширений с Manifest V2 и позволить пользователю управлять ими". По сути, мы переводим наш личный браузер в режим, где действуют более мягкие корпоративные правила.

Важно: Это решение, скорее всего, временное. В будущем Google может полностью удалить код, отвечающий за работу Manifest V2, и тогда эта политика перестанет действовать. Но пока это самый надежный способ сохранить привычный функционал.


P.S. Manifest V2 не единственная жертва: как Google изменил работу UserScripts

Это не первое подобное решение, принятое Google в последнее время. В конце июня, с выходом Chrome 138, компания также ужесточила политику безопасности в отношении пользовательских скриптов (userscripts), которые работают через такие расширения, как Tampermonkey.

Детали

В чем суть проблемы?

Начиная с версии 138, Google внедрила новый, более строгий механизм безопасности. Ранее для работы пользовательских скриптов достаточно было включить общий "Режим разработчика" в настройках расширений.

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

Именно поэтому после чистой установки или переустановки Tampermonkey ваши скрипты могут не работать — браузер просто не дает расширению права на выполнение кода, даже если сам Tampermonkey включен.

Решение

Решение: включаем разрешение вручную

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

  1. Откройте страницу расширений. Самый простой способ — вставить в адресную строку chrome://extensions и нажать Enter.
  2. Найдите в списке установленных расширений Tampermonkey и нажмите на кнопку "Сведения".
  3. На открывшейся странице вы увидите список всех настроек и разрешений для Tampermonkey. Прокрутите вниз и найдите переключатель с названием "Разрешить пользовательские скрипты" (Allow User Scripts).
  4. Активируйте (включите) этот переключатель.

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

0wn3df1x в 13:16 11 июл 2025

Новости и статьи по тегам:

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

  • Оставить комментарий
  • Дмитрий Соснов 11 июл 2025 16:44:18

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

  • jk232431 11 июл 2025 16:54:27

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

  • domolan1337 11 июл 2025 18:03:31

    0wn3df1x я зарегистрировался на этом сайте специально, чтобы сказать вам ОГРОМНОЕ СПАСИБО ЗА ПОМОЧЬ !!!!!!!!!

  • h1pp0 11 июл 2025 20:10:41
    jk232431 в 16:54 11 июл 2025 сказал:

    в опере они не работали

    в опере всегда с коробки были эти “визуальные закладки” с поддержкой папок

  • 1052 11 июл 2025 22:00:42

    @0wn3df1x добавьте пожалуйста в статью следующую информацию:

    1. Открываем PowerShell от имени администратора и запускаем эту команду (или используем уже готовые reg файлы).
    2. Устанавливаем Tampermonkey Legacy.
    3. В настройках Tampermonkey устанавливаем “Режим конфигурации: Опытный” и “Режим встраивания: Мгновенно”.
    4. Открываем эту ссылку и устанавливаем то, что написано в первом раскрытом спойлере.
    5. Вводим “138.” (без кавычек), как указано во втором раскрытом спойлере.

    Для чего это нужно?

    1. Проще и быстрее, чем указано в статье (“Режим разработчика” и “Разрешить пользовательские скрипты” включать не требуется).
    2. “Режим встраивания: Мгновенно” заставляет пользовательские скрипты моментально работать и это действительно заметно. Этот режим отсутствует в новых версиях Tampermonkey и он необходим для работы некоторых скриптов (например для RU AdList JS Fixes и AdGuard Extra).
    3. Согласно этой информации 5 августа выйдет стабильная версия Chrome 139 в которой будет удалена поддержка расширений Manifest V2. Для того, чтобы не потерять эту поддержку и нужны пункты 4 и 5, тогда Chrome будет обновлять только 138 версию и никогда не обновится на 139 версию.
  • armagedon2000 11 июл 2025 22:28:10

    @1052 Я так понимаю если у меня Версия: 140.0.7259.2 то мне уже поздно выполнять все эти манипуляции?

  • 0wn3df1x 11 июл 2025 22:34:08
    armagedon2000 в 22:28 11 июл 2025 сказал:

    Я так понимаю если у меня Версия: 140.0.7259.2 то мне уже поздно выполнять все эти манипуляции?

    А попробуйте. Интересно, что из этого выйдет.

    612Sv8r.png

  • VerNOX 11 июл 2025 23:08:31

    С зимы пользуюсь данным способом, все расширения работают прекрасно =) Хочу только добавить, что данным способом можно пролонгировать и Chrome, и Chromium, и Яндекс, и все браузеры, базирующиеся на движке Chrome :)

  • armagedon2000 11 июл 2025 23:46:51
    0wn3df1x в 22:34 11 июл 2025 сказал:

    А попробуйте. Интересно, что из этого выйдет.

    612Sv8r.png

    Ничего хорошего, попытался откатиться с помощью “групповой политики” — не получилось.
    Оказывается у меня была dev версия, так что снёс её и скачал stable 138, теперь осталось запретить обновления

    Зато теперь знаем, что на версии 140+ этот способ с сохранением расширений уже не поможет

  • Zerg_4ik 12 июл 2025 14:44:37
    1052 в 22:00 11 июл 2025 сказал:

    @0wn3df1x добавьте пожалуйста в статью следующую информацию:

    1. Открываем PowerShell от имени администратора и запускаем эту команду (или используем уже готовые reg файлы).
    2. Устанавливаем Tampermonkey Legacy.
    3. В настройках Tampermonkey устанавливаем “Режим конфигурации: Опытный” и “Режим встраивания: Мгновенно”.
    4. Открываем эту ссылку и устанавливаем то, что написано в первом раскрытом спойлере.
    5. Вводим “138.” (без кавычек), как указано во втором раскрытом спойлере.

    Для чего это нужно?

    1. Проще и быстрее, чем указано в статье (“Режим разработчика” и “Разрешить пользовательские скрипты” включать не требуется).
    2. “Режим встраивания: Мгновенно” заставляет пользовательские скрипты моментально работать и это действительно заметно. Этот режим отсутствует в новых версиях Tampermonkey и он необходим для работы некоторых скриптов (например для RU AdList JS Fixes и AdGuard Extra).
    3. Согласно этой информации 5 августа выйдет стабильная версия Chrome 139 в которой будет удалена поддержка расширений Manifest V2. Для того, чтобы не потерять эту поддержку и нужны пункты 4 и 5, тогда Chrome будет обновлять только 138 версию и никогда не обновится на 139 версию.

    Вопрос это обязательно делать если нужны ток расширения в не Tampermonkey? можно как то по другому запретить обновлять?

  • 0wn3df1x 12 июл 2025 15:01:49
    Zerg_4ik в 14:44 12 июл 2025 сказал:

    Вопрос это обязательно делать если нужны ток расширения в не Tampermonkey? можно как то по другому запретить обновлять?

    Я не совсем понял, почему там упоминается tamper monkey. Вот инструкция по ограничению обновлений:

    Как ограничить обновления браузера Chrome (Windows)

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

    Шаг 1: Установка шаблонов политик
    1. Скачайте шаблоны политик Google Update по этой ссылке.
    2. Распакуйте архив.
    3. Перейдите в папку policy_templates\windows\admx.
    4. Скопируйте файлы google.admx и GoogleUpdate.admx в системную папку C:\Windows\PolicyDefinitions\.
    5. Затем перейдите в папку policy_templates\windows\admx\ru-RU (или другой язык вашей системы).
    6. Скопируйте файлы google.adml и GoogleUpdate.adml в папку C:\Windows\PolicyDefinitions\ru-RU\.
    Шаг 2: Настройка политики
    1. Нажмите Win + R, введите gpedit.msc и нажмите Enter, чтобы открыть Редактор локальной групповой политики.
    2. Перейдите по пути: Конфигурация компьютера → Административные шаблоны → Google → Google Update → Приложения → Google Chrome.
    3. Найдите и дважды щелкните по параметру "Изменить префикс целевой версии".
    4. В открывшемся окне выберите "Включено".
    5. В поле "Параметры" ниже введите номер версии, до которой вы хотите разрешить обновления (подробнее об этом ниже).
    6. Нажмите "Применить", а затем "ОК".
    Объяснение: Как правильно указать версию

    Вы можете указать версию двумя способами:

    • Основная версия (рекомендуется): Укажите номер основной версии с точкой на конце. Например, 138.

      В этом случае браузер будет продолжать получать обновления безопасности и минорные исправления в рамках 138-й версии, но не перейдет на 139-ю. Это самый безопасный способ "заморозки".

    • Полная версия: Укажите точный номер версии, например, 138.0.7204.101.

      Браузер обновится именно до этой версии и остановится. Этот метод стоит использовать, только если вам нужна конкретная сборка, так как вы рискуете пропустить важные исправления безопасности, которые выйдут в следующих минорных обновлениях.

    Предупреждение

    Оставляя старую версию, вы сознательно подвергаете себя опасности.

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

  • HoeBromin 12 июл 2025 20:27:14

    1. Перейти в chrome://flags

    2. Найти „Разрешить устаревшие версии манифеста расширений“ (Allow legacy extension manifest versions).

    3. Включить флаг и перезапустите браузер

    4.Перейти в github: https://github.com/gorhill/uBlock/releases.

    5. Найти последнюю версию для хрома. Выглядит примерно так uBlock0_xxx.xxx.chromium.zip

    6. Скачать zip-архив хрома и распаковать в удобное место

    7. Открыть расширения в хроме

    8. Включить режим разработчика

    9. Слева сверху кнопка "Загрузить в распакованном виде" (Load unpacked), выбрать распакованный архив

    Можно с любым расширением, главное скачать.

  • 1052 12 июл 2025 20:50:42
    armagedon2000 в 22:28 11 июл 2025 сказал:

    @1052 Я так понимаю если у меня Версия: 140.0.7259.2 то мне уже поздно выполнять все эти манипуляции?

    Для Chrome 140 остаётся только этот способ, но возможно в Chrome 141 даже это уже не поможет.

    Zerg_4ik в 14:44 12 июл 2025 сказал:

    Вопрос это обязательно делать если нужны ток расширения в не Tampermonkey? можно как то по другому запретить обновлять?

    Просто пропустите пункты 2 и 3, если вам не нужен Tampermonkey.

    0wn3df1x в 15:01 12 июл 2025 сказал:

    Я не совсем понял, почему там упоминается Tampermonkey.

    В вашей статье упоминается Tampermonkey, поэтому я и написал про преимущества Tampermonkey Legacy и какой мощный функционал он потерял с переходом на Manifest V3.

    0wn3df1x в 15:01 12 июл 2025 сказал:

    Скачайте шаблоны политик Google Update по этой ссылке.

    В этом архиве нет файлов GoogleUpdate.admx и GoogleUpdate.adml. Их можно скачать тут, но они есть только на английском языке.

  • 0wn3df1x 12 июл 2025 22:17:00
    1052 в 20:50 12 июл 2025 сказал:

    В вашей статье упоминается Tampermonkey, поэтому я и написал про преимущества Tampermonkey Legacy и какой мощный функционал он потерял с переходом на Manifest V3.

    Да не, версия для V3 очень даже хороша. (Хотя я я всегда использую не стандартную версию, а Tampermonkey BETA). Все мои скрипты подстроены под V3.

  • Оставить комментарий