NETWORK-WIDE BLOCKING

The Ultimate
Network Guardian

AdGuard Home is open-source, network-wide software that acts as aDNS Sinkhole. It blocks ads and trackers before they even reach your devices.

check_circle No per-device installation
check_circle Encrypted DNS (DoH/DoT)
check_circle Parental Controls
check_circle DHCP Server
Dashboard Settings Filters Query Log
Active
DNS Queries
24,592 +12%
Blocked Ads
4,103 16%
PASS google.com
BLOCK ad.doubleclick.net
PASS github.com

How Does DNS Sinkhole Work?

Instead of downloading the "junk" and hiding it (like browser extensions do), AdGuard Home blocks the connection from the start.

devices

1. Your Device

Asks to open
ads.google.com

security

2. AdGuard Home

Checks the "Blacklist".
Finds the domain.

BLOCKED
public

3. Internet

The ad server
never learns about you.

encrypted

DNS-over-HTTPS

Internet providers (ISPs) log your DNS requests. AdGuard Home natively supportsDoH and DoT, DoT, encrypting your communication with the Upstream Servers (e.g. Cloudflare, Quad9).

bolt

Go Performance

Unlike Pi-hole which relies on older technologies (FTLDNS/PHP), AdGuard is written inGo. It is a single binary, extremely lightweight, fast, and easy to upgrade.

family_restroom

Parental Controls

Enable "Safe Search" for Google/Bing/YouTube with one click. Block specific services (e.g. TikTok, Discord, Facebook) on specific devices (e.g. a kid's tablet) on a schedule.

terminal Installation with Docker

docker-compose.yml
version: '3'
services:
  adguardhome:
    image: adguard/adguardhome
    container_name: adguardhome
    restart: unless-stopped
    volumes:
      # Config and Data storage
      - /my/path/to/workdir:/opt/adguardhome/work
      - /my/path/to/confdir:/opt/adguardhome/conf
    ports:
      - 53:53/tcp
      - 53:53/udp
      - 80:80/tcp
      - 443:443/tcp
      - 3000:3000/tcp
warning

Note about Port 53: If you run on Ubuntu/Debian, systemd-resolved may occupy port 53. You will need to disable it before running the container.

docker-compose.yml
services:
  adguardhome:
    image: adguard/adguardhome:latest
    container_name: adguardhome
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "3000:3000/tcp"
      - "80:80/tcp"
    volumes:
      - './work:/opt/adguardhome/work'
      - './conf:/opt/adguardhome/conf'
    restart: unless-stopped

Then run:

docker compose up -d
lightbulb

After starting, open http://SERVER_IP:3000 to run the setup wizard.