Браузерное расширение AdGuard MV3 для Chrome
Поскольку интернет-магазин Chrome скоро совсем перестанет поддерживать MV2-расширения, пользователям рекомендуется перейти на MV3-расширения, совместимые с новым API Chrome Manifest V3. Что мы думаем о новом API Chrome, мы не раз рассказывали в блоге.
Наше MV3-расширение эффективно блокирует рекламу и трекеры, а также убирает виджеты социальных сетей, баннеры и видеорекламу. Большинство пользователей не заметят переход на MV3, но о некоторых ограничениях и изменениях следует рассказать.
Где найти наши расширения
MV3-расширение заменило наше старое расширение в интернет-магазине Chrome.
Бета-версия MV3 по-прежнему доступна в интернет-магазине Chrome.
Бета-версия старого расширения будет переименована в AdGuard Антибаннер и будет поддерживаться до тех пор, пока Google это позволяет.
Основные изменения в функциях и настройках
- Нет автоматического и ручного обновления фильтров. Во вкладке Фильтры больше нет опций Автообновление фильтров и Проверить обновления фильтров. Поскольку некоторые правила теперь применяются с помощью DNR, мы не можем обновлять фильтры по запросу, только через полное обновление расширения в сторах. 
- Журнал фильтрации  - Из-за ограничений declarativenetRequest мы не можем точно показать, какое правило сработало, но покажем «предполагаемое правило» на основе данных нашего движка. Для получения точной информации можно самостоятельно установить «распакованное» расширение в браузере. Как это сделать, вы узнаете в другой статье. 
- Защита от трекинга  - Здесь больше нет раздела Файлы cookie, а также Самоуничтожение куки сайта и Самоуничтожение сторонних куки отсутствуют, поскольку мы не можем устанавливать время жизни файлов cookie с помощью декларативных правил. 
- В основных настройках больше нет вкладки Защита от фишинговых и вредоносных сайтов. Чтобы защитить себя от таких сайтов, включите соответствующие фильтры Безопасности на вкладке Фильтры.  
Ограничения
Максимальное количество правил и фильтров
Manifest V3 накладывает ограничения на статические правила и правила с регулярными выражениями для каждого расширения. Пользователи могут увидеть уведомления, если эти ограничения превышены.


Manifest V3 делит правила на статические (встроенные) и динамические, и для всех действуют строгие ограничения.
Статические правила: минимум 30 000 правил на расширение, с общим лимитом 330 000 для всех расширений, установленных одним пользователем.
Для правил с регулярными выражениями лимит составит 1000 правил на расширение.
Максимальное количество одновременно включенных фильтров — 50.
Динамические правила: установлено строгое ограничение в 5000 правил, включая не более 1000 правил с регулярными выражениями.
Если этот лимит превышен, будут применены только 5000 преобразованных правил в следующем порядке: правила Белого списка, Пользовательские правила, Собственные фильтры и Фильтр быстрых исправлений.
Преобразованные правила — это правила, которые были преобразованы в [формат DNR] с помощью декларативного конвертера. В ходе преобразования некоторые правила могут отменять другие (
$badfilter), а некоторые могут объединиться ($removeparam), в результате чего порядок правил изменится.Из этого списка преобразованных правил будут использоваться только 5000 правил. Остальные будут отображены в редакторе, но применяться не будут.
Вот пример того, как правило с базовым модификатором преобразуется в декларативное правило:
||example.org^$script,third-party,domain=example.com
преобразуется в
[
    {
        "id": 1,
        "action": {
            "type": "block"
        },
        "condition": {
            "urlFilter": "||example.org^",
            "domainType": "thirdParty",
            "initiatorDomains": [
                "example.com"
            ],
            "resourceTypes": [
                "script"
            ]
        },
        "priority": 302
    }
]
Больше примеров можно найти на GitHub.
Модификаторы сетевых правил
Применение модификаторов сетевых правил тоже изменилось: некоторые вообще не могут быть реализованы в условиях MV3, а некоторые работают с ограничениями.
Более подробную информацию об ограничениях можно найти на GitHub. Добавили информацию об этих модификаторах в Базу знаний.