Перейти к основному содержанию

How to debug rules in the MV3 extension

In the AdGuard Browser Extension MV3, the Filtering log only shows the approximate rules that were applied, which we call “assumed rules”. Это связано с тем, что браузер не предоставляет подробную информацию о том, какие именно декларативные правила были использованы, если расширение не «распаковано». Для получения точной информации можно самостоятельно установить «распакованное» расширение в браузере.

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

Необходимые условия​

  1. Git: Установите Git

  2. Node: Установите Node.js

  3. Yarn: Установите Yarn

Как клонировать расширение​

  1. Клонируйте репозиторий:

    git clone git@github.com:AdguardTeam/AdguardBrowserExtension.git
  2. Перейдите в каталог:

    cd AdguardBrowserExtension
  3. Переключитесь на ветку v5.0:

    git checkout v5.0
  4. Установите зависимости:

    yarn install

Как собрать расширение​

  1. Переключитесь на ветку v5.0:

    git checkout v5.0
  2. Выполните следующую команду в терминале:

    yarn dev chrome-mv3
  3. For Opera, run yarn dev opera-mv3 instead — the built extension will be located in the ./build/dev/opera-mv3 directory.

  4. The built extension will be located in the directory:

    ./build/dev/chrome-mv3

Как установить распакованное расширение в браузере​

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

    Developer mode *border

  2. Нажмите Загрузить распакованное:

    Load unpacked *border

  3. Выберите каталог расширения и нажмите Выбрать:

    Select *border

Готово!

Как отлаживать правила​

  1. Найдите и измените нужное вам правило в каталоге ./Extension/filters/chromium-mv3 в файлах .txt.

  2. Преобразуйте правила из txt в декларативный формат:

    yarn convert-declarative
  3. Снова соберите расширение:

    yarn dev chrome-mv3
  4. Перезагрузите расширение в браузере:

    Reload extension *border