Co se změnilo
Manifest V2 (stará pravidla) dával rozšířením výkonné API webRequest. Rozšíření viděla každý požadavek, který se prohlížeč chystal odeslat, a u každého mohla rozhodnout, zda ho zablokovat. uBlock Origin to používal k tomu, aby:
- Blokoval požadavky podle typu obsahu (obrázek, skript, písmo atd.)
- Blokoval podle stránky, která požadavek odeslala (povolit u vydavatele, blokovat u sledovacího prvku třetí strany)
- Spouštěl na URL regulární výrazy a složitou logiku
- Okamžitě aktualizoval seznam blokování bez kontroly v Internetovém obchodě Chrome
Manifest V3 nahradil webRequest API declarativeNetRequest. Nové API přijímá pevný seznam pravidel, která prohlížeč interpretuje interně; rozšíření nikdy nerozhoduje v reálném čase. Počet pravidel rozšíření je pevně omezen. Aktualizace seznamu pravidel musí projít aktualizacemi v Internetovém obchodě Chrome.
Proč to rozbilo blokování reklam
Seznamy blokování uBlock Origin jsou velké a často se aktualizují. Obojí se s Manifest V3 rozbilo. Autor rozdíly podrobně zdokumentoval; ve zkratce:
- Plná verze uBlock Origin nemohla podle V3 dál fungovat, a proto byla z Chrome stažena.
- uBlock Origin Lite vznikl přímo tak, aby se vešel do omezení V3. Dělá méně.
- Další kvalitní blokátory (Adguard, Ghostery) vydaly verze kompatibilní s V3 s podobnými kompromisy.
Proč to Google udělal
Oficiálním důvodem byla bezpečnost a výkon: staré API webRequest dávalo rozšířením obrovský dosah, včetně možnosti číst celý provoz HTTP každé karty. Existuje skutečný argument, že šlo o příliš velká oprávnění.
Praktický důvod, kterého si všimlo mnoho lidí: hlavním byznysem Googlu jsou reklamy. Prohlížeč, jehož nová pravidla omezují blokátory reklam, vlastní největší reklamní firma na světě. Tyto dvě skutečnosti nutně neznamenají, že změna byla zlovolná, ale nevypadá to dobře.
Jak prohlížeče reagovaly
Firefox ponechal Manifest V2 vedle V3, takže plný uBlock Origin tam stále funguje. Brave, Vivaldi, Opera a Edge používají Chromium a V3 přebírají. Většina z nich má vlastní vestavěné blokátory reklam, na které se pravidla rozšíření nevztahují, a to je dlouhodobé řešení. Dazr dělá totéž: vestavěný blokátor reklam na síťové vrstvě se stejnými seznamy, jaké používá uBlock Origin, který vůbec nemusí procházet API rozšíření Chrome.