From 39c04e1eef5cbff9a617cc86b7f61a883abf0ac3 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Thu, 22 Jan 2015 08:50:20 -0500 Subject: [PATCH] =?UTF-8?q?Updated=20What=20=C2=B5Block=20can=20and=20can?= =?UTF-8?q?=20not=20(currently)=20do=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-µBlock-can-and-can-not-(currently)-do.md | 41 ++++++++++++++++++- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/What-µBlock-can-and-can-not-(currently)-do.md b/What-µBlock-can-and-can-not-(currently)-do.md index c1ac385..9098fe7 100644 --- a/What-µBlock-can-and-can-not-(currently)-do.md +++ b/What-µBlock-can-and-can-not-(currently)-do.md @@ -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_.