Raymond Hill, de auteur van de uBlock Origin-blokkeersystemen voor ongewenste inhoud, publiceerde een experimentele browser-add-on uBO Minus met een implementatie van de uBlock Origin-variant vertaald naar de declarativeNetRequest API, waarvan het gebruik is voorgeschreven in de derde versie van de Chrome-manifest. In tegenstelling tot de klassieke uBlock Origin maakt de nieuwe add-on gebruik van de mogelijkheden van de ingebouwde contentfiltering-engine van de browser en vereist deze geen installatierechten om alle sitegegevens te onderscheppen en te wijzigen.
De add-on heeft nog geen pop-uppaneel of instellingenpagina's en de functionaliteit is beperkt tot het blokkeren van netwerkverzoeken. Om te werken zonder uitgebreide rechten, functies zoals cosmetische filters voor het vervangen van inhoud op een pagina (“##”), het vervangen van scripts op sites (“##+js”), filters voor het omleiden van verzoeken (“redirect=”) en header filters zijn uitgeschakeld CSP (Content Security Policy) en filters voor het verwijderen van aanvraagparameters (“removeparam=”). Voor het overige komt de lijst met standaardfilters volledig overeen met de set van uBlock Origin en bevat deze ongeveer 22 duizend regels.
Bovendien werd een paar dagen geleden een experimentele versie van de AdGuard-add-blokkering voor advertentieblokkering gepresenteerd - AdGuardMV3, die ook werd vertaald naar de declarativeNetRequest API en kan werken in browsers die alleen de derde editie van het Chrome-manifest ondersteunen. Het voor testen voorgestelde prototype biedt alle advertentieblokkeringsfunctionaliteit die gewone gebruikers nodig hebben, maar blijft achter bij de add-on voor de tweede editie van het manifest wat betreft zijn geavanceerde mogelijkheden, die van belang kunnen zijn voor gevorderde gebruikers.
De nieuwe AdGuard zal banners, sociale netwerkwidgets en vervelende elementen blijven verbergen, advertenties op videoplatforms zoals YouTube blokkeren en proactief verzoeken met betrekking tot het volgen van bewegingen blokkeren. Beperkingen zijn onder meer het flikkeren van advertentie-invoegingen als gevolg van een vertraging van 1.5-2 seconden bij de toepassing van cosmetische regels, verlies van enkele mogelijkheden met betrekking tot cookiefiltering, het gebruik van reguliere expressies en het filteren van queryparameters (de nieuwe API biedt vereenvoudigde reguliere expressies) , beschikbaarheid van statistieken en filterreactielogboeken alleen in ontwikkelaarsmodus.
Ook wordt melding gemaakt van een mogelijke vermindering van het aantal regels als gevolg van beperkingen die in de derde versie van het manifest zijn geïntroduceerd. Als er in de browser één add-on is geïnstalleerd die declarativeNetRequest gebruikt, zijn er geen problemen met statische regels, aangezien er een algemene limiet is voor alle add-ons, die 330 regels toestaat. Als er meerdere toevoegingen zijn, wordt een limiet van 30 duizend regels toegepast, wat misschien niet genoeg is. Er is een limiet van 5000 regels geïntroduceerd voor dynamische regels, en 1000 regels voor reguliere expressies.
Vanaf januari 2023 is de Chrome-browser van plan de tweede versie van het manifest niet langer te ondersteunen en de derde versie verplicht te stellen voor alle add-ons. Aanvankelijk werd de derde versie van het manifest het doelwit van kritiek vanwege de verstoring van veel add-ons voor het blokkeren van ongepaste inhoud en het garanderen van de veiligheid. Het Chrome-manifest definieert de mogelijkheden en bronnen die aan add-ons worden geboden. De derde versie van het manifest is ontwikkeld als onderdeel van een initiatief om de beveiliging, privacy en prestaties van add-ons te versterken. Het belangrijkste doel van de wijzigingen is om het gemakkelijker te maken om veilige en krachtige add-ons te maken, en om het moeilijker te maken om onveilige en langzame add-ons te maken.
De belangrijkste ontevredenheid over de derde versie van het manifest houdt verband met de vertaling naar de alleen-lezen-modus van de webRequest API, die het mogelijk maakte om uw eigen handlers aan te sluiten die volledige toegang hebben tot netwerkverzoeken en verkeer on-the-fly kunnen wijzigen. Deze API wordt gebruikt in uBlock Origin, AdGuard en vele andere add-ons om ongewenste inhoud te blokkeren en de veiligheid te garanderen. In plaats van de webRequest API biedt de derde versie van het manifest een declarativeNetRequest API met beperkte mogelijkheden, die toegang biedt tot een ingebouwde filterengine die onafhankelijk blokkeerregels verwerkt, het gebruik van zijn eigen filteralgoritmen niet toestaat en geen maken het mogelijk om complexe regels in te stellen die elkaar overlappen, afhankelijk van de omstandigheden.
Gedurende de drie jaar van discussies over de komende derde versie van het manifest heeft Google rekening gehouden met veel van de wensen van de gemeenschap en de oorspronkelijk geleverde declarativeNetRequest API uitgebreid met de mogelijkheden die vereist zijn in bestaande toevoegingen. Google heeft bijvoorbeeld ondersteuning toegevoegd aan de declarativeNetRequest API voor het gebruik van meerdere statische regelsets, het filteren van reguliere expressies, het wijzigen van HTTP-headers, het dynamisch wijzigen en toevoegen van regels, het verwijderen en vervangen van queryparameters, op tabbladen gebaseerde filters en het maken van sessiespecifieke regelsets.
Bron: opennet.ru
