В последнее время сообщество активно обсуждает изменения, которые инженеры Google планируют внести в Manifest v3, определяющий возможности и ограничения для расширений. Напомню, что из-за планируемых нововведений в Chrome могут перестать работать блокировщики контента и другие расширения, а разработчики Firefox, Opera, Brave и Vivaldi уже заявили, что не намерены слепо следовать за изменениями в Chromium и внесут в свои браузеры собственные коррективы.

Теперь издание ZDNet обратило внимание, что на фоне шквала критики, обрушившегося на Google, довольно интересно выглядит ситуация, сложившаяся вокруг компании Apple. Дело в том, что Apple точно так же ограничила работу блокировщиков и других расширений в Safari, однако никто не возмутился этому и не обратил внимания.

Все началось еще несколько лет назад, когда Apple анонсировала механизм App Extensions, с помощью которого приложения могут расширять свою функциональность на другие приложения. Тогда разработчики заявили, что App Extensions будет работать в тандеме с Content Blocker, механизмом, представленным в составе iOS 9 еще в 2013 году. По сути, приложения или их расширения могут использовать API Content Blocker, чтобы сообщить Safari, что именно нужно блокировать, основываясь на наборе правил, который вступает в дело перед загрузкой страницы.

В итоге, внедрив эти механизмы в свою экосистему, инженеры Apple пришли к выводу, что веб-разработчикам не нужно создавать расширения для Safari напрямую, вместо этого они могут использовать приложения в App Store и таким образом предоставить пользователям Safari дополнительные функции.

В результате, в середине 2018 года Apple объявила экосистему расширений устаревшей и начала рекомендовать разработчикам расширений переносить свой код в App Store в качестве расширений приложений. Первый шаг в этом направлении был сделан в сентябре 2018 года, когда Apple выпустила iOS 12 и начала блокировать установку устаревших расширений не из Safari Extensions Gallery. К концу того года Apple окончательно перестала принимать устаревшие расширения в Safari Extensions Gallery, а также начала отключать устаревшие продукты в браузерах пользователей с сообщением «Safari отключил расширения, которые замедляют работу в интернете».

Тогда многие разработчики расширений писали, что такое всплывающее окно появилось для любых расширений без разбора, независимо от того, что расширение сделало (или не сделало). Многие тогда предположили, что таким образом Apple побуждает пользователей отказаться от устаревших расширений ради использования App Extensions.

Начиная с этой недели и релиза iOS 13 Apple окончательно отказалась от Safari Extensions Gallery и официально объявила, что расширения устарели. Теперь пользователи Safari не могут установить устаревшее расширение вообще, независимо от того, используют они iOS или macOS,  размещено расширение в Safari Extensions Gallery или же нет. Более того, пользователи Apple практически не обращали внимания на эти постепенные изменения, так как видели сплошные  преимущества в происходящем: универсально работающие App Extensions и новый API Content Blocker, который Apple преподносила как способ изолирования расширений и запрета доступа к информации бразуера.

Однако эти изменения негативно повлияли на многие блокировщики контента, VPN,  расширения для обеспечения родительского контроля и так далее. Например, блокировщик рекламы AdGuard закрыл расширение для Safari в июле прошлого года. Вскоре после этого компания Malwarebytes сообщила о прекращении разработки своего VPN-расширения. А создатели AdBlock написали большой пост в блоге, сообщив, что их переделанный блокировщик рекламы для Safari работает быстрее, чем раньше, но также перечислили и длинный список его недостатков. Осенью 2018 года, после выпуска iOS 12, их примеру последовали и другие приложения.

Наконец, совсем недавно была прекращена разработка uBlock Origin для Safari, а разработчик расширения рекомендовал пользователям либо переходить на использование Firefox для Mac, где блокировщики по-прежнему работают, либо остаться на более старой версии Safari (что нельзя назвать хорошим советом). Переключиться на использование одного из новых блокировщиков на основе Content Blocker, конечно, тоже можно, но разработчик охарактеризовал новую систему как «крайне ограниченную в функциональности блокирования рекламы».

Журналисты ZDNet поясняют, что причина у этой ограниченности та же самая, по которой грядущие изменения в Chrome подверглись столь жесткой критике. Так, Chrome и Safari будут использовать новый бэкэнд для расширений. Они будут ограничивать то, как расширения перехватывают и блокируют веб-запросы, предотвращая непосредственное взаимодействие расширений с запросами. Вместо этого расширения будут полагаться на набор правил для блокировки контента, и саму блокировку будет осуществлять браузер, а расширение вообще не увидит пользовательских данных.

Напомню, что Google сначала предлагал ограничить максимальное количество правил планкой в 30 000, но разработчики возмутились, что в этом случае имплементация фильтровочного движка не выдерживает сравнения даже с EasyList. В итоге инженеры Google пошли на попятную и согласились установить лимит на уровне от 90 000 до 120 000, однако многих разработчиков расширений не устраивают и эти цифры.

В свою очередь Apple, развернув API Content Blocker, установила максимальный лимит в 50 000 правил для каждого нового расширения-блокировщика для Safari. Именно поэтому не стоит удивляться тому, что AdBlock стал работать быстрее: теперь он имеет дело с куда меньшим количеством правил, чем раньше.

Однако большинство разработчиков расширений (включая блокировщики) просто перенесли свой код и не стали возмущаться, в отличие от ситуации с Google. Вероятно, все дело в том, что Apple строго следит за соблюдением правил в App Store, а несогласные разработчики обычно попросту изгоняются. Так, если Chrome основан на Chromium с открытым исходным кодом, где разработчики имеют право голоса, то Apple – это закрытая экосистема со строгими правилами. Также не стоит забывать и о том, что пользователей у Safari не так уж много. С долей рынка в 3,5% Safari не стоит даже близко к Chrome, чье лидерство на рынке неоспоримо и составляет 65%.

Кроме того, ZDNet отмечает, что нельзя сбрасывать со счетов и проблему общественного восприятия. Когда Apple запустила новую функцию блокировки контента для замены старых расширений и сообщила, что та предназначена для повышения конфиденциальности (поскольку расширения не смогут получить доступ к информации браузера), все просто поверили в это. Тогда как в случае Google, реклама — это краеугольный камень для компании. И когда Google объявила о намерении ограничить блокировщики контента, все увидели в этом стремление большой корпорации сохранить свою прибыль, а не меру безопасности, как об этом говорили инженеры Google.

Подводя итог, журналисты резюмируют, что теперь в Safari нельзя установить классический блокировщик рекламы, и в будущем Apple намеревается удалить или отключить устаревшие расширения в пользовательских браузерах. Если же пользователи перешли на новый блокировщик рекламы из App Store, то нужно понимать, что, скорее всего, он не сможет блокировать все объявления.

В итоге пока Firefox для Mac остается единственным выходом для запуска полноценного блокировщика контента на macOS. Тогда как в случае iOS, возможности использовать более старый и надежный блокировщик рекламы нет вовсе, независимо от браузера.

1 комментарий

  1. Аватар

    Diflyrest

    25.09.2019 at 11:50

    Зачем эти айфон нужны

Оставить мнение