| name | adguard |
| description | Deploy, configure, and manage AdGuard Home — network-wide DNS ad blocking, HTTPS filtering, DHCP, client management, and API automation. Use when setting up AdGuard Home, managing blocklists, configuring DNS, troubleshooting filtering, or automating via the REST API. Triggers on mentions of AdGuard, ad blocking, DNS filtering, blocklist, allowlist, Pi-hole alternative, network ad blocker. |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash, WebFetch |
AdGuard Home
Expert at deploying and managing AdGuard Home for network-wide ad blocking and DNS filtering.
Overview
- DNS filtering — Block ads, trackers, and malware at the DNS level for all devices
- HTTPS filtering — Encrypted DNS (DoH, DoT, DoQ, DNSCrypt)
- Blocklists — Curate and manage filter lists
- Client management — Per-client rules, tags, and upstream DNS
- DHCP server — Built-in DHCP to replace your router's
- REST API — Full automation via HTTP API
- Docker deployment — Standard or host-network mode
Quick Start
services:
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
ports:
- "53:53/tcp"
- "53:53/udp"
- "3000:3000/tcp"
- "80:80/tcp"
- "443:443/tcp"
- "853:853/tcp"
volumes:
- ./adguard/work:/opt/adguardhome/work
- ./adguard/conf:/opt/adguardhome/conf
restart: unless-stopped
Then visit http://HOST:3000 for the setup wizard.
API Pattern
curl -u admin:password http://HOST/control/status
curl -u admin:password "http://HOST/control/filtering/check_host?name=doubleclick.net"
curl -u admin:password -X POST http://HOST/control/filtering/add_url \
-H "Content-Type: application/json" \
-d '{"name": "Custom Block", "url": "||malware.com^", "whitelist": false}'
curl -u admin:password -X POST http://HOST/control/dns_config \
-H "Content-Type: application/json" \
-d '{"protection_enabled": true}'
Core Concepts
Upstream DNS — Where AdGuard forwards non-blocked queries. Recommended: https://dns.cloudflare.com/dns-query or tls://dns.google.
Filter Lists — Block rules applied to all DNS queries. Default lists block ads and trackers. Add more for malware, adult content, social tracking.
Client Settings — Override global settings per device. Assign devices by IP, MAC, or CIDR. Set custom upstream DNS, blocklists, or safe search per client.
Rewrites — Custom DNS answers. Map myservice.local to a specific IP.
Documentation
Common Workflows
Recommended blocklists
# In Settings → Filters → DNS blocklists, add:
https://adguardteam.github.io/HostlistsRegistry/assets/filter_1.txt # AdGuard DNS filter
https://adguardteam.github.io/HostlistsRegistry/assets/filter_2.txt # AdAway Default
https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/pro.txt # HaGeZi Pro
Set up DNS-over-HTTPS
Settings → Encryption → Enable HTTPS, provide cert and key, set server name.
Point your network at AdGuard
Set your router's DNS to AdGuard Home's IP, or use DHCP mode.
Upstream Sources
Sync & Update
When user runs sync: fetch latest wiki pages, update docs/.
When user runs diff: compare current vs upstream, report changes.