
С января мы следим за рядом крупных изменений в расширениях Google Chrome, известных как Manifest V3, которые включают спорный пересмотр того, как должны функционировать блокировщики рекламы. В ответ на подавляющее большинство негативных отзывов Google создал внутренний тест производительности для блокирующих рекламу расширений, чтобы показать свою приверженность к разрешению использования блокировщиков рекламы в Chrome.
Кратко напомним, что основная часть Manifest V3 Chrome, с которой возникли проблемы у сообщества, заключается в том, что расширения больше не смогут использовать блокирующие возможности API «Web Request». Такие расширения, как uBlock Origin и Ghostery, используют его для блокировки нежелательного веб-контента (например, рекламы и трекеров) еще до его загрузки.
Проблема, которую видит Google в текущей работе API «Web Request», заключается в том, что любое расширение может получить незаметный доступ ко всем вашим данным трафика Chrome. Добросовестные расширения Chrome, разумеется, не злоупотребляют этим, но, по сообщениям, 42% вредоносных расширений делают это.
Google намерена устранить эту очевидную проблему конфиденциальности с помощью Manifest V3, заменив блокирующие возможности «Web Request» API на API «Declarative Net Request». В то время как API «Web Request» проверял расширения для каждого сетевого запроса, «Declarative Net Request» вместо этого требует, чтобы расширения заранее «декларировали», какие запросы необходимо изменить и какие действия с ними предпринять.
Google предоставила несколько наглядных иллюстраций, чтобы лучше объяснить эти различия.
- Web Request
- Declarative Net Request
- Проблема конфиденциальности объяснена
С помощью первых двух диаграмм команда также пытается доказать, что расширения для блокировки рекламы, использующие «Declarative Net Request», должны работать быстрее, чем предыдущий API «Web Request». Это действительно может быть так, поскольку Chrome не нужно будет проверять каждое расширение, а только те, которые зарегистрировали соответствующее правило.
Тестирование производительности
Чтобы вскоре подтвердить это заявление, Google идет самым прямым путем, создавая собственное расширение-блокировщик рекламы для тестирования. Замеченное на сайте управления исходным кодом Gerrit Chromium, член команды Chromium работал над двумя проектами, связанными с блокировкой рекламы.
Первый — это инструмент, предназначенный для преобразования списков фильтров блокировщика рекламы в правила «Declarative Net Request». Второй — результат работы этого инструмента, простое расширение-блокировщик рекламы, используемое исключительно для внутреннего тестирования производительности, основанное на преобразованной версии популярных списков фильтров блокировщиков рекламы EasyList и EasyPrivacy. Согласно связанному отчету об ошибке, цель этих проектов — помочь Google протестировать производительность блокировщиков рекламы и на ранней стадии выявить, вызывает ли изменение в Chrome «регрессию» в производительности блокировщиков рекламы.
Для этого тестовое расширение-блокировщик рекламы будет проверять около 6000 веб-соединений, прогоняя каждое через преобразованные правила EasyList. В настоящее время этот тест предназначен для измерения скорости обработки каждого запроса расширением и объема используемой оперативной памяти.
Следует отметить, что не каждое предлагаемое изменение кода, найденное в Gerrit Chromium, попадает в Google Chrome. Поэтому мы будем внимательно следить за этим тестом производительности блокировщиков рекламы по мере его развития и итераций в будущем.
Изменения в лимитах правил
Прежде чем они смогли фактически использовать этот тест блокировщика рекламы, Google пришлось решить еще одну проблему с Manifest V3. Одной из претензий критиков было предлагаемое ограничение на количество «правил», которые каждое расширение могло создать, установленное на уровне 30 000.
Тест Google для блокировщиков рекламы еще раз подтвердил справедливость претензии, поскольку он преобразовал более 75 000 фильтров EasyList в чуть менее 40 000 правил. (Для справки, инструмент преобразования Google полностью проигнорировал части списков фильтров, которые изменяли визуальное представление страницы, сосредоточившись исключительно на сетевых фильтрах.)
В ответ на эту обратную связь предложение корректируется до максимального количества в 150 000 правил, совместно используемых расширениями.
Мы активно изучаем другие способы расширения этого API, включая добавление методов для получения обратной связи о совпавших правилах и поддержку более богатых перенаправлений с использованием манипуляции URL и регулярных выражений. Кроме того, в настоящее время мы планируем изменить лимит правил с максимальных 30 тысяч правил на расширение до глобального максимума в 150 тысяч правил.
Позиция Google по блокировщикам рекламы
На самом деле, это даже не первый случай, когда Google создает что-то вроде блокировщика рекламы, поскольку компания запустила встроенный блокировщик рекламы для Chrome в начале прошлого года. Однако этот встроенный блокировщик нацелен только на рекламу, которая не соответствует «Стандартам лучшей рекламы».
В целом, Google пытается донести мысль о том, что Chrome не отказывается от расширений-блокировщиков рекламы. Создание выделенного теста для проверки производительности блокировщиков рекламы в Chrome — это сильный признак их будущего в браузере.
Эта статья была обновлена, чтобы дополнительно подчеркнуть, что она предназначена только для внутреннего тестирования.
