Падрыхтаваны варыянты 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

Дадаць каментар