Підготовлено варіанти uBlock Origin та AdGuard з підтримкою третьої версії маніфесту Chrome

Реймонд Хілл (Raymond Hill), автор систем блокування небажаного контенту uBlock Origin, опублікував експериментальне браузерне доповнення uBO Minus з реалізацією варіанта uBlock Origin, переведеного на API declarativeNetRequest, використання якого наказано у третій версії маніфесту Chrome. На відміну від класичного uBlock Origin, нове доповнення використовує можливості вбудованого в браузер движка для фільтрації вмісту і не вимагає при встановленні надання повноважень для перехоплення та зміни всіх даних сайтів.

У додатку поки немає спливаючої панелі та сторінок налаштувань параметрів, а функціональність обмежена блокуванням мережевих запитів. Для роботи без розширених повноважень відключено такі можливості, як косметичні фільтри для заміни вмісту на сторінці («##»), підстановка скриптів на сайти («##+js»), фільтри для перенаправлення запитів («redirect=»), фільтри заголовків CSP (Content Security Policy) та фільтри для видалення параметрів запитів (removeparam=). В іншому список фільтрів, що пропонуються за замовчуванням, повністю відповідає набору з uBlock Origin і включає близько 22 тисяч правил.

Крім того, кілька днів тому представлений експериментальний варіант доповнення для блокування реклами AdGuard - AdGuardMV3, також переведений на API declarativeNetRequest і здатний працювати в браузерах, які підтримують лише третю редакцію маніфесту Chrome. Запропонований для тестування прототип надає всю необхідну звичайним користувачам функціональність для блокування реклами, але відстає від доповнення для другої редакції маніфесту за розширеними можливостями, які можуть представляти інтерес для просунутих користувачів.

У новому AdGuard продовжить працювати приховування банерів, віджетів соціальних мереж та настирливих елементів, блокування реклами на відеоплатформах подібних до YouTube та попереджувальне блокування запитів, пов'язаних з відстеженням переміщень. З обмежень відзначається мерехтіння рекламних вставок через затримку застосування косметичних правил на 1.5-2 секунди, втрату деяких можливостей, пов'язаних з фільтрацією Cookie, застосуванням регулярних виразів та фільтрацією параметрів запитів (новий API надає спрощені регулярні вирази), доступність статистики та логів спрацьовування лише у режимі розробника (Developer Mode).

Також згадується можливе скорочення числа правил через обмеження, введені у третій версії маніфесту. Якщо в браузері встановлено одне доповнення, що використовує declarativeNetRequest, проблем зі статичними правилами не виникає, оскільки діє загальний ліміт на всі доповнення, що допускає 330 тисяч правил. Коли доповнень кілька, застосовується ліміт 30 тисяч правил, якого може виявитися недостатньо. Для динамічних правил введено ліміт у 5000 правил, а для регулярних виразів – 1000 правил.

Починаючи з січня 2023 року, у браузері Chrome планують припинити підтримку другої версії маніфесту та зробити третю версію обов'язковою для всіх доповнень. Спочатку третя версія маніфесту стала об'єктом критики через порушення роботи багатьох доповнень для блокування небажаного контенту та забезпечення безпеки. Маніфест Chrome визначає можливості та ресурси, що надаються доповненням. Третя версія маніфесту розроблена в рамках ініціативи щодо посилення безпеки, конфіденційності та продуктивності доповнень. Головною метою внесених змін є спрощення створення безпечних та високопродуктивних доповнень та ускладнення можливості створення небезпечних та повільних доповнень.

Основне невдоволення третьою версією маніфесту пов'язане з переведенням в режим тільки для читання API webRequest, що дозволяло підключати власні обробники, які мають повний доступ до мережних запитів і здатні на льоту модифікувати трафік. Зазначений API застосовується в uBlock Origin, AdGuard та багатьох інших доповненнях для блокування небажаного контенту та забезпечення безпеки. Замість API webRequest у третій версії маніфесту запропонований обмежений за своїми можливостями API declarativeNetRequest, що надає доступ до вбудованого двигуна для фільтрації, що самостійно обробляє правила блокування, що не дозволяє використовувати власні алгоритми фільтрації і не дозволяє задавати складні правила, що перекривають один одного залежно від умов.

За три роки обговорень майбутньої третьої версії маніфесту компанія Google врахувала багато побажань спільноти та розширила спочатку наданий API declarativeNetRequest можливостями, затребуваними в існуючих доповненнях. Наприклад, Google додав в API declarativeNetRequest підтримку використання кількох статичних наборів правил, фільтрації за регулярними виразами, модифікації HTTP-заголовків, динамічної зміни та додавання правил, видалення та заміни параметрів запитів, фільтрації з прив'язкою до вкладок та створення специфічних для певних сеансів наборів правил.

Джерело: opennet.ru

Додати коментар або відгук