AdguardTeam / AdguardTeam/AdguardBrowserExtension

Add `!#if` conditional for trusted filters

Aperta
#3,584 0 commenti 0 reazioni 1 assegnatario Assegnata a @maximtop Vedi su GitHub
Feature Request Priority: P4
Lingua principale
TypeScript
Stelle
4.4k
Fork
449
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### Issue Details

I maintain [a custom filter list](https://github.com/Stevoisiak/Stevos-AI-Blocklist) which has includes rules for Amazon's AI assistant Rufus. These rules use a combination of cosmetic rules (which don't require trust) and scriptlets (which do require trust). This can [cause issues](https://github.com/Stevoisiak/Stevos-AI-Blocklist/issues/78) if the user does not have trusted filters enabled.

### Proposed solution

Add an [`!#if` condition](https://adguard.com/kb/general/ad-filtering/create-own-filters/#conditions-directive) to specify a set of rules should only run if trusted filters are enabled.

```
!#if trusted_filters
www.amazon.com#%#//scriptlet('set-session-storage-item', 'rufus:panel:dockedState', 'null')
www.amazon.com#%#//scriptlet('set-session-storage-item', 'rufus:panel', 'null')
www.amazon.com#%#//scriptlet('remove-class', 'rufus-docked-left|rufus-docked-right')
www.amazon.com###nav-flyout-rufus
www.amazon.com##body:style(padding-left: 0px !important)
!#endif
```

Ideally this addition would be coordinated with uBlock Origin's directives for [cross-compatibility](https://github.com/gorhill/ublock/wiki/static-filter-syntax#if-condition). Scriptlets which require trust in AdGuard but not in uBO could be handed by combining directives

```
!#if (trusted_filters || ext_ublock)
! for AdGuard with trusted filters or uBlock Origin
!#endif
```

### Alternative solution

Allow the use of [`remove-class`](https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-scriptlets.md#remove-class) (or [some equivalent](https://github.com/AdguardTeam/AdguardBrowserExtension/issues/3538)) without requiring trusted filters.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.