Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ignore certain "$" qualifiers instead of disqualifying their entries #1026

Closed
1 of 3 tasks
DandelionSprout opened this issue Sep 25, 2019 · 3 comments
Closed
1 of 3 tasks

Comments

@DandelionSprout
Copy link
Member

DandelionSprout commented Sep 25, 2019

Strongly based on #892 and #867, but with a more clearcut and broader goal.

Prerequisites

  • I am running the latest version (0.98.1)
  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed

Problem Description

AdGuard Home's support for $ qualifiers were very limited last time I checked 2-ish months ago, and I propose two things to help on the matter a bit:

  1. That certain $ qualifiers, due to their massive prevalence in major lists and/or the unlikeliness of them breaking other stuff on the pages, will be simply ignored instead of disqualifying the entries.
  2. For some $ qualifiers that are a bit more sensitive, a checkbox menu could be added to AGH's settings to let users decide if they want to ignore the entries instead of disqualifying them.

Here's my proposal:

Add full native support, as it's technically not DNS-related:
$badfilter

Ignoring instead of disqualifying:
$third-party / $3p
$all
$popup
$xmlhttprequest / $xhr
$empty
$document / $doc (blacklistings only)

Add to an advanced settings menu about whether to ignore instead of disqualify:
$~third-party / $first-party / $1p
$image
$font
$popunder
$script
$dom
$subdocument

Unsure what the best approach would be:
$generichide

Probably best to continue to disqualify for now:
$csp
$css
$domain
$frame
$inline-script
$media
$object-subrequest
$other
$redirect
$websocket
$genericblock
$~font
$~image
$~object
$~stylesheet
$~subdocument
$~third-party
$~xmlhttprequest

Most likely out of scope for this issue report:
$network

Proposed Solution

For №1 and/or №2 in "Problem Description" to be implemented.

Alternatives Considered

Adding native support for as many of these things as possible would've been super-awesome, but I've frequently been explained that it's not a realistic option.

Additional Information

EasyList Without Element Hiding Rules and Liste FR are very prominent showcases of $ qualifiers that are currently not supported by AGH.

@ameshkov
Copy link
Member

ameshkov commented Oct 3, 2019

Add full native support, as it's technically not DNS-related:
$badfilter

Yeah, we're going to do it.

Ignoring instead of disqualifying:

I disagree with $third-party actually. Ignoring it will bring tons of false positives.

@szolin
Copy link
Contributor

szolin commented Nov 5, 2019

$badfilter

AdguardTeam/urlfilter@a27f10b

@ameshkov ameshkov removed this from the v0.101 milestone Nov 7, 2019
@ameshkov
Copy link
Member

ameshkov commented Nov 7, 2019

We came up with a document explaining how to write hosts blocklists:
https://github.com/AdguardTeam/AdGuardHome/wiki/Hosts-Blocklists

It lists all the supported modifiers.

Also, I'd like to keep the current behavior and continue to throw off rules with unknown modifiers.

On the other hand, it might still be useful to automatically convert parts of traditional adblock-style syntax lists to the DNS-compatible lists.

I think we should consider providing a tool or script for that. We can use the script from here as a basis: https://github.com/AdguardTeam/AdGuardSDNSFilter/tree/master/Filters

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants