Google Chrome переходит на Manifest V3, но что это означает для блокировщиков рекламы?

манифест-v3-переход

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

Если у вас есть расширения, которые все еще построены на Manifest V2, они очень, очень скоро перестанут работать. Разработчикам долго говорили, что это изменение тоже грядет, и Google приостановил процесс обновления, чтобы учесть отзывы разработчиков, а затем возобновил его в декабре прошлого года. С тех пор многие приложения сделали решительный шаг и перешли на Manifest V3.

Хотя Manifest V3, безусловно, усложняет жизнь блокировщикам рекламы, несмотря на заголовки, блокировщики рекламы никуда не исчезнут. С Chrome 127 и более поздними версиями ситуация станет сложнее, но это ни в коем случае не означает смерть блокировщиков рекламы.

Что такое Manifest V3? Какие браузеры будут его использовать?

Расширения построены на версиях Манифеста

манифест-v3-переход

Manifest V3 — это новейшая платформа расширений для браузеров на базе Chromium, которая представляет собой переработку архитектуры и политик, управляющих расширениями браузера. Это масштабное обновление, хотя новые версии Manifest редки. Manifest V2 вышел в 2012 году, и расширения Manifest V1 также должны были обновиться или стать несовместимыми с более поздними версиями Google Chrome.

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

Другие браузеры также будут поддерживать Manifest V3 в будущем, хотя большинство не намерено убирать поддержку Manifest V2. Firefox от Mozilla является ярким примером этого, который реверсировал API расширений Chrome. Хотя Mozilla заявила, что Firefox будет поддерживать Manifest V3 в будущем, планов по прекращению поддержки Manifest V2 нет. В частности, Mozilla по-прежнему будет специально поддерживать API webRequest для расширений Manifest V3, которые хотят продолжать блокировать контент с его помощью.

Что касается Vivaldi, разработчики, стоящие за ним, уже подтвердили, что продолжат поддерживать Manifest V2, пока он не будет окончательно удален из Chrome. Однако, как это будет работать, не совсем ясно. Vivaldi устанавливает свои расширения через Chrome Web Store, и Google начнет скрывать расширения Manifest V2 там очень скоро. Браузер Brave находится в том же положении, что и Vivaldi, хотя Brave заявил, что они будут явно работать над поддержкой нескольких расширений Manifest V2, включая uBlock Origin.

Все расширения Manifest V2 будут полностью удалены из Chrome Web Store в июне 2025 года, поэтому для тех браузеров, у которых нет собственного центрального репозитория расширений, могут возникнуть некоторые трудности при установке этих старых, неподдерживаемых расширений.

Как Manifest V3 обходит блокировщики контента, такие как uBlock Origin?

Изменения в webRequest затрудняют блокировку контента

Поток загрузки страницы, когда расширение использует веб-API Request

Возвращаясь к 2019 году, когда Google впервые объявила о выходе Manifest V3, разработчик uBlock Origin Рэймонд Хилл заявил, что «это станет смертью uBO и uMatrix». Кроме того, он сказал, что считает это изменение излишне ограничительным по отношению к расширениям, отметив, что «вопросы производительности и конфиденциальности связаны с веб-сайтами», а не с расширениями.

Однако, чтобы быть точным, у Google была определенная проблема с API webRequest и тем, как он использовался разработчиками расширений. Этот API позволял расширению видеть весь ваш трафик и просмотр веб-страниц, предоставляя ему полный доступ ко всему, что вы делаете в сети. В 2019 году Google заявил, что по состоянию на январь 2018 года 42% всех расширений использовали этот API, и я могу только представить, что после этого этот показатель вырос еще больше.

декларативный поток расширения API Net Request

Источник: Google

Кроме того, существуют проблемы с производительностью, связанные с использованием API webRequest. Для любого расширения, которое это делает, все сетевые запросы должны сначала пройти обработку этого расширения. Если расширение не оптимизировано для производительности или если у вас много расширений, работающих на вашем ПК с использованием этого API, то вы можете обнаружить, что страницы загружаются медленно. uBlock Origin уже опроверг этот момент, но, учитывая, что 42% расширений в то время использовали API, вероятно, справедливо будет сказать, что не все из них были так оптимизированы, как такие, как uBlock.

Разница с API declarativeNetRequest заключается в том, что вместо того, чтобы расширение выполняло всю фильтрацию, оно сообщает Chrome, что фильтровать, а браузер выполняет фильтрацию. Хотя API был не очень хорош в начале, Google продолжал работать над его улучшением и добавлением новых функций в результате отзывов разработчиков от таких разработчиков, как AdGuard и Adblock Plus. Когда он был впервые представлен, он был излишне ограничительным и не имел многих функций, чтобы сделать его подходящей заменой, но со временем это улучшилось, и теперь он стал значительно лучше для разработчиков.

Хотя Google и имеет некоторую долю в игре, когда дело касается предотвращения блокировки рекламы, есть много причин полагать, что это на самом деле не связано с позицией компании как рекламодателя. Конечно, было много обоснованных опасений относительно обилия расширений, использующих API webRequests, как с точки зрения производительности, так и с точки зрения конфиденциальности. Хотя такие, как uBlock Origin и Adblock Plus, возможно, значительно улучшают производительность, нет никаких сомнений, что множество расширений почти наверняка ее ухудшают.

Google также говорит об API declarativeNetRequest:

Такой подход имеет преимущества как для безопасности и конфиденциальности пользователя, так и для производительности. При декларативном подходе Chrome не нужно предоставлять расширению какие-либо конфиденциальные данные. Браузер может выполнить действие, запрошенное расширением, не отправляя ему все данные, связанные с сетевым запросом, поскольку расширение уже указало условия, при которых выполняются различные действия. Это позволяет расширению выполнять блокировку контента без необходимости доступа ко всей личной информации пользователя.

Хотя компания хочет, чтобы вы верили, что ее позиция правильная, имейте в виду, что на протяжении многих лет компания подвергалась многочисленным антимонопольным искам. За Google все время следят многие, и компании придется хорошо обращаться с блокировщиками рекламы, чтобы сохранить некое подобие справедливости. Компания уже пытается найти способы предотвратить использование блокировщиков рекламы на таких сервисах, как YouTube, но прямое нацеливание на расширения, которые используют самый большой браузер в мире, почти наверняка приведет компанию к неприятностям.

Что происходит с uBlock Origin?

Замена уже есть.

Параметры фильтрации uBlock Origin Lite

Если вы хотите продолжить использовать uBlock Origin, уже есть новая версия под названием uBlock Origin Lite. Она имеет всю ту же фильтрацию, что и uBlock Origin, она передает обработку Chrome вместо расширения, и вы по-прежнему можете предоставить ей более продвинутые параметры фильтрации, предоставив ей больше разрешений. Я использовал uBlock Origin и не заметил никаких реальных различий, и она так же хороша, как и обычный uBlock, но с дополнительными преимуществами конфиденциальности и производительности.

Если вы хотите найти список технических различий между uBlock Origin и uBlock Origin Lite, Хилл опубликовал страницу на GitHub, описывающую различия между ними. Есть некоторые возможности фильтрации, которые все еще не могут быть перенесены в Manifest V3, и их довольно много. К ним относятся:

Поскольку API declarativeNetRequest не поддерживает возможность применения правил в соответствии с верхним контекстом, т. е. URL-адресом в адресной строке, следующие возможности не могут поддерживаться:

API declarativeNetRequest не позволяет фильтровать по содержимому заголовков ответа, поэтому невозможно:

Следующие параметры фильтра не могут быть преобразованы в правила DNR:

Раскрытие CNAME зависит от каждой реализации DNR; на момент написания статьи ни одна реализация DNR не поддерживала эту возможность.

Также были высказаны обвинения в том, что uBlock Origin Lite является недобросовестной попыткой перехода на Manifest V3, и что Хилл намеренно саботирует переход, чтобы попытаться дать отпор Manifest V3. Нет никаких доказательств, подтверждающих это, и uBlock Origin Lite является полностью декларативной реализацией uBlock. Это означает, что он может отставать в некоторых отношениях, но он создан с полным учетом духа Manifest V3.

Как узнать, какие расширения перестанут работать?

В Chrome есть встроенный инструмент проверки

Манифест V3 «Эти расширения могут больше не поддерживаться»

Если вы хотите узнать, какие из ваших расширений будут удалены, перейдите в раздел «Настройки» в правом верхнем углу и нажмите «Расширения». Это перенесет вас на страницу со всеми вашими расширениями, включая те, которые не будут поддерживаться будущим обновлением Chrome. Это расширения, которые не построены на Manifest V3 и перестанут работать в будущем.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *