After using AdBlock Plus (ABP) for years, I decided to try a custom hosts file for ad blocking instead for a bit. Searching for “Adblock Plus vs. hosts file” produces nothing but forum posts and very few actual comparisons; this should help fix that. The central issue addressed is here is whether in-browser ad block is better that hosts file ad blocking. For this, I’ve selected the most commonly used/best of breed solution for each and compared them based on my experiences with both.
Blocks ads across the entire OS, not just the browser.
Don’t break browser functionality.
Very low granularity: can block entire domains only.
Can’t be enabled or disabled per site.
Less accessible UI than ABP.
Less intuitive UI than ABP.
Cannot interactively block elements onscreen.
Less actively developed than ABP.
Hosts files updated significantly less frequently than ABP lists.
Lots of false positives that break website functionality, e.g. sharing buttons and social logins can disappear.
Still lets quite a few ads through.
Is closed source.
Changing the hosts file can (temporarily) disrupt your internet connection.
Delete Entry in the hosts file editor often fails after the first use per session.
HostsMan’s main advantage is its lower resource overhead. Sadly, said lower resource usage doesn’t translate into particularly faster page loads or browser performance from a superficial user perspective, and so isn’t nearly enough to overcome its numerous other shortcomings. Ironically, some pages do seem to load slower with HostsMan than they do with ABP. The latter’s better UI and UX make it the winner.
Only 3 of the suggested sources are usable, and you may want to add another custom source.
If you hate ads, you’ve probably already tried an ad blocking solution like AdBlock Plus (ABP). If you’re reading this, you probably also discovered the huge negative impact of in-browser ad blocking on browser performance. And so now you’re trying HostsMan instead.* Unlike ABP, however, HostsMan doesn’t make it obvious which hosts file sources you subscribe to. Enabling all of them sounds like a good idea, but doing so hoses some functionality such as social sharing bookmarklets.
I’m still testing HostsMan in lieu of ABP on my Windows 7 64-bit and Windows 8.1 August Update 64-bit PCs, but so far the following hosts subscriptions have blocked ads without compromising useful features:
Peter Lowe’s AdServers List
Malware Domain List
You can also add AdAway‘s** list by doing the following:
In HostMan’s Manage Update Sources dialog, click Add Source…
Enter an appropriate name in the Name (ex: Example’s hosts file): field.
Click Test Connection to ensure you entered the right details.
Force an update from HostsMan’s main window.
You don’t have to reboot for changes to take effect, though your internet connection might hiccup while the OS becomes aware of the new hosts file.
More specific reasons I disregard the remaining hosts sources:
hpHosts (all): far too aggressive and insufficiently specific.
Cameleon: not updated often enough. As of this writing, the most recent update was in April 2014.
Sadly, Cameleon’s state betrays one major downside of ad blocking using hosts files: they aren’t updated nearly as frequently as ABP lists. EasyList, for example, is updated daily. Of the sources I recommend, the most recently updated is the Malware Domain List at October 31, 2014. Peter Lowe’s list was updated on October 10, while MVPS and AdAway were updated on September 30. Yikes.
**AdAway does for Android what HostsMan does for Windows. However, it needs root permissions and you definitely need to reboot between hosts file updates as there’s no other way to make the OS aware of the changes.
The back story behind this one is pretty long, but the executive summary is that Cyanogenmod (CM) and SuperSU don’t play well together. Effects of combining the 2 include, but are not limited to:
CM OTA updates failing to install:
Apps that need root permissions – e.g. AdBlock Plus – malfunctioning.
Worse yet, reverting to CM Superuser from SuperSU is a huge pain, if not nearly impossible. As with most things Linux, there’s pretty much no working documentation of this problem anywhere. The only fix I was able to apply was to update CM to a Nightly build – with a complete image download – instead of an M-release. This isn’t a bad thing per se, but a root permissions app shouldn’t effectively force a complete OS (re)install on its own. That’s awful UX.