1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-11-05 02:12:36 +01:00
uBlock/README.md
2014-06-28 01:21:04 -04:00

6.9 KiB

µBlock for Chromium

See Change log for latest changes.

An efficient blocker for Chromium-based browsers. Fast and lean.

Chromium on Linux 64-bit

Opera 22 on Windows 7 32-bit

The above screenshots were taken after visiting many reference benchmark links plus a bit of random browsing. All blockers were active at the same time, thus they had to deal with exactly the same workload. Before the screenshots were taken, I left the browser idle for many minutes so as to let the browser's garbage collector kicks in. Also, after a while idling, it's good to open the dev console for each extension and force a garbage collection cycle by clicking a couple of times the trashcan icon in the Timeline tab (this caused a ~15MB drop for µBlock and Adguard in Opera) as garbage collectors sometimes work in a very lazy way, so I did this for each extension.

More: µBlock vs. ABP: efficiency compared

Dispelling a few myths flying around

"µBlock does not support element hiding".

Yes it does. Try entering twitter.com##body in the "Your filters" text area and visit twitter.com: the page will be blank.

What it doesn't support yet, is the UI counterpart to "element hiding", i.e. being able to click on an element to extract filters out of it.

"The memory usage isn't actually ABP's fault, EasyList is like 40,000+ lines of rules that all have to be parsed by ABP".

µBlock also parse EasyList, EasyPrivacy, Malware domains lists, and Peter Lowes's Ad server list out of the box and yet uses less than half the memory of ABP.

"µBlock has all the features ABP has!"

No it doesn't. There are things ABP can do which µBlock can't at this time. I will consider all feature requests, but I will implement only those which do not jeopardize µBlock's defining traits: lean, efficient and minimalist.

Filters with the $popup option are ignored. At time of writing, I see 558 such filters in _EasyList. Chromium comes with a built-in popup blocker, which can be enabled in the settings.

Filters with the $elemhide option are ignored. At time of writing, I see 50 such filters in EasyList. The purpose of these filters is to disable cosmetic filters on specific site.

Regarding reviews in various web store

Some articles about the origin of the source code behind µBlock

Installation

From the Chrome store, or manually.

To benefit from the higher efficiency, it is of course not advised to use an inefficient blocker at the same time. µBlock will do as well or better than the popular blockers out there.

Documentation

I think it is pretty obvious, except for this I suppose:

Popup

The big power button is to disable/enable µBlock for the specific hostname which can be extracted from the URL address of the current page. (It applies to the current web site only, it is not a global power button.) The state of the power switch for a specific site will be remembered.

Benchmarks

I ran my reference benchmark to compare against other popular blockers.

Results -- figures are 3rd party / all:

µBlock 0.1.0.4

  • Domains: 66 / 67
  • Hosts: 117 / 171
  • Scripts: 239 / 321
  • Outbound cookies: 8 / 42
  • Net requests: 1,035 / 1,877

Adblock Plus 1.8.3

  • Domains: 72 / 73
  • Hosts: 124 / 177
  • Scripts: 243 / 328
  • Outbound cookies: 8 / 44
  • Net requests: 1,041 / 1,913

Ghostery 5.3.0

  • Domains: 83 / 84
  • Hosts: 140 / 211
  • Scripts: 239 / 343
  • Outbound cookies: 17 / 57
  • Net requests: 1,046 / 1,930

Adguard 1.0.2.9

  • Domains: 89 / 90
  • Hosts: 145 / 217
  • Scripts: 262 / 349
  • Outbound cookies: 18 / 68
  • Net requests: 1,064 / 1,904

Disconnect 5.18.14

  • Domains: 95 / 96
  • Hosts: 163 / 239
  • Scripts: 283 / 381
  • Outbound cookies: 18 / 74
  • Net requests: 1,087 / 1,989

No blocker

  • Domains: 380 / 381
  • Hosts: 566 / 644
  • Scripts: 490 / 592
  • Outbound cookies: 245 / 315
  • Net requests: 1,950 / 2,871

The figures show the number of requests allowed, thus lower numbers are better. The point is to show how many 3rd-party servers are hit on average after running the reference benchmark (three repeats in the current instance).

The less hits on 3rd-party servers, the better. All blockers were configured in such a way as to compare apples-vs-apples:

  • µBlock: out-of-the-box settings -- no change.
  • Adblock Plus: "EasyPrivacy", "Malware Domains" checked. "Acceptable ads" unchecked.
  • Ghostery: "Advertising", "Analytics", "Beacons", "Privacy" checked. "Widgets" not checked. "GhostRank" unchecked.
  • Adguard: "Spyware and tracking", "Phishing and malware protection" checked. "Social media" not checked. "Acceptable ads" unchecked.
  • Disconnect: out-of-the-box settings -- no change.

About

µBlock is born out of HTTP Switchboard. All the niceties of HTTPSB have been removed, and what is left is a straightforward blocker which support EasyList and the likes, and also support host files. Cosmetic filters ("element hiding") are supported.

There is nothing more to it. But it does what popular blockers out there do, at a fraction of CPU and memory usage for the same blocking power.

Free. Open source. No donations sought. For users by users.

Without the preset lists of filters, this extension is nothing. So if ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.

License

GPLv3.