В ожидании Chrome Manifest V3 с 2019 года: что изменилось за это время?
Больше четырёх лет назад, в начале 2019 года, команда разработчиков Google Chrome объявила о кардинальных изменениях в платформе браузерных расширений, получивших название Manifest V3.
Мы неоднократно обсуждали потенциальные проблемы, к которым могут привести эти изменения:
- Говорили о причинах этих изменений и о том, почему, на наш взгляд, был выбран именно этот путь, а не какой-либо другой
- Выразили мнение, что это не конец света и на расширениях для браузеров свет клином не сошёлся
- Объяснили, как мы в AdGuard планируем адаптироваться к этим изменениям и какие существуют угрозы для экосистемы фильтров
Изначально Manifest V3 встретили негативно практически все — от сообщества разработчиков (не только блокировщиков рекламы) до пользователей, которые опасались последствий внедрения более жёсткой и, откровенно говоря, сырой платформы.
К счастью, команда Chrome приостановила внедрение Manifest V3 до тех пор, пока не будут устранены все основные ошибки и проблемы. Если вы перейдёте по ссылке выше, то увидите, что этот момент почти настал: ожидается, что к выходу Chrome 120 все основные проблемы будут решены. А это значит, что интеграция Manifest V3 приближается, и пришло время обсудить текущее положение дел.
За последние несколько лет меня часто спрашивали, как Manifest V3 повлияет на браузерные расширения. В этой статье я постараюсь дать ответы на наиболее популярные вопросы по этой теме.
Что вы думаете о Manifest V3?
В своём отношении к новой платформе я прошёл несколько этапов. Начиналось всё, естественно, с сопротивления. Но, к чести разработчиков Chrome, я должен признать, что благодаря их усилиям моё мнение изменилось. Дальше я перечислю наиболее важные факторы, повлиявшие на мою точку зрения.
Рабочая группа W3C
Пожалуй, самым значительным изменением для меня стало создание W3C WebExtensions Community Group, в которой разработчики Mozilla, Safari и Chrome вместе с разработчиками браузерных расширений работают над спецификациями для общей платформы расширений, которая будет поддерживаться всеми основными браузерами мира.
Что это изменило? Да всё! Мы наконец услышали друг друга. Разработчики расширений лучше стали понимать цели и мотивы команд разработчиков браузеров, а последние получили возможность узнать о наших трудностях из первых рук. Но мало быть услышанными — надо действовать. Со временем мы увидели, как команды разработчиков браузеров активно вкладывались в улучшение ситуации. В некоторых случаях это означало исправление недочётов, в других — внедрение серьёзных изменений, вроде нового API для пользовательских скриптов.
Группа W3C — это инициатива, движимая энтузиазмом отдельных инженеров, и я хотел бы от всего сердца их поблагодарить.
Инвестиции в платформу расширений
Я имею дело с расширениями для браузеров уже более 10 лет и с удовольствием наблюдаю за всеми изменениями, которые происходят с ними. Будем откровенны, платформа расширений никогда не была приоритетом для Chrome. На протяжении большей части её существования ею занималась лишь горстка людей, а в самом начале и вовсе один человек.
Сейчас ситуация полностью изменилась. Я вижу, что за последние несколько лет Chrome вложил в платформу значительные ресурсы и расширил команду. Это видно по масштабам и срокам изменений, которые вносятся в саму платформу. Это также видно по шкале изменений в Chrome WebStore.
Команда Google присутствовала на последнем Ad-Filtering Dev Summit, и я рекомендую посмотреть их презентацию, чтобы понять, о чём я говорю:
.Так ли страшен Manifest V3?
Позвольте мне сразу перейти к делу. Если коротко, то:
- В целом, всё далеко не так плохо
- Изменения в Manifest V3 действительно глобальны и требуют огромных усилий от всех участников процесса. Стоит ли оно того? Думаю, да. В итоге мы получим единую кросс-браузерную платформу. При этом мы, разработчики браузерных расширений, также оказываем влияние на эту платформу: она не статична и продолжает меняться и совершенствоваться с течением времени
- Плохо ли, что Chrome настаивает на удалении некоторых функций, таких как webRequest API, которые позволяли блокировщикам рекламы реализовывать собственные движки фильтрации? Да, нам это не нравится. И будь это в наших силах, мы бы здесь ничего не меняли. Но я очень надеюсь, что наша коллективная работа над платформой сможет компенсировать эту проблему
Насколько AdGuard готов к Manifest V3?
Год назад компания AdGuard выпустила первый в мире блокировщик рекламы на базе Manifest V3. Вот видео с прошлогоднего Ad-Filtering Dev Summit, на котором я представил его публике:
.В этом году мы рассказали о нашей работе над улучшением этого расширения и о том, какие шаги ещё предстоит предпринять нашей команде:
.Также мы уже рассказывали об изменениях в нашем основном расширении и его подготовке к внедрению Manifest V3.
Короче говоря, мы ещё не закончили работу, но свет в конце тоннеля определённо виден. Прототип блокировщика рекламы на базе MV3 уже демонстрирует хорошее качество фильтрации, в чём вы можете убедиться сами.
Правда ли, что блокировщики рекламы будут работать гораздо хуже?
Нет, это неправда. Несмотря на потерю небольшой части функциональности, блокировщики рекламы смогут предложить практически то же качество фильтрации, которое они продемонстрировали в Manifest V2.
Основная проблема при переходе на Manifest V3 — сложность поддержания единой экосистемы для списков фильтров, которые в настоящее время используются всеми блокировщиками рекламы. Но мы работаем и над этим, и я верю, что со временем нам удастся улучшить ситуацию. Такие проекты, как AGLint и наш плагин для Visual Studio Code, позволят разработчикам фильтров легко поддерживать фильтры, совместимые со всеми версиями блокировщиков рекламы.
Правда ли, что все блокировщики рекламы станут одинаковыми и не смогут конкурировать?
Это верно лишь отчасти. Тот факт, что «движок», фильтрующий сетевые запросы, реализуется браузером, действительно лишает блокировщики рекламы части их индивидуальности.
Однако блокировщики рекламы уже давно вышли за рамки простого блокирования сетевых запросов. Если проанализировать работу над движком фильтрации за последние несколько лет, то большая часть усилий была сосредоточена на расширении косметических фильтров и скриптов. Причём их использование остаётся (и по большей части останется в будущем) уникальным для каждого блокировщика рекламы.
Даже в отношении декларативных правил фильтрации сетевых запросов всё не так однозначно. Грамотная и качественная конвертация из традиционного синтаксиса правил фильтрации (который останется стандартом де-факто) в формат, поддерживаемый браузером, остаётся очень сложной инженерной задачей. Блокировщики рекламы, которые лучше справятся с этой задачей, покажут более высокие результаты по сравнению с конкурентами.
Правда ли, что Manifest V3 затруднит внедрение инноваций?
Это, опять же, частично верно. Рассмотрим простой сценарий. Использование искусственного интеллекта для автоматического распознавания и блокировки рекламы часто обсуждается в сообществе разработчиков блокировщиков рекламы. Без возможности принимать в реальном времени решения о том, что и как блокировать, нам действительно будет сложнее внедрять новые технологии блокировки.
Это не означает, что мы вообще не сможем реализовать такие технологии. Нам придётся изобретать новые, более изощрённые способы их внедрения. Удастся ли нам справиться с этой задачей, пока неизвестно.
Правда ли, что Manifest V3 повысит уровень конфиденциальности и безопасности браузера?
Честно говоря, я бы так не сказал. Я вижу преимущества MV3 с точки зрения унификации, кроссплатформенной совместимости и производительности, но с точки зрения повышения безопасности пользователей, к сожалению, никаких преимуществ не вижу. Количество мошеннических расширений в Chrome Web Store по-прежнему велико, несмотря на то, что магазин уже давно не принимает расширения, не относящиеся к MV3.
Я остаюсь при своём мнении: единственный способ повысить безопасность пользователей — это лучше модерировать браузерные расширения. Если у команды Chrome Web Store сейчас не хватает ресурсов для очистки магазина от мошенников, то, возможно, следует усовершенствовать внутренние гайдлайны и теснее сотрудничать с сообществом специалистов по кибербезопасности.
Возможно, в будущем, с развитием платформы расширений, ситуацию можно будет немного улучшить. Но я сильно сомневаюсь, что мы сможем выйти за рамки незначительных улучшений только за счёт изменений в платформе.
Так стоит ли в конце концов перестать беспокоиться?
Ни в коем случае! Именно ваша озабоченность и вовлечённость мотивируют всех нас продолжать работать. Это касается как разработчиков браузерных расширений, так и разработчиков браузеров. Что бы ни говорили люди, какие бы противоречия ни возникали на нашем пути, наша общая цель — сделать вашу жизнь лучше. А без взаимодействия с вами как мы, разработчики, узнаем, что делать дальше?
И наконец, если вас утомляет неустанное наблюдение за событиями вокруг браузерных расширений, вы всегда можете перейти на премиум-версии AdGuard и установить одно из наших приложений: для Windows, Mac или Android. Все они работают на сетевом уровне и блокируют рекламу в любом браузере.