explaingit

adguardteam/adguardhome

Analysis updated 2026-06-20

33,890GoAudience · ops devopsComplexity · 2/5Setup · easy

TLDR

AdGuard Home is a self-hosted DNS server that blocks ads and trackers for every device on your home network, no software needed on phones, TVs, or smart home gadgets.

Mindmap

mindmap
  root((AdGuard Home))
    What it does
      DNS ad blocking
      Network-wide privacy
      Self-hosted
    Features
      Encrypted DNS
      Parental controls
      DHCP server
      Query dashboard
    vs Pi-Hole
      Encrypted DNS built in
      Single binary
      Safe browsing
    Setup
      Raspberry Pi
      Docker
      Linux or Windows
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Block ads and trackers on every device on your home Wi-Fi, phones, TVs, and smart home devices, without installing anything on each one.

USE CASE 2

Set up encrypted DNS using DNS-over-HTTPS or DNS-over-TLS to stop your ISP from seeing your browsing requests.

USE CASE 3

Add network-wide parental controls that filter content for all devices on your home network.

USE CASE 4

Run a Pi-Hole alternative on a Raspberry Pi with a built-in DHCP server and browsing history dashboard.

What is it built with?

GoDocker

How does it compare?

adguardteam/adguardhomev2fly/v2ray-corewailsapp/wails
Stars33,89033,87833,971
LanguageGoGoGo
Setup difficultyeasymoderatemoderate
Complexity2/54/53/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Requires access to your router settings to point its DNS server at AdGuard Home's IP address.

License information is not mentioned in the explanation.

In plain English

AdGuard Home is a self-hosted DNS server that blocks advertisements and tracking requests for every device on your home network, without requiring any software to be installed on those devices. DNS is the system that translates domain names (like "ads.example.com") into IP addresses, AdGuard Home sits between your devices and the internet, intercepts those translation requests, and when the requested domain belongs to an ad network or tracker, it returns nothing instead of a real address. The device gets no response, no ad loads, and no tracker phone-home call goes through. Because it operates at the network level, it protects everything on your network at once: phones, tablets, smart TVs, game consoles, and IoT devices that cannot run browser extensions. You configure your router to use AdGuard Home as its DNS server, and every device that connects to your Wi-Fi is automatically covered. AdGuard Home is often compared to Pi-Hole, another popular DNS-based ad blocker. AdGuard Home's advantages include built-in support for encrypted DNS protocols, DNS-over-HTTPS, DNS-over-TLS, DNS-over-QUIC, and DNSCrypt, which prevent your DNS queries from being snooped on by your ISP or anyone on the network path. It also includes parental controls, a built-in DHCP server, per-client customization, browsing history logs with a query dashboard, and safe browsing protection, all in a single binary with a web interface. You would use AdGuard Home if you want network-wide ad blocking and privacy protection for your entire household, particularly for devices where browser-based ad blockers cannot be installed. It runs on any Linux, Windows, macOS, or Raspberry Pi machine and is installable via a single script, Docker, or the Snap Store. The project is written in Go and is free and open-source.

Copy-paste prompts

Prompt 1
Walk me through setting up AdGuard Home on a Raspberry Pi so it blocks ads for every device on my home network.
Prompt 2
How do I configure AdGuard Home to use Cloudflare DNS-over-HTTPS as its upstream server to encrypt DNS queries?
Prompt 3
Set up per-client rules in AdGuard Home so my kids' devices get content filtering but my laptop does not.
Prompt 4
How do I add a custom domain block list to AdGuard Home and have it update automatically every 24 hours?
Prompt 5
What is the difference between AdGuard Home and Pi-Hole, and which should I choose for a Raspberry Pi setup?

Frequently asked questions

What is adguardhome?

AdGuard Home is a self-hosted DNS server that blocks ads and trackers for every device on your home network, no software needed on phones, TVs, or smart home gadgets.

What language is adguardhome written in?

Mainly Go. The stack also includes Go, Docker.

What license does adguardhome use?

License information is not mentioned in the explanation.

How hard is adguardhome to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is adguardhome for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub adguardteam on gitmyhub

Verify against the repo before relying on details.