...

среда, 23 января 2019 г.

Предлагаемые изменения в Chromium нарушат работу uBlock Origin

Разработчик uBlock Origin заявил, что его расширение для блокировки рекламы не сможет работать, если будут приняты изменения в Chromium. Речь идёт о внедрении declarativeNetRequest API, которые лишают возможности использовать webRequest API. Google считает, что изменения необходимы для быстрой работы встроенного в Chromium блокировщика рекламы, а также реализации в браузере функциональности, которая сейчас есть в Adblock Plus (тот же синтаксис и т. д.).

Проблема в том, что эти интерфейсы плохо совместимы с текущей схемой работы uBlock Origin: «Если блокировщики смогут работать только через эти (весьма ограниченные) declarativeNetRequest API, то фактически это означает, что два блокировщика, которые я поддерживал в течение многих лет, uBlock Origin и uMatrix, больше не смогут существовать», — написал Реймонд Хилл.
Изменения не отключат полностью сторонние блокировщики. Просто их лишают доступа к webRequest API, который они используют для прослушивания событий и блокировки контента на лету во время загрузки страницы. В новой системе блокировщики не смогут блокировать события на основании webRequest API, а смогут только просматривать события. Это должно ускорить загрузку страниц в браузере, потому что расширения больше не будут тормозить основной поток, считают инженеры Google.

Вместо этого расширениям предлагают перейти на declarativeNetRequest API — и сообщать браузеру о тех событиях, которые они хотят заблокировать. То есть контроль переходит к браузеру. Кроме ускорения работы, изменения делаются якобы для улучшения приватности пользователей: «DeclarativeNetRequest API обеспечивает лучшую конфиденциальность для пользователей, поскольку расширения не могут фактически читать сетевые запросы, сделанные от имени пользователя», — объясняет документация API от Google.

Блокировщики контента основаны на идее, что пользователи, а не кто-то другой, контролирую контент в своём браузере и то, как их отображает его и взаимодействует с удалёнными ресурсами. Никто не имеет право заставлять человека просмотреть ту информацию, которую он не желает смотреть: это одно из базовых прав и свобод личности.

Управление блокировкой рекламы через браузер, а не стороннее расширение, можно только приветствовать, если бы не одно возражение. Дело в том, что на Chromium основан самый популярный браузер в интернете Chrome, который выпускает компания Google. А она львиную долю своей прибыли получает именно от рекламы в интернете. Наивно предполагать, что компания станет прилагать особенные усилия, чтобы помочь пользователям заблокировать свою рекламу. Скорее наоборот, она приложит усилия, чтобы встроенными в браузер средствами сделать это было как можно труднее или вообще невозможно. А если внедрят изменения Manifest v3, то uBlock Origin перестанет работать.

Реймонд Хилл обращает внимание, что в declarativeNetRequest API используется система фильтрации в стиле Adblock Plus, не совместимая с uBlock Origin. Он считает, что это фундаментальная ошибка: «Кроме того, что uBlock Origin и uMatrix не смогут существовать, вызывает озабоченность тот факт, что предлагаемые declarativeNetRequest API блокируют внедрение новых движков фильтрации контента на инновационной архитектуре, поскольку declarativeNetRequest API — не больше чем реализация одного конкретного движка фильтрации, и довольно ограниченная реализация (лимита в 30 000 ограничений недостаточно для отработки одних только известных списков EasyList)».

Хилл заметил, что в новом API не поддерживаются некоторые другие возможности, включая блокировку мультимедийных элементов больше указанного размера, отключение выполнения JavaScript путём введения директив Content-Security-Policy и удаление исходящих заголовков куков. Рэймонд считает, что эти изменения не в интересах пользователей.

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

Это своеобразный компромисс. С одной стороны, браузерные расширения, такие как uBlock Origin, больше не смогут реализовать собственный механизм фильтрации. С другой стороны, встроенный в Chromium механизм фильтрации станет гораздо быстрее, чем сейчас. В принципе, другие браузеры тоже движутся в сторону постепенного ограничения в правах сторонних расширений.

Некоторые другие разработчики, комментируя предлагаемое изменение, выразили тревогу, что Google использует конфиденциальность в качестве предлога для того, чтобы поставить интересы своего рекламного бизнеса над интересами пользователей браузера.

Представители Google сказали, что окончательные спецификации Manifest v3 ещё не утверждены, продолжается обсуждение.

Let's block ads! (Why?)

Комментариев нет:

Отправить комментарий