Raymond Hill, autore del sistema di blocco dei contenuti indesiderati uBlock Origin, ha pubblicato un'estensione sperimentale del browser chiamata uBO Minus, che implementa una variante di uBlock Origin, tradotta nell'API declarativeNetRequest, il cui utilizzo è previsto nella terza versione del manifesto di Chrome. A differenza del classico uBlock Origin, la nuova estensione sfrutta le capacità del motore di filtraggio dei contenuti integrato nel browser e non richiede di fornire autorizzazioni per intercettare e modificare tutti i dati dei siti durante l'installazione.
L'estensione non ha ancora un pannello a comparsa né pagine di impostazione, e la funzionalità è limitata al blocco delle richieste di rete. Per funzionare senza autorizzazioni avanzate, sono disabilitate funzionalità come i filtri cosmetici per sostituire i contenuti sulla pagina ("##"), l'inserimento di script nei siti ("##+js"), i filtri per il reindirizzamento delle richieste ("redirect=") e i filtri degli header CSP (Content Security Policy) e i filtri per rimuovere parametri dalle richieste ("removeparam="). In altri aspetti, l'elenco dei filtri offerti per impostazione predefinita corrisponde completamente al set di uBlock Origin e include circa 22.000 regole.
Inoltre, alcuni giorni fa è stata presentata una versione sperimentale dell'estensione di blocco pubblicità AdGuard — AdGuardMV3, anch'essa tradotta nell'API declarativeNetRequest e capace di funzionare nei browser che supportano solo la terza versione del manifesto di Chrome. Il prototipo proposto per il testing offre tutta la funzionalità necessaria agli utenti comuni per bloccare la pubblicità, ma è in ritardo rispetto all'estensione per la seconda versione del manifesto per quanto riguarda le sue funzionalità avanzate, che potrebbero interessare gli utenti più esperti.
Nel nuovo AdGuard continuerà a funzionare il nascondimento di banner, widget dei social media ed elementi fastidiosi, il blocco della pubblicità sulle piattaforme video simili a YouTube e il blocco preemptivo delle richieste legate al tracciamento dei movimenti. Tra i limiti si segnala il lampeggiamento delle inserzioni pubblicitarie a causa del ritardo nell'applicazione delle regole cosmetiche di 1,5-2 secondi, la perdita di alcune funzionalità legate alla filtrazione dei cookie, all'applicazione delle espressioni regolari e alla filtrazione dei parametri delle richieste (il nuovo API fornisce espressioni regolari semplificate), e l'accessibilità a statistiche e log di attivazione dei filtri solo in modalità sviluppatore (Developer Mode).
Si menziona anche la possibile riduzione del numero di regole a causa delle restrizioni introdotte nella terza versione del manifesto. Se nel browser è installata un'estensione che utilizza declarativeNetRequest, non ci sono problemi con le regole statiche, poiché è in atto un limite generale per tutte le estensioni che consente 330.000 regole. Quando ci sono più estensioni, si applica un limite di 30.000 regole, che potrebbe non essere sufficiente. Per le regole dinamiche è stato introdotto un limite di 5.000 regole, mentre per le espressioni regolari è di 1.000 regole.
A partire da gennaio 2023, nel browser Chrome si prevede di interrompere il supporto della seconda versione del manifesto e di rendere obbligatoria la terza versione per tutte le estensioni. Inizialmente, la terza versione del manifesto è stata oggetto di critiche per il malfunzionamento di molte estensioni per il blocco dei contenuti indesiderati e la sicurezza. Il manifesto di Chrome definisce le funzionalità e le risorse fornite alle estensioni. La terza versione del manifesto è stata sviluppata nell'ambito di un'iniziativa volta a migliorare la sicurezza, la privacy e le prestazioni delle estensioni. L'obiettivo principale delle modifiche apportate è semplificare la creazione di estensioni sicure e ad alte prestazioni, rendendo più difficile la creazione di estensioni insicure e lente.
Il principale discontento riguardo alla terza versione del manifesto è legato alla transizione in modalità sola lettura dell'API webRequest, che consentiva di collegare gestori personalizzati con accesso completo alle richieste di rete e in grado di modificare il traffico in tempo reale. Questo API è utilizzato in uBlock Origin, AdGuard e molti altri plugin per bloccare contenuti indesiderati e garantire sicurezza. Al posto dell'API webRequest, la terza versione del manifesto ha proposto un API declarativeNetRequest, limitato nelle sue capacità, che fornisce accesso a un motore di filtraggio integrato, che gestisce autonomamente le regole di blocco, non permettendo l'uso di algoritmi di filtraggio personalizzati e non consentendo di impostare regole complesse che si sovrappongono a seconda delle condizioni.
Negli ultimi tre anni di discussioni sulla futura terza versione del manifesto, Google ha tenuto conto di molte richieste della comunità e ha ampliato l'API declarativeNetRequest originariamente fornita con funzionalità richieste nei plugin esistenti. Ad esempio, Google ha aggiunto nell'API declarativeNetRequest il supporto per l'uso di più set di regole statiche, filtraggio con espressioni regolari, modifica degli header HTTP, cambiamento e aggiunta dinamica di regole, rimozione e sostituzione dei parametri di richiesta, filtraggio legato alle schede e creazione di set di regole specifici per determinate sessioni.
Fonte: opennet.ru
