Updated What µBlock can and can not (currently) do (markdown)

Raymond Hill 2015-01-22 08:50:20 -05:00
parent 4c621ddeb2
commit 39c04e1eef
1 changed files with 39 additions and 2 deletions

@ -13,9 +13,46 @@ memory of [Adblock Plus](https://adblockplus.org/) ("ABP"), which is itself much
µBlock is its own thing, it doesn't try to be Adblock Plus or any other.
Regular expression-based filters are not supported. At time of writing I see three such filters in _EasyList_, and none in _EasyPrivacy_. So rather uncommon. I may support them if there is really a need, but only for those which will have the `domain` filter option set: otherwise it's just impossible to implement efficiently such filters, and µBlock won't encourage their use by supporting these. For all the instances I have seen, it is possible to translate them into more efficient non-regex-based filters.
Regular expression-based filters are not supported. At time of writing I see three such filters in _EasyList_, and none in _EasyPrivacy_. So rather uncommon. I may support them if there is really a need, but only for those which will have the `domain` filter option set: otherwise it's just impossible to implement efficiently such filters, and µBlock won't encourage their use by supporting these.
**Read carefully:** Not supporting regex-based filters has absolutely **nothing** to do with µBlock being more efficient than ABP. It's a myth. It's BS. It's pure disinformation. There is no truth to this. If you hear that somewhere, you are being completely dis-informed.
For all the instances I have seen, it is possible to translate them into more efficient non-regex-based filters. For example, the following regex-based filters found in _EasyList_:
/^https?\:\/\/(?!(connect\.facebook\.net|ajax\.cloudflare\.com|www\.google-analytics\.com|ajax\.googleapis\.com|fbstatic-a\.akamaihd\.net)\/)/$script,third-party,xmlhttprequest,domain=firedrive.com
/^https?\:\/\/(?!(connect\.facebook\.net|ajax\.cloudflare\.com|www\.google-analytics\.com|ajax\.googleapis\.com|fbstatic-a\.akamaihd\.net|stats\.g\.doubleclick\.net|api-secure\.solvemedia\.com|api\.solvemedia\.com|sb\.scorecardresearch\.com|www\.google\.com)\/)/$script,third-party,xmlhttprequest,domain=mediafire.com
/^https?\:\/\/(?!(connect\.facebook\.net|www\.google-analytics\.com|ajax\.googleapis\.com|netdna\.bootstrapcdn\.com|[\w\-]+\.addthis\.com|bp\.yahooapis\.com|b\.scorecardresearch\.com|platform\.twitter\.com)\/)/$script,third-party,xmlhttprequest,domain=promptfile.com
/^https?\:\/\/(?!(ct1\.addthis\.com|s7\.addthis\.com|b\.scorecardresearch\.com|www\.google-analytics\.com|ajax\.googleapis\.com|static\.sockshare\.com)\/)/$script,third-party,xmlhttprequest,domain=sockshare.com
/^https?\:\/\/(?!(feather\.aviary\.com|api\.aviary\.com|wd-edge\.sharethis\.com|w\.sharethis\.com|edge\.quantserve\.com|tags\.crwdcntrl\.net|static2\.pbsrc\.com|az412349\.vo\.msecnd\.net|printio-geo\.appspot\.com|www\.google-analytics\.com|loadus\.exelator\.com|b\.scorecardresearch\.com)\/)/$script,third-party,xmlhttprequest,domain=photobucket.com|~secure.photobucket.com
Could be replaced with these non-regex-based filters (longer, but more efficient to process):
|http://$third-party,domain=firedrive.com|mediafire.com|promptfile.com|sockshare.com|photobucket.com|~secure.photobucket.com
|https://$third-party,domain=firedrive.com|mediafire.com|promptfile.com|sockshare.com|photobucket.com|~secure.photobucket.com
@@||ajax.cloudflare.com^$script,xmlhttprequest,domain=firedrive.com|mediafire.com
@@||ajax.googleapis.com^$script,xmlhttprequest,domain=firedrive.com|mediafire.com|promptfile.com|sockshare.com
@@||api.aviary.com^$script,xmlhttprequest,domain=photobucket.com
@@||api-secure.solvemedia.com^$script,xmlhttprequest,domain=mediafire.com
@@||api.solvemedia.com^$script,xmlhttprequest,domain=mediafire.com
@@||az412349.vo.msecnd.net^$script,xmlhttprequest,domain=photobucket.com
@@||b.scorecardresearch.com^$script,xmlhttprequest,domain=mediafire.com|photobucket.com|promptfile.com|sockshare.com
@@||bp.yahooapis.com^$script,xmlhttprequest,domain=promptfile.com
@@||connect.facebook.net^$script,xmlhttprequest,domain=firedrive.com|mediafire.com|promptfile.com
@@||edge.quantserve.com^$script,xmlhttprequest,domain=photobucket.com
@@||fbstatic-a.akamaihd.net^$script,xmlhttprequest,domain=firedrive.com|mediafire.com
@@||feather.aviary.com^$script,xmlhttprequest,domain=photobucket.com
@@||loadus.exelator.com^$script,xmlhttprequest,domain=photobucket.com
@@||netdna.bootstrapcdn.com^$script,xmlhttprequest,domain=promptfile.com
@@||platform.twitter.com^$script,xmlhttprequest,domain=promptfile.com
@@||printio-geo.appspot.com^$script,xmlhttprequest,domain=photobucket.com
@@||static2.pbsrc.com^$script,xmlhttprequest,domain=photobucket.com
@@||static.sockshare.com^$script,xmlhttprequest,domain=sockshare.com
@@||stats.g.doubleclick.net^$script,xmlhttprequest,domain=mediafire.com
@@||tags.crwdcntrl.net^$script,xmlhttprequest,domain=photobucket.com
@@||wd-edge.sharethis.com^$script,xmlhttprequest,domain=photobucket.com
@@||w.sharethis.com^$script,xmlhttprequest,domain=photobucket.com
@@||www.google.com^$script,xmlhttprequest,domain=mediafire.com
@@||www.google-analytics.com^$script,xmlhttprequest,domain=firedrive.com|mediafire.com|photobucket.com|promptfile.com|sockshare.com
**Read carefully:** Not supporting regex-based filters has absolutely **nothing** to do with µBlock being more efficient than ABP. It's a myth. There is no truth to this. I insist on this here because I have seen this repeated a number of places.
The `$document` filter option is not supported, see [issue #405](https://github.com/gorhill/uBlock/issues/405). At time of writing, I see 10 such filters in _EasyList_.