Dev version of popular blocker extension ÂµBlock for Firefox released
If you are running an ad-blocker or script-blocker in a browser, you may experience high memory usage because of it.
Depending on how it is working, it may bring the memory easily over the 1 Gigabyte mark. One test to find out how well your extension works is to load the
VIM Color Scheme Test website (no longer available).
If you are using Windows, hit Ctrl-Shift-Esc prior to that to monitor the browser process or processes to see if loading the page increases the memory use of it significantly.
The Chrome extension ÂµBlock has been designed as a lightweight alternative for those heavy ad-blocking extensions. I reviewed the extension back in June for the first time and found it to be light on resources and excellent in regards to the blocking of contents on the Internet.
It is using filter lists of which several are used by default including popular lists such as Easy Privacy, Easy List or Peter Lowe's ad server list.
The author of the extension revealed recently that a Firefox port is in the works. Even better, a sample Firefox add-on file was posted at the same time by Deathamns that users can check out.
The released add-on is a work in progress and not complete yet but it shows that the author is dedicated to bring the extension to Firefox.
To try it out visit the linked Github comment page above and click on the uBlock.xpi file listed on it. This will launch the regular installation process in the browser and should produce a uBlock icon in the interface in the end.
The icon highlights how many requests were blocked on the active page. A click on it displays the number again and total number of blocked requests since installation.
A click on the green icon disables the extension for the site in question, and when you click on the down arrow icon at the very bottom of the interface, you can manage the following:
- 3rd party scripts.
- 3rd party frames.
These can be denied for the current site or globally using the menu.
A click on options loads the preferences window. There you find listed all third-party filter lists that you can subscribe to as well as options to add your own filters and whitelist sites.
The list loaded by default are the uBlock filters list, EasyList, Peter Lowe's list, EasyPrivacy, and Malware Domain lists.
The core functionality is included already. You will find that some features won't work yet though including the element picker that you can select in the interface.
Firefox's upcoming multi-process system e10s seems to refuse to work with the extension as well right now.
Cautious users may want to wait until ÂµBlock gets released officially before they give it a try. It needs to be noted that Mozilla has not reviewed the add-on yet as it has not been made available on the official Add-ons repository.
While Firefox has no shortage when it comes to ad-blockers and blockers in general, it is good to see that a popular Chrome extension is being ported to the browser.
Update: The add-on is now available on Mozilla's Add-on repository.
Update 2: The original author of uBlock has released an official version of the add-on for Firefox. It is highly recommended to download and use it instead of the -- now no longer updated -- add-on that was released earlier for Firefox.
Very exciting stuff! Looking forward to a more mature release.
And hopefully he releases the full http switchboard for firefox too.
HTTP Switchboard has been superseded by ÂµMatrix.
For Firefox I much prefer the Policeman add-on.
How does it fare against AdFender/AdMuncher etc.?
I like this extension/addon. It hits a sweet spot between Bluhell Firewall and AdBlock Plus.
Just switched over to uBlock for testing. Looking good so far!
Just checked about:addons-memory and uBlock is 94% lighter in memory usage! Though, about:memory is probably a better indicator.
I think the article needs to be amended to note that the Firefox addon is not created by gorhill, but by Github user, Deathamns.
> Just checked about:addons-memory and uBlock is 94% lighter in memory usage
I tried using `about:addons-memory`, and it definitely is not reporting the proper memory footprint.
See https://github.com/gorhill/uBlock/issues/27#issuecomment-67572898. `about:memory` is the best measurement tool to use I’ve found so far.
> the Firefox addon is not created by gorhill, but by Github user, Deathamns
The core of the Firefox extension is the same as the Chromium version, Deathamns worked on separating the portable code from the platform-specific code, then proceeded to create platform-specific code for Safari, and now Firefox. See https://github.com/gorhill/uBlock/graphs/contributors (platform-specific Firefox code — which is a lot of work from what I’ve seen so far — is not imported yet)
Thanks for the clarification. Regardless of who made the port, it is great that it is being done!
> Regardless of who made the port
Deathamns made the port, and I agree that the article left the impression it was me. Without Deathamns, the project would still be stuck with only Chromium support. He is definitely what is called an angel developer to the project, i.e. someone who came in, did a whole lot of portability work quietly on his side and suddenly lifted a lot of weight from my shoulders as I wanted a Firefox version since forever but couldn’t find the time/energy to make it happens.
Okay I have clarified this in the article.
Maybe I’m overlooking something but I don’t understand why people are using ad-blockers that run in their browsers …
– ad-blockers eat up resources and slow down browsers
– ad-blockers act only on web traffic, not on the entire network traffic
– people who use multiple browsers need multiple ad-blockers, which eats up even more resources
– ad-blockers ‘telephone home’ (without asking?) to update their databases and to leak who knows what else
– some ad-blockers work selectively as their vendors are getting paid for letting through specific advertisers
… all of which makes the use of ad-blockers rather dubious and complicates matters for the user. I also find the idea of an active piece of 3rd party code deciding what I can see and what I can’t unacceptable.
In most operating systems there already exists an effective and resource-efficient way to filter network traffic by diverting specific IPs or URLs to the localhost. Using the hosts file, which exists in the BSDs, in Linux, in Windows etc., to filter out undesirable or dangerous stuff is in my opinion a much more universal and elegant method than browser based ad-blockers. I’ve been using this method since ages, first in Windows and now since almost 15 years in Linux, and I have never experienced any slow-downs or hang-ups. The hosts file I’m using is the ‘classic’ from …
… which currently contains over 15000 entries, is well maintained and updated each 4-6 weeks. I’ve written a short script which on boot-up looks if a new hosts file is available, and if it is, downloads and copies the file into the /etc directory. Cool! :-)
> which makes the use of ad-blockers rather dubious and complicates matters for the user
You left out the disadvantages of using hosts files.
uBlock allows to import hosts file and uBlock’s filter list contains many fixes to un-break things broken by the use of the hosts file. See content of https://github.com/gorhill/uBlock/blob/master/assets/ublock/filters.txt. Using hosts file while keeping the ability to create fine-grained exceptions to un-break web pages is definitely an advantage to using hosts file directly.
There is also the fact that a blocker can collapse the areas of a web page which were blocked. Lots of users care about this and expect this.
Solutions have to adapt to users’ expectations, the strictly hosts file approach demands that users discard these expectations, and as a results users would end up not using the solution, leaving them completely unprotected. The real goal is to protect as many users as possible, thus give them a solution they will actually use in the end.
Hosts files are good to use for malware domains though, as of course nobody will ever want to create an exception for these.
15000 is surely overkill; are you running a local DNS server ? Also, does it help block YouTube ads on an Android/iOS device ?
The Youtube ads on my Nexus and iPad seem impossible to block. For some reason, the ABP guys are unable to figure this puzzle out.
Excellent tip Lumpy, thanks!
It works just fine, but what do you do when you want to whitelist a site?
I use host blocking on my phone, which uses mvp host files too. I find host are indiscriminate, they block whole ad domains, which means that I run into websites don’t work or that can not display some content b/c you need selective whitelist to do do that. I also noticed I have to restart my phone every time a host file updates to apply the updates. However, with that said, I think it acceptable for lower powered phones, especially in regards to battery life.
With that said, I prefer browser based blockers on my desktops. For me, having the internet work as intended is a greater priority than having 100 percent ad related content blocked. The browser overhead is acceptable on modern computers, not sure what the benchmarks say, but it isn’t noticeable at least for me.
As for browser phoning home, it is the same for host, or anything that needs updating including host files, it depends on how much you trust them. If you actually think about it, people can do tremendous damage modifying host files if there was intent. Think what would happen if someone hacked the mvp host for even one hour and steathfully modified the host file updates, just a few lines. It would be internet armageddon for some people.
Besides, Adblock filter list for browsers overwhelmingly from one source, which are the Easylist folks. They have been around forever, are open source, and have a stellar reputation. Browser filter files cannot by their nature be malcious, it just isn’t how they work, you can’t do things like rerouting traffic like host files.
Then for specific adblock extension themselves, also a matter of trust. ABP is trusted company for the most part, even though they implemented an acceptable ads function, which can be turn off easily. Their code is truly open source and anyone can review it. Also their addons are hosted on the official Mozilla addon site. Addons can include tracking mechanisms, but they must clearly ask for consent or opt in to be hosted the Mozilla addon site.
AB for Chrome, (different from ABP) definitely seems to phone home with unique identity numbers, and also one of their filters do whitelist ads. They say they are open source, but parts of it aren’t which is suspicious.
Ublock I dunno about, they seem ok, they are truly open source too, nobody really has gone over their code, but it seems ok at the moment.
Again, not saying host blocking is better or worse. Just laying out what is what.
Does not allow me to import my custom filter list(freezes Firefox). Element picker mode does not work.
I do not see improvement in memory usage over AdblockPlus. However I still run AdblockPlus but only with custom filters.
> However I still run AdblockPlus but only with custom filters
Same here. I use “Easylist” from ABP for a week or so with counter hits to see which filer rule I use most – then copy & paste into new ‘custom_filters_date.txt’. From 50,000 filters in Easylist – my version comes down to 1400 or so!
I tried the uBlock dev build on last Aurora 36 version and sincerely I was not convinced.
After about 15 minutes of navigation the memory was more high than ABP (measured with addons-memory extension and task manager) for that I remain doubtful.
In any case uBlock is still in progress so we will see the future developments.
In addition seems lack the way for block the advertising that is not included in the filters.
> memory was more high than ABP
Unless there is a memory leak in the early preview version, that is just impossible: no way that injecting 20,000 CSS rules in every page *and* whatever frames on a page is going to result in a lower memory/CPU footprint than injecting a between zero and handful of CSS rules on that same page/frames. This just makes no sense.
Notice that all my benchmarks are very detailed so that anybody can reproduce. They are also rigorous, so that I do not end up with meaningless results, i.e. comparing apples vs. oranges.
Between results of reproducible and rigorous benchmarks and vague anecdoctical observations, I choose the rigorous the results of the benchmarks.
Example of a rigorous benchmark, anybody can reproduce and see if they obtain the same results: https://github.com/gorhill/uBlock/issues/27#issuecomment-67557818
I do experience a memory leak when using uBlock. Memory usage rises to over a 1GB. I don’t have any concrete steps to duplicate yet, but when I do, I’ll post them.
This is good news indeed.
Also, the link to VIM color scheme test is broken!
awesome!,never hear this add-on before.
i really like ABP but the high memory usage really make it uncomfortable, so i stop using it and start using HOSTS block file instead, it’s great, without any performance hit, but sometimes make the web page looks “ugly”. once again thanks,
Have you done any articles on using a host flle instead of ABP
I just started using this one, will try it for a couple of days to see if my performance is any better
win 7 x64
Unless I’m mistaken, a HOSTS file does not allow you to selectively allow ads on certain web pages?
That’s not good if I want to support some websites by accepting their ads so that they get a little income that way.
Be careful when you fill to much entries in host file. This made my computer lagging so much.
Martin, I’m not understanding this:
“One test to find out how well your extension works is to load the VIM Color Scheme Test website”
I went to that page and it increased Fx memory usage from 1GB+ to 2.3 GB+. (It also maxed out CPU load.)
But what am I supposed to do with this information? How does it tell me how well my extension works (and which one?)
You compare the memory increase with various blocking extensions to see which one is using the least amount. It is more of a which extension is the resource friendliest test than anything else.
Looks like the “ÂµBlock for Firefox” was just a one-time development try, and is left abandoned since.
I wouldn’t have high hopes to see a great fork for Firefox any soon, except for when a real add-on developer would put his mind on this, but the current one (which posted a dev version ones on github issues thread) really seems far from interested in making this a success.
You have no idea what you are talking about.
A port takes many man hours to do correctly. The fact that someone even decided to put up a test version is good news alone.
Final version will be released some time in 2015 when the bugs are ironed out.
To expand upon Ray’s answer:
The author of the (upcoming) Firefox-port Deathamns is actively working on it, there’s just no release version of the add-on available yet. If you want to follow his work and progress, check the following GitHub link:
You will see that, since your post to this news, there have been dozens of commits. A commit it an upload of code changes to the repository.
looks like you was right… ublock developer has abandoned firefox altogether.
Think this is the “official” place now:
‘uBlock Origin’ (original developer, philosophical beliefs are much better aligned toward security/privacy) is the better option now at: