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

Use `!#include` directive to remove need for two filter lists in uBO #4898

gorhill opened this Issue Dec 15, 2017 · 5 comments


None yet
4 participants

gorhill commented Dec 15, 2017

uBlock Origin 1.14.23b0 is now able to load sublists using the !#include sublist-filename directive.

See AdguardTeam/AdguardBrowserExtension#917 for details of outcome of discussing the core issue raised at gorhill/uBlock#3331.

In uBO, there are two POL lists: one which is fully compatible with Adblock Plus, and another one which makes use of extended filter syntax understood by uBO, but which can break Adblock Plus.

Ideally, from the perspective of a uBO user, there should be no such thing as two POL lists in the "3rd-party filters" pane. The new !#include directive, agreed upon with Adguard's @ameshkov (along with other directives to seamlessly extend capabilities of blockers), addresses this.

If you add the following !#include directive in Adblock & uBlock polish filters:

!#include adblock_ublock.txt

uBO will transparently fetch the list uBlock polish filters - supplement and concatenate it to the embedding list.

Result: one single POL list from the user's perspective, and since the new directive syntax starts with a !, it keeps the embedding list compatible with ABP.

Furthermore, this new directive removes an obstacle for all current filter list maintainers to use extended filter syntax: all the existing lists will still be compatible with ABP, but uBO's extended filter syntax can now be safely leveraged by telling the blockers who care about such extended syntax to load extra lists from within the main list using the !#include directive.

Once the base list for POL supports the !#include directive and the new capability in uBO is published and widespread, this will allow me to remove the extraneous POL list.

Keep in mind this will also be supported by Adguard, so you can also use such !#include directive to ask a blocker to load Adguard-specific filter as well from the main list:

!#include adblock_adguard.txt

This comment has been minimized.


MajkiIT commented Dec 15, 2017

@gorhill ok thanks


This comment has been minimized.


MajkiIT commented Dec 16, 2017

@F4z widzisz sens dodawania do main równiez filtrów do Adguard ?


This comment has been minimized.


hawkeye116477 commented Dec 16, 2017

Ja tam bym po prostu połączył filtry uBlocka i AdGuarda w jedną listę - uzupełnienie do uBlocka i AdGuarda, a jeśli coś robi problem na AG, to zawsze można napisać:

!+ PLATFORM(ext_ublock)

@MajkiIT MajkiIT closed this Dec 17, 2017

@MajkiIT MajkiIT reopened this Dec 17, 2017


This comment has been minimized.

ameshkov commented Dec 17, 2017

Guys, we'll add the #include directive support, but it'll take a couple of months to implement it in every AG product and roll this out to everybody. Sorry for the delays, it's difficult to do anything when there're multiple different products.

I can alert you once it's done.


This comment has been minimized.


MajkiIT commented Dec 17, 2017

@ameshkov Ok thanks.

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