Advertisement

Just recently I published a review of the popular ad and tracking blocker named Pi-hole. While researching that application I kept reading about how AdGuard Home is better in every way in comparison to Pi-hole. This was coming from people I respect so my interest was most certainly piqued. And the fact that the Pi-hole Home Assistant Community Add-on was ditched in favour of AdGuard Home made me all the more curious.

Advertisement

So what could I do in this situation other than give AdGuard Home a try and, depending on the outcome of the review period, replace Pi-hole? Thanks to Docker I had my own instance of AdGuard Home up and running in a matter of minutes.

Before getting into the actual review I want to give you a bit of information on how AdGuard Home blocks ads and trackers and why it might be the better alternative to browser extensions. I’ll also be covering how I set up AdGuard though the process won’t be very detailed as there are many guides already available on the internet.

Advertisement

For this review I am using AdGuard Home v0.103.3 which, as of writing, is the latest stable release.

The good

  • Blocks ads and trackers before they’re even downloaded
  • Parental controls are built-in
  • Clean UI and logically structured menu
  • Open source and rapid development
  • Runs on just about every operating system
  • Doesn’t need powerful hardware
  • Works with devices that otherwise don’t support ad blockers (e.g. smart TVs)

The bad

  • Can’t block all ads (e.g. YouTube pre-roll ads)
  • DHCP server is still experimental

Table of contents

A word on ad blockers

Yes, I place ads on this site. So why would I want to inform people about this ad blocker? Shouldn’t I be doing the exact opposite? Here’s the thing: AdGuard Home isn’t just an ad blocker. It blocks trackers and other nasty websites too. That is my primary use for applications such as AdGuard Home or Pi-hole.

During my time using Pi-hole I was amazed at how often my Samsung television was calling home. I don’t want my TV to inform anyone about my watching habits. I paid for the device and should be in control of everything. The same goes for the telemetry functions built into NVIDIA’s GPU drivers. I just want to use my GPU, which I paid for, to its full potential without sharing any of my data. Applications like AdGuard Home and Pi-hole allow me to limit what data is collected. For me personally that is more important than blocking ads.

Advertisement

By placing ads on this website I just barely manage to cover the hosting and domain cost. I’m not going to tell you to not use an ad blocker on my site. I get it, ads are annoying. But you should know that I run this site in my free time and the hosting doesn’t come for free. So why not consider supporting me in another way?

How AdGuard Home works

Those of you who don’t know how AdGuard Home works might want to know what differentiates it from ad blocking browser extensions. AdGuard Home, just like Pi-hole, is a network-level blocker and doesn’t require any extensions or apps to be added to your browser or operating system.

Advertisement

A network-level blocker will silently sit in the background and block ads and trackers from reaching any device connected to your network. It does this by redirecting ad and tracking domains to a “black hole”, thus preventing your devices from even connecting to those servers. And those devices include smartphones, tablets, smart televisions, consoles, and anything else that might be connected to your network.

Whereas browser extensions tend to be quite resource intensive because they scan every page you open and then block the ads. Network-level blockers are lightweight and can even run on low-power devices such as the popular Raspberry Pi. And because a network-level blocker will stop any ads and trackers from even being downloaded (something a browser extension can’t do) they can actually speed up your browsing experience.

How to install AdGuard Home

I’ve opted to use Docker to run my instance of AdGuard Home. Using Docker the installation went without a hitch and AdGuard Home was ready to be used in a matter of minutes. I can definitely recommend running AdGuard Home on Docker if you already have it running.

Advertisement

If you don’t use Docker you’re in luck, AdGuard Home runs on Linux, Windows, macOS, and FreeBSD. For those of you running Home Assistant there is a Community Add-on available. I’m currently running Home Assistant Core and not Home Assistant so I don’t have access to the add-ons. I can only guess that the Home Assistant Community Add-on is even easier to get running.

The application is also available on the Snap Store for those looking to install AdGuard Home on a Linux host.

Configuring AdGuard Home

Once you’ve got AdGuard Home working you will have to change your router’s DNS to point to AdGuard Home’s IP. I’m guessing that if you know how to set up AdGuard Home you will be able to make that change without any help. If you can’t find the setting in your router’s dashboard try searching for “[your router model] change DNS”. Once the DNS on your router has been adjusted every device on your network will benefit from AdGuard Home.

Advertisement

AdGuard Home review

Once installed AdGuard Home provides a good looking and easy-to-use onboarding wizard. Compared to Pi-hole, AdGuard is definitely easier to set up. Once completed you are greeted by the AdGuard dashboard and that is where this review will begin.

A nice and clean UI

I must say, I do like the AdGuard Home user interface. The main dashboard shows a few graphs and statistics which give you a glance at how your system is performing. It’s always nice knowing how much nastiness was blocked from your network.

The menu is logically structured. Under Settings you’ll find subitems for General settings, DNS setting, Encryption settings, Client settings, and DHCP settings. What each of these settings controls is explained in this article by AdGuard.

The AdGuard Home menu
Advertisement

Under filters you’ll find your block- and allowlists as well as custom filtering rules. That last option can, for example, be used to completely block a domain and all of it’s subdomains or unblock a domain and all subdomains. The option to check the blocklists for updates is right underneath the blocklists. For me personally that is where that button should be. As already mentioned, the interface is well thought out. The same can’t be said for Pi-hole.

The AdGuard Home blocklist

Blocking services in AdGuard Home

One nifty feature I discovered in AdGuard Home is the option to block services. Using this option you can completely block Instagram, Facebook, YouTube or any of the other supported services from your network. The services can be blocked for all devices on your network or you can block individual services on individual devices.

Blocking services in AdGuard Home
Advertisement

How could this come in useful? With many of us working from home it might be a good idea to completely block certain distractions on the device you use for work. Yes, you could easily enable them again but it might make you think twice about browsing Twitter or Facebook when clocked in.

AdGuard Home DHCP server

AdGuard Home does have a DHCP server though it is still experimental. A DHCP server dynamically assigns an IP address and other network configuration parameters to each device on the network. In most cases your router will also be your DHCP server. If you were to switch DHCP you have to make sure you disable that one.

The AdGuard Home DHCP server option

Using AdGuard Home a DHCP server does have some advantages. It will make configuring clients much easier because all devices will immediately be configured for AdGuard Home. If you don’t use AdGuard Home as a DHCP server you will have to manually configure the clients. Clients have to be configured to enable individual settings such as the blocking of services or parental controls.

Advertisement

I personally haven’t made use of this feature yet. Mainly because my laptop is the only device currently connected to AdGuard Home. Were I to switch to this blocker I would most certainly use the DHCP server option.

Parental Controls

And finally, for all those wanting to block adult sites from certain devices or every device on the network, AdGuard Home has the solution. I’ve tested a few more well known sites and it blocked each and every one of them. So I’m going to assume it works well.

A website blocked by AdGuard Home parental controls

Luckily for me my kids aren’t old enough to use a computer or smartphone yet. But it is comforting to know that AdGuard Home could enable parental controls when the time comes.

What AdGuard Home can’t block

Unfortunately, or fortunately some might say, AdGuard Home can’t block all ads. Two types that won’t be blocked are YouTube video ads and ads on Twitch. Other than that, AdGuard Home also won’t block Facebook, Twitter, and Instagram sponsored posts. Any advertising that shares a domain with content cannot be blocked by a DNS-level blocker.

Advertisement

AdGuard Home will get better at blocking these types of ads in the future thanks to the integration of  a content blocking proxy. However even then it will be difficult to block everything.

Integrating AdGuard Home with Home Assistant

Of course AdGuard Home integrates with Home Assistant. Why else would I feature it on this website? As with Pi-hole the integration is set up using the UI. Once set up you get access to eight sensors and six switches.

AdGuard Home switches and sensors in Home Assistant

Home Assistant AdGuard Home sensors

  • Number of DNS queries.
  • Number of blocked DNS queries.
  • Ratio (%) of blocked DNS queries.
  • Number of requests blocked by safe browsing.
  • Number of safe searches enforced.
  • Number of requests blocked by parental control.
  • Total number of active filter rules loaded.
  • Average response time of AdGuard’s DNS server in milliseconds.

Home Assistant AdGuard Home switches

  • Protection (master switch)
  • Filtering
  • Safe Browsing
  • Parental Control
  • Safe Search
  • Query Log

Why you want to control AdGuard Home

You might be asking yourself if this integration is even necessary. Why wouldn’t you just leave AdGuard Home enabled at all time? There are certain scenarios you explicitly don’t want your ad blocker enabled. For example when I’m working on my sites I’ll disable all blockers because I need to know what the site looks like without any third-party influence. Or maybe there are times you want to click on an ad or affiliate link that might be blocked by AdGuard Home. In either scenario it’s easier to ask Google or Alexa to disable your blocker than logging in to the AdGuard Dashboard.

Besides that you can display some nice graphs in your Lovelace UI using the sensors.

Advertisement

Will I be switching?

Over the past days I’ve been really impressed with AdGuard Home. It is easier to use than Pi-hole and boasts more features. Thus, it is not a question of whether I’ll be switching but when I’ll be switching. I can wholeheartedly recommend AdGuard Home to users who know what they’re doing and were considering Pi-hole.

Advertisement
Liam Alexander Colman, the author and maintainer of Home Assistant Guides.

About Liam Alexander Colman

Liam Alexander Colman has been using Home Assistant for various projects for quite some time. What started of with a Raspberry Pi quickly became three Raspberry Pis and eventually a full-blown server. I now use Unraid as my operating system and Home Assistant happily runs in a Docker container. My personal setup includes many Zigbee devices as well as integrations with existing products such as my Android TV box. Read on to find out more on how I got started with Home Assistant.

3 thoughts on “AdGuard Home review – Will I ditch Pi-hole?”

  1. Do you have any sort of suggestions (aside from use Linux) for those of us on windows?

    It won’t me clients on windows because DHCP is not supported when you run AGH on windows natively.

    When I run it in docker windows does not support host mode or mavvlan.

    I would like to use it for DHCP and I would like to have all my clients listed.

    I fear I am just out of luck unless I switch fully to Linux which I am just not ready for.

    Reply
  2. Great article.

    One area of functionality you don’t discuss is around DNS over HTTPS. Unencrypted DNS remains one of the main areas of data leakage to your ISP or others, that can be used to track and profile you. Adguard has native support to send out DNS requests using encrypted DNS, whereas PiHole requires some addiiotnal packages. As I wanted to run a single docker container this was one of the differentiators in me moving.

    Even without that distinction, its still worth a mention as adding network wide secure DNS is a major privacy benefit of using Adguard Home, or indeed any other DNS server that supports it.

    Reply

Leave a comment

Advertisement