AdGuardHome 是一款全网广告拦截与反跟踪软件。它是一个开源的 DNS 服务器,部署方便、UI 友好易用,有着防污染、防跟踪、防篡改的能力,其次才是它的去广告、反跟踪功能,是通过重定向 DNS 解析记录实现的。

部署 AdGuard Home 后无需安装任何应用程序。您可在 Windows,macOS,Android,iOS 设备上使用它。

在终端中运行一键安装脚本

curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh

若提示 curl: command not found ,先安装 Curl 。ubuntu/debian 系统安装 Curl 方法:

apt-get install curl -y

开放需要的端口

53:DNS 端口。即其他设备访问 AdGuard Home 进行 DNS 解析的默认端口。因为部分系统不支持自定义 DNS 端口,所以不建议自定义。部署前务必要查看是否有其它程序占用。
67, 68: DHCP 端口。除非想代替你路由上的 DHCP 服务器,否则用不到。
80: 管理页面默认 HTTP 端口。可忽略,在初始化页面设置管理端口为 3000 端口即可。
443:HTTPS 和 DoH 端口。本地内网环境不需要。
853:DoT 端口。不使用相关功能可忽略。
3000:初始化设置端口。除非通过配置文件去设置,否则必须开启。

AdGuard Home初始化设置

使用网页浏览器访问 IP + 3000 端口即可进入到 Ad­Guard Home 的初始化界面,比如 IP 是 10.0.0.53,那么就访问 http://10.0.0.53:3000

接着是监听接口(网卡)和端口设置,根据自己实际的情况需要作出不同的修改。

然后是设置管理用户名和密码,后面都是直接下一步:

完成之后输入之前设置好的用户名和密码登录仪表盘页面。


Ad­Guard Home优化设置

滤器更新间隔DNS 过滤清单默认更新间隔,一般为 1 - 7 天
使用 AdGuard 「浏览安全」网页服务作用与 Chrome 网页安全性检查类似,开启后,当用户访问存在潜在威胁的网站时,AdGuard 会主动拦截并弹出提示。
使用 AdGuard 「家长控制」 服务如果家中有尚未成年的孩子,建议开启,避免访问不良网站。
强制安全搜索隐藏 Bing、Google、Yandex、YouTube 网站上 NSFW 等不适宜的内容。
查询记录保留时间AdGuard Home 服务端采用 Sqlite 文件数据库存储日志,长时间保留可能会降低运行速度,同时占用大量的储存空间,家庭用户一般保留 24 小时 - 7 天即可。
统计数据保留时间用于仪表盘的数据展示,一般保留 1 小时 - 30 天。

DNS设置

中国大陆网络环境推荐选择腾讯 (DNSPod) 和阿里云的公共 DNS 。

tls://dns.pub
https://dns.pub/dns-query
tls://dns.alidns.com
https://dns.alidns.com/dns-query
tls://dns.ipv6dns.com
https://dns.ipv6dns.com/dns-query

国际网络环境,比如海外的 VPS 或者给科学上网软件做 DNS ,则推荐使用 Google 和 Quad9 的公共 DNS。

tls://dns.google
https://dns.google/dns-query
tls://dns11.quad9.net
https://dns11.quad9.net/dns-query

上游 DNS 服务器输入框下面有几个单选项,字面理解应该是解析策略、模式之类的选项,官方暂时没有给出详细介绍,所以博主根据字面含义和自身实际体验推荐 并行请求

Bootstrap DNS 服务器

Boot­strap DNS 服务器(引导 DNS 服务器)的作用只是解析上游 DoT/​DoH 技术 DNS 服务器的域名,这里建议填写当地电信运营商提供的 DNS 地址。

设置完点击测试上游服务器,没有问题点保存即可。

DNS 服务设定

  • 速度限制:0
  • 使用 EDNS :前面提及的上游 DNS 服务器都是支持 EDNS (ECS) 的,它有助于获取到更合适的 CDN 节点,建议勾选。
  • 使用 DNSSEC : 用于效验 DNS 记录的签名,防止 DNS 缓存被投毒,建议勾选。勾选后会在日志页面请求列显示小绿锁图标。
  • 禁用 IPv6 :丢弃 IPv6 的 DNS 查询。在本地网络和网站都支持 IPv6 会优先使用 IPv6 去访问网站。部分代理软件对 IPv6 支持不佳,开启后可能会影响国际互联网的访问。如没有特殊需求,那么直勾选即可,这样既不影响 BT 软件连接 IPv6 网络,又可以优先使用 IPv4 来上网。如果只有 IPv4 ,那么是否勾选没有区别。

DNS 缓存配置

先简单科普一下 TTL ,它是英语 Time To Live 的简称,中文翻译为 “存活时间”。放在 DNS 解析中意为一条域名解析记录在 DNS 服务器中的存留时间,单位是秒。

正常情况下 TTL 默认 0 即可,即从上游 DNS 服务器获取 TTL 值。如果你所部署的网络环境到上游 DNS 服务器的延迟比较高,那么可以适当增加 TTL 值,让缓存更持久,短时间内请求同样域名的解析会直接从缓存中读取,实现秒解析。不过 TTL 值不宜过大,不然会导致记录不能及时更新,结果是网站无法正常打开。据博主观察目前多数域名的 TTL 值普遍在 300 以内,所以给出以下设置参考值:

  • 覆盖最小 TTL 值:600
  • 覆盖最大 TTL 值:3600

DNS 封锁清单

为了更好地发挥 AdGuard Home 去广告的功能,仅依靠默认的过滤规则是不够的,但也不宜过多,过多的过滤规则会影响解析的速度,各位可以根据需要添加过滤规则。

halflife
https://raw.githubusercontent.com/o0HalfLife0o/list/master/ad.txt

anti-AD
https://anti-ad.net/easylist.txt

neoHosts
https://cdn.jsdelivr.net/gh/neoFelhz/neohosts@gh-pages/full/hosts.txt

大圣净化 - 针对国内视频网站
https://raw.githubusercontent.com/jdlingyu/ad-wars/master/hosts

adgk手机去广告规则
https://raw.githubusercontent.com/banbendalao/ADgk/master/ADgk.txt

广告终结者
http://sub.adtchrome.com/adt-chinalist-easylist.txt

Adbyby
https://raw.githubusercontent.com/adbyby/xwhyc-rules/master/lazy.txt

EasyList China+EasyList
https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt

EasyPrivacy
https://easylist-downloads.adblockplus.org/easyprivacy.txt

在设备上使用 AdGuard Home DNS

Ad­Guard Home 的设置指导页面找到相应系统的 DNS 设置方法,建议先设置电脑或手机,通过访问一些网站来测试是否能正常解析。无异常后将 AdGuard Home 的 DNS 地址部署到路由器上,连接路由器的所有设备将自动获取AdGuard Home 的 DNS。正常的情况下在仪表盘界面会有统计信息,在查询日志界面你会看到解析的详细记录信息。

至此 Ad­Guard Home 基本就部署完成可以愉快的上网冲浪了。