The best way to block ads: AdBlock Plus vs. a custom hosts file (HostsMan)

The champ is here.

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.

AdBlock Plus

Pros:

  • High granularity: wild cards allow blocking of specific section(s) of a domain instead of the entire domain.
  • Can be enabled or disabled per site.
  • Easily accessible browser based UI.
  • Intuitive UI.
  • Can interactively block elements onscreen.
  • Very actively developed.
  • Filters updated on a daily basis.
  • Is open source.
  • Changing lists or lists subscriptions or otherwise editing rules does not disrupt internet connection.
  • Subscription change effects are seen in real time.

Cons:

  • Very high RAM penalty (~35% in Win64 Firefox 36.0a1 on Windows 8.1).
  • Works only in the browser; don’t block ads elsewhere.
  • Can seriously break browser functionality.
  • Slows browser and PC down because every element URL request has to be checked against blocking rules first, which holds up everything else while that happens.

HostsMan

Pros:

  • No RAM penalty.
  • No CPU penalty.
  • Blocks ads across the entire OS, not just the browser.
  • Don’t break browser functionality.

Cons:

  • 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.

Conclusion

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.

Which sources to use in HostsMan

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:

  • MVPS Hosts
  • Peter Lowe’s AdServers List
  • Malware Domain List

You can also add AdAway‘s** list by doing the following:

  1. In HostMan’s Manage Update Sources dialog, click Add Source…
  2. Enter an appropriate name in the Name (ex: Example’s hosts file): field.
  3. In the File name or URL: field, enter https://adaway.org/hosts.txt.
  4. Click Test Connection to ensure you entered the right details.
  5. Click OK.
  6. 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.

What your HostsMan Manage Update Sources options should look like.
What your HostsMan Manage Update Sources options should look like.

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.

*More thorough comparison of ABP and HostsMan.

**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.