22 September 2019

Apple ограничила блокировщики рекламы в Safari, автор uBlock Origin прекращает разработку

FirefoxSafariBrowser extensionsDevelopment for MacOSBrowsers


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

В течение последних полутора лет Apple эффективно нейтрализовала блокировщики рекламы в Safari, за что в этом году сильно критиковали Google.

Но в отличие от Google, компания Apple вообще не подверглась обструкции, и вышла из всего процесса с репутацией компании, которая заботится о конфиденциальности пользователей, а не пытается «нейтрализовать блокировщики рекламы». Причин может быть несколько. Это и меньшая пользовательская база Apple, и тот факт, что изменения происходят в течение многих лет, а не месяцев, и то, что Apple не полагается на рекламу для львиной части своей своей прибыли, то есть нет никаких скрытых мотивов за изменениями экосистемы.

App Extensions и Content Blocker


Для пользователей Apple всё началось несколько лет назад, когда Apple объявила о введении механизма App Extensions («расширения приложений»). С помощью этого механизма одни приложения могут «переносить» свои функции в другие приложения.

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


Изображение: Apple

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

Эти две функции сделали устаревшими старые расширения Safari. В результате в середине 2018 года Apple объявила, что стандартные расширения считаются «устаревшими» и она начала советовать разработчикам переносить код в Content Blocker и загружать его в App Store.

Первый шаг был сделан в сентябре 2018 года, когда Apple запустила iOS 12, и производитель ОС начал блокировать установку устаревших расширений Safari из-за пределов Safari Extensions Gallery.

К концу года Apple вообще перестала принимать устаревшие расширения в Safari Extensions Gallery, а также начала отключать устаревшие расширения в браузерах пользователей с сообщением «Safari отключил расширения, которые замедляют просмотр веб-страниц».

Сообщение появилось для всех видов устаревших расширений, от простых бустеров копипаста до блокировщиков рекламы и антивирусных расширений родительского контроля.


Изображение: Malwarebytes

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

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

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

Сильнее всего пострадали блокировщики рекламы


Но все эти действия повлекли за собой сопутствующие потери. Больше всего пострадали от новой экосистемы блокировщики рекламы, VPN и расширения родительского контроля.

Блокировщик рекламы AdGuard снял своё расширение для Safari в июле прошлого года. Через несколько дней за ним последовал антивирусный производитель Malwarebytes, который снял своё расширение VPN. Компания AdBlock опубликовала сообщение в блоге с утверждением, что новый переписанный блокировщик рекламы Safari работает быстрее, чем раньше, но также перечислила длинный список недостатков.

Другие приложения последовали их примеру в сентябре 2018 года, когда новые правила Apple вступили в действие с выпуском iOS 12.

uBlock Origin для Safari


Последним сдался uBlock Origin для Safari, который две недели назад прекратил разработку навсегда. Его разработчик опубликовал подробное сообщение на GitHub. Он рекомендовал пользователям либо переключиться на Firefox для Mac, где блокировщики рекламы по-прежнему нормально работают, либо остаться на старой версии Safari без нормальных блокировщиков.

Ещё один вариант — использовать один из новых блокировщиков рекламы на основе Content Blocker; однако он описал новую систему Content Blocker как «чрезвычайно ограниченную в функциях блокировки».

Apple и Google сделали одно и то же


Причина, по которой Safari Content Blocker «чрезвычайно ограничен» в блокировке рекламы, — это та же причина, по которой критикуют Google за предстоящее изменение в системе расширений Chrome. По сути, это одно и то же, только с разным кодом и терминологией.

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

Google хотел ограничить максимальное количество правил, которые расширение может передать Chrome, до 30 000, но многие разработчики расширений заявили, что это слишком мало, и никак не подходит для блокировщиков, приложений родительского контроля или инспекции трафика.

Компанию немедленно атаковали за попытку «убить блокировщиков рекламы», и после нескольких месяцев критики Google в конечном итоге отступила от своего первоначального плана и остановилась на более высоком пределе от 90 000 до 120 000 правил, хотя многие разработчики, особенно блокировщиков рекламы, по-прежнему считают это недостаточным.

С другой стороны, когда Apple выпустила новые Content Blocker API, то ввела максимальный лимит в 50 000 правил для каждого нового расширения, которое хотело блокировать контент внутри Safari. Конечно, они работали быстрее. Здесь было меньше правил, чем раньше.

Apple никогда не критиковали за то, что Google даже не сделал


Разработчики расширений, включая большинство блокировщиков рекламы, перенесли свой код и не сказали ни слова. За исключением нескольких редких жалоб, людей особо не волновало, что Apple нейтрализовала почти все блокировщики рекламы в Safari. Это резко контрастирует с тем, что произошло с Google в 2019 году — и с той волной критики, которая поднялась.

Известно, что Apple заставляет строго соблюдать правила в своём каталоге приложений. Если разработчик начинает чем-то возмущаться, его просто выгоняют. Система «подчиняйся или убирайся» в данном случае оказалась исключительно эффективной.

В отличие от случая Google, где браузер Chrome основан на проекте с открытым исходным кодом Chromium и у каждого есть голос в обсуждении, вся система Apple — это огороженный сад со строгими правилами, пишет ZDNet.

Apple никогда не критиковали за эффективную «стерилизацию» или «убийство блокировщиков рекламы», как критикуют Google на протяжении всего года. В случае Google первыми подняли шум разработчики расширений, а потом и широкая общественность. А на Apple не было никакого общественного давления. Конечно, сказалось и относительно небольшое количество пользователей Safari. С долей рынка 3,5% аудитория Safari гораздо меньше, чем Chrome (65%).

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

Когда Google сказала то же самое, не поверил никто.

Реклама — это главное в бизнесе Google, и когда она ограничила блокировщики рекламы, все заподозрили секретный план большой корпорации для сохранения прибыли, а не фактическую меру безопасности, как уверяла Google.

Как сказал программист Уилл Лезье (Will Lesieutre) в комментарии Hacker News, объявление Apple было «полностью правдоподобным, потому что соответствует последним 10+ годам развития их продукта». С другой стороны, «люди более скептично относятся к мотивам Google, потому что почти все их деньги поступают от продажи рекламы, и, насколько мы знаем, они больше обеспокоены своими очень большими кучами денег, чем безопасностью расширений браузера».

Итак, с этой недели нет никакого способа установить в Safari классический блокировщик рекламы. Предполагается, что в какой-то момент Apple навсегда удалит или отключит старые расширения Safari из браузеров пользователей.

Новый блокировщик из App Store может блокировать не всю рекламу, как ожидают пользователи.

На данный момент, как уже упоминалось, Firefox для Mac — практически единственный вариант для блокировки рекламы на macOS, а на мобильном устройстве нет возможности использовать старые блокировщики, независимо от браузера.

Google Chrome для Mac по-прежнему поддерживает блокировщики рекламы, но в настоящее время неясно, будут ли они делать это в будущем. Поэтому он не подходит как надёжное долговременное решение.
Tags:AppleSafariuBlock OriginApp ExtensionsContent Blockerрасширенияблокировщики
Hubs: Firefox Safari Browser extensions Development for MacOS Browsers
+19
30.8k 11
Comments 47
Popular right now
Профессия Product Manager
December 2, 2020108,500 ₽Нетология
Python для анализа данных
December 2, 202019,000 ₽SkillFactory
Профессия Project Manager
December 2, 202098,000 ₽Нетология
Разработка приложений на Kotlin
December 2, 202020,900 ₽Нетология
Профессия Data Scientist
December 2, 2020135,000 ₽SkillFactory