Google изменяет API, затрудняя блокировку рекламы в Chrome


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

Почему Google так старается создать браузер?

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

Речь идет об API расширений и, в частности, о webRequest. Если вы хотите написать расширение Chrome, вам необходимо использовать общедоступный API и указать в манифесте, что вы используете. API webRequest позволяет расширениям взаимодействовать с каждым запросом на загрузку файла или ресурса. По сути, это позволяет расширению отслеживать, анализировать и блокировать веб-трафик. В частности, он позволяет блокировщикам рекламы определять, когда веб-страница пытается загрузить рекламу, и блокировать ее. Для этого расширение должно запросить разрешение webRequestBlocking в манифесте. Обратите внимание, что это заблокированная система в том смысле, что Google проверяет все расширения и предоставляет доступ только к тем средствам, которые он считает безопасными и не влияет на эффективность. Да, это огороженный сад.

Раньше Firefox был полностью открыт в отношении расширений и того, что они могут делать, поскольку, будучи написанным на HTML и JavaScript, вы могли получать доступ и взаимодействовать практически с чем угодно во внутреннем устройстве браузера. Это уже не так, поскольку Firefox был полностью переработан и теперь использует тот же API расширений, что и Chrome.

Проблема началась, когда была опубликована версия манифеста для V3:

«В Manifest V3 мы будем стремиться ограничить блокирующую версию webRequest, потенциально удаляя параметры блокировки из большинства событий (делая их только наблюдательными). Блокировщики контента должны вместо этого использовать declarativeNetRequest (см. Ниже)».

Это вызвало реакцию Раймонда Хилла, разработчика uBlock Origin и uMatrix.

«Если этот (довольно ограниченный) declarativeNetRequest API окажется единственным способом, с помощью которого блокировщики контента могут выполнять свои обязанности, это, по сути, означает, что два блокировщика контента, которые я поддерживал в течение многих лет, uBlock Origin (« uBO ») и uMatrix, больше не могут существовать. »

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

«Помимо того, что uBO и uMatrix больше не могут существовать, вызывает серьезное беспокойство то обстоятельство, что предложенный API declarativeNetRequest сделает невозможным создание новых и новаторских механизмов фильтрации, поскольку API declarativeNetRequest — это не более чем реализация одного конкретного механизм фильтрации и довольно ограниченный (ограничение в 30 000 недостаточно, чтобы обеспечить соблюдение только известного EasyList) «.

Также стоит отметить, что Google платит Adblock Plus за внесение своей рекламы в белый список. Конечно, ничто не мешает другим создавать блокировщики рекламы, которые используют declarativeNetRequest и блокируют рекламу Google.

Если вы прочитаете комментарии, вы найдете много «Я никогда больше не использую Chrome» и того хуже. Дело в том, что большинство пользователей не будут следовать этому аргументу и просто обнаружат, что их блокировщик рекламы больше не работает. Скорее всего, они просто воспользуются другим, более слабым блокировщиком рекламы. Chrome потеряет несколько процентных пунктов в рыночной доле, и, вероятно, все пойдет по-прежнему.

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


Добавить комментарий