From 13fb5e2b641ea2bae0e5ecd02bccb936f5820d4f Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Wed, 24 May 2017 20:55:12 -0400 Subject: [PATCH] Updated About "uBlock is inferior in capabilities as a result of being lighter on the browser"... (markdown) --- ...t-of-being-lighter-on-the-browser\"....md" | 62 +------------------ 1 file changed, 1 insertion(+), 61 deletions(-) diff --git "a/About-\"uBlock-is-inferior-in-capabilities-as-a-result-of-being-lighter-on-the-browser\"....md" "b/About-\"uBlock-is-inferior-in-capabilities-as-a-result-of-being-lighter-on-the-browser\"....md" index dcf62f8..b6cdce7 100644 --- "a/About-\"uBlock-is-inferior-in-capabilities-as-a-result-of-being-lighter-on-the-browser\"....md" +++ "b/About-\"uBlock-is-inferior-in-capabilities-as-a-result-of-being-lighter-on-the-browser\"....md" @@ -1,61 +1 @@ -Motivation for creating this page, this comment made in the spirit of _Fake News_ (i.e. with no supporting objective evidences, merely a _"just trust me"_ statement): - -> Ublock is inferior in capabilities [to ABP] as a result of being lighter on the browser [[source](http://forums.mozillazine.org/viewtopic.php?p=14743232#p14743232)] - -There is nothing wrong with preferring ABP to uBO. There is however something wrong when someone engages in misinformation regarding uBO because of their preference for ABP. - -This is my reference answer to such claims. - -uBlock Origin is lighter on the browser because of many choices which were made regarding how the filtering engine is designed internally. A coarse enumeration of these choices are: -- lean in-memory filter representation -- plain string comparisons instead of regular expressions wherever possible - - a majority of network filters can be reduced to plain string comparison, and this is what uBO does internally for these filters, whereas ABP convert _all_ network filters into regular expressions. - - Example, `&ad_zones=` (filter found in EasyList). - - ABP's code conceptually is: `/&ad_zones=/.test(url)` -- the whole URL must be scanned - - uBO's code conceptually is: `url.startsWith('&ad_zones=', i)` -- no scanning of the URL -- does not unconditionally inject 18,000+ (that is with EasyList only) generic CSS rules in all pages/frames
meaning no undue [memory usage issues](https://bugzilla.mozilla.org/show_bug.cgi?id=1320872) - -Do these design choices really cause uBO to be _"inferior in capabilities"_ compared to ABP? See the capabilities comparison grid below for an answer (at time of writing): - -Features | ABP | uBO --------- | :---: | :---: -**network filtering** -[multi-stage filtering engine](https://github.com/gorhill/uBlock/wiki/Overview-of-uBlock's-network-filtering-engine)
ability for users to easily override filters in 3rd-party filter lists on a per-site basis | | yes -`@@...$document` | yes | [no](https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#not-supported) -can read hosts files | | yes -`inline-script`
to prevent execution of inline javascript | [no](https://issues.adblockplus.org/ticket/748) | yes -`important`
to be able to override exception filters | | yes -`popunder` | [no](https://issues.adblockplus.org/ticket/2095) | yes -`redirect`
to redirect to local resources, key to privacy and to counter anti-blockers | | yes -`csp=`
see [rationale](https://github.com/gorhill/uBlock/issues/1930#issuecomment-301055346) | | yes
v1.12.5 -[strict blocking](https://github.com/gorhill/uBlock/wiki/Strict-blocking) | | yes -rule-based filtering
firewall-like or URL-based rules with corresponding point-and-click UI | | yes -behind-the-scene
uBO's logger reports behind-the-scene request, filtering is opt-in | | yes -**cosmetic filtering** -entity-based filters | | yes -`-abp-properties` | yes | [no](https://github.com/gorhill/uBlock/issues/139) -`:has` | [not yet](https://issues.adblockplus.org/ticket/2360) | yes -`:has-text`
`:if` `:if-not`
`:matches-css` `:matches-css-before` `:matches-css-after`
`:xpath` | | yes -`:style` | [no](https://issues.adblockplus.org/ticket/756) | yes -`script:contains` | | Firefox only -`script:inject`
key to counter anti-blockers | | yes -**privacy** -pro-user default settings
uBO is not monetized, it's under no pressure to [compromise](https://adblockplus.org/forum/viewtopic.php?f=17&t=50215) on pro-user interests | | yes -disable pre-fetching | | yes -disable hyperlink auditing | | yes -disable local IP addresses leakage through WebRTC | | yes -**other features** -pre-compilation of filter lists for fast loading of filters | | yes -"acceptable ads" | yes | [no](https://github.com/gorhill/uBlock/blob/master/MANIFESTO.md) -disable everywhere | yes | -count filter hits | yes | [no](https://github.com/gorhill/uBlock/issues/1353) -ability to globally ignore generic cosmetic filters
useful for low-performance mobile devices | | yes -cloud storage | | yes -point-and-click firewall-like filtering
allows for [relax](https://github.com/gorhill/uBlock/wiki/Blocking-mode:-medium-mode) or [strict](https://github.com/gorhill/uBlock/wiki/Blocking-mode:-hard-mode) default-deny approach | | yes -logger | per-page | unified -point-and-click per-site no-popups | | yes -point-and-click per site no-cosmetic-filtering | | yes -point-and-click per site no-large-media-elements | | yes -point-and-click per site no-remote-fonts | | yes -integrated element picker | Chromium-based browsers only | yes -easy backup/restore of all settings | Firefox only | yes +Moved to [About "uBlock is inferior in capabilities as a result of being lighter on the browser"](https://github.com/gorhill/uBlock/wiki/About-%22uBlock-is-inferior-in-capabilities-as-a-result-of-being-lighter-on-the-browser%22) (the trailing dots were not link sharing-friendly). \ No newline at end of file