Blindfold

Що таке блокувальник вмісту Safari (Content Blocker)? І як він насправді працює

Якщо ви шукали спосіб заблокувати рекламу на iPhone, то, напевно, натрапляли на термін «блокувальник вмісту» без чіткого пояснення, що це насправді таке. Це не те саме, що розширення браузера на Mac, і ця різниця важливіша, ніж здається з більшості пояснень.

Блокувальник вмісту Safari - це невелике розширення застосунку, яке передає Safari список правил: які мережеві запити блокувати і які елементи сторінки приховувати. Safari читає цей список, компілює його і застосовує самостійно. Розширення, що постачило правила, ніколи не торкається трафіку вашого перегляду. Саме це архітектурне рішення пояснює, чому блокувальники вмісту існують як окрема категорія на iOS, а не просто як «застосунки-блокувальники реклами».

Як насправді працює блокувальник вмісту

Apple представила блокувальники вмісту в iOS 9 через API SFContentBlockerManager, спеціально щоб Safari міг блокувати вміст, не даючи жодній третій стороні вікна в те, що ви переглядаєте.

Ось як це працює. Розширення-блокувальник вмісту постачає файл JSON, простий масив об’єктів-правил. Кожне правило має тригер (шаблон URL-адреси для збігу) і дію (заблокувати запит, приховати елемент за CSS-селектором або прибрати з нього cookie). Коли ви вмикаєте розширення, Safari завантажує цей JSON, компілює його у власний ефективний внутрішній формат і зберігає скомпільовану версію. Відтоді Safari нативно застосовує ці правила під час завантаження кожної сторінки, ще до того, як почнуть виконуватися власні скрипти сторінки.

У самого розширення одне завдання: передати Safari файл правил, коли його про це попросять. Воно не працює у фоновому режимі, не бачить сторінок, які ви відвідуєте, і не отримує сповіщення, коли правило спрацьовує. Усе фактичне блокування Safari виконує внутрішньо.

Саме тому в блокувальників вмісту є жорстка стеля на кількість правил. Починаючи з iOS 15, кожне розширення-блокувальник вмісту може містити до 150 000 скомпільованих правил. Це щедрий бюджет для шаблонів URL і CSS, тому застосунки, яким потрібне ширше покриття, ніж дозволяє одне розширення, включно з Blindfold, постачають кілька розширень-блокувальників вмісту замість одного величезного.

Чим це відрізняється від блокувальника реклами як розширення браузера

У браузері на комп’ютері розширення-блокувальник реклами - це невелика програма, яка працює поряд зі сторінкою: вона читає DOM, стежить за мережевими запитами в реальному часі й переписує або прибирає елементи вже після початку завантаження сторінки. Це потужний підхід, і саме тому комп’ютерні блокувальники реклами вміють робити хитрі, динамічні речі, недоступні блокувальнику вмісту Safari, наприклад аналізувати вміст сторінки і вирішувати, що робити, залежно від того, що знайдено.

Блокувальник вмісту Safari так не вміє. Він передає статичний файл правил і відходить убік. У нього немає видимості живої сторінки, і він не може приймати рішення в момент рендерингу. Кожне правило має бути визначене заздалегідь і записане як шаблон, а не як логіка, що реагує на те, що на екрані.

Це реальний компроміс, і варто чесно про нього сказати. Натомість ви отримуєте швидкість і приватність: нічого про ваш перегляд ніколи не потрапляє до розширення, жоден скрипт не впроваджується в кожну сторінку для її аналізу, і Safari застосовує правила ще до початку рендерингу сторінки, а не прибирає за фактом. Для більшості випадків блокування реклами й трекерів заздалегідь обчислені правила покривають переважну більшість ситуацій. Саме на останніх кількох відсотках, рекламі, яка ще не збігається з жодним відомим шаблоном, чисто статичний список показує свої межі.

Де перевіряти й керувати блокувальниками вмісту на iPhone

Усі встановлені блокувальники вмісту з’являються в одному місці: Налаштування > Safari > Розширення. (У версіях iOS до 15 цей екран називався Налаштування > Safari > Блокувальники вмісту.) У кожного є власний перемикач увімкнення/вимкнення, і можна активувати кілька одночасно, бо вони не конфліктують між собою: Safari просто об’єднує всі їхні скомпільовані правила.

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

Де тут місце Blindfold

Blindfold постачає три окремі блокувальники вмісту, Реклама, Конфіденційність і Подразники, які разом охоплюють понад 130 000 правил. Вони покривають рекламні мережі, скрипти стеження, стіни cookie-згоди й липкі накладки, і працюють так само, як будь-який блокувальник вмісту: скомпільовані й застосовані самим Safari, без жодної видимості вашого перегляду.

Компроміс статичного списку, описаний вище, реальний, тому Blindfold додає ще один рівень. Модель Apple на пристрої переглядає елементи сторінки після завершення її завантаження, тобто саме в той момент, коли чистий блокувальник вмісту діяти не може, і пише точне правило приховування, якщо помічає щось, пропущене статичними списками. Цей аналіз повністю відбувається на вашому iPhone. Ніщо з того, що ви переглядаєте, нікуди не надсилається. Кожне написане нею правило з’являється в застосунку, повністю видиме, і його можна редагувати чи видалити, як і будь-яке інше правило.

Списки оновлюються бездротово щодня, тож нові правила з’являються без оновлення через App Store. 30-денна безкоштовна пробна версія дає доступ до $7.99/рік або одноразової покупки $19.99 за довічний доступ, обидва варіанти із Сімейним доступом і без облікового запису. Повний перелік функцій можна побачити на головній сторінці Blindfold або отримати застосунок в App Store.

Якщо ви зважуєте блокувальники вмісту проти інших варіантів зменшення реклами на iPhone, повний гід із блокування реклами на iPhone охоплює решту поля: вбудовані налаштування Safari, блокувальники на основі VPN і те, де кожен підхід допомагає, а де йому бракує можливостей.