AdGuard Home使用体验
AdGuard Home is a network-wide software for blocking ads and tracking. After you set it up, it’ll cover ALL your home devices, and you don’t need any client-side software for that.
“AdGuard Home 是一个全域范围的,用来阻挡广告和追踪的软件。当你安装完成之后,它将覆盖你家里所有的设备,你从此不需要任何客户端软件来阻挡广告”
前言
说起AdGuard Home你也许会比较陌生,但如果说起AdGuard那你大概率使用过它的插件。
“AdGuard是全球最先进的广告拦截器”,这句话如果单领出来确实有点广告法,但的确对得起AdGuard的强大功能,我最常见使用的是AdGurad的浏览器插件,这个插件能拦截绝大数的浏览器广告,但对于一些基于无法安装插件的情况,比如说微信小程序里面的广告,这种方法就无济于事了
因此AdGurad推出了AdGurad Home,从根源上解决了广告的问题
目前该项目已经开源到了GitHub:地址
技术解析
Free and open source, powerful network-wide ads & trackers blocking DNS server.
“免费和开源、强大的全域网络广告与追踪器阻挡DNS服务器”
AdGuard Home的本质其实是一个DNS缓存服务器,它通过从上游DNS服务器中获取DNS解析结果,与本地的DNS黑名单和白名单进行匹配,从而对属于广告或者其他你不愿意看到的内容的DNS请求进行过滤,如果设备请求的域名在黑名单中,AdGuard Home则不会返回DNS解析结果,从而达到屏蔽广告和追踪器的功能。
如果是黑名单中的域名,最终返回客户端的请求结果会是:
响应代码
NOERROR
规则
||data.kuiniuca.com^
AdGuard DNS filter
响应
A: 0.0.0.0 (ttl=10)
响应
AAAA: :: (ttl=10)
安装
官方的文档提供的很详细的安装教程,在这里比较推荐的部署方法是采用Docker:
docker run --name adguardhome\
--restart unless-stopped\
-v /my/own/workdir:/opt/adguardhome/work\
-v /my/own/confdir:/opt/adguardhome/conf\
-p 53:53/tcp -p 53:53/udp\
-p 67:67/udp -p 68:68/udp\
-p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp\
-p 853:853/tcp\
-p 784:784/udp -p 853:853/udp -p 8853:8853/udp\
-p 5443:5443/tcp -p 5443:5443/udp\
-d adguard/adguardhome
为了避免DNS缓存数据和配置文件的丢失,你应该将/opt/adguardhome/work
与/opt/adguardhome/conf
映射出来做持久卷处理。你也不必担心该数据的庞大体积,DNS数据本身很小
liueic@liueic-ThinkCentre-M910x:~/adguard$ ls -lh
总用量 8.0K
drwxr-xr-x 2 root root 4.0K 7月 29 14:45 confdir
drwxr-xr-x 3 root root 4.0K 7月 27 16:29 workdir
其中AdGuard Home还提供了HDCP
、TLS
、DOH
等诸多功能,如果你部署在局域网而且已经有主路由,只想将AdGuard Home当作DNS服务器,那你可以只开放53、3000,并将80映射为其他端口作为WebUI的端口
安装完成进入http://IP:3000
进行设置
使用
前面说了AdGuard Home,主要是作为DNS缓存服务器使用,因此选取未被污染的上游DNS服务器显得尤为重要,在这里我推荐几个我使用比较多的DNS服务器:
https://dns10.quad9.net/dns-query # AdGuard Home官方维护
https://dns.google/dns-query # Google DoH服务器
https://1dot1dot1dot1.cloudflare-dns.com/ # CloudFlare DoH服务器
dns.google # Google DoT服务器
cloudflare-dns.com # CloudFlare DoT服务器
dns.alidns.com # 阿里云 DoT服务器
dot.pub # DNSpub DoT服务器
https://dns.alidns.com/dns-query # 阿里云 DoH服务器
https://223.5.5.5/dns-query # 阿里云 DoH服务器
https://223.6.6.6/dns-query # 阿里云 DoH服务器
在这里我选取了较多的上游服务器,其中需要注意的是阿里云公共DNS对于请求数量进行了限制(QPS 20),而腾讯的公共DNS有污染的传言,所以并不完全可靠
在这里我推荐你使用并行请求
,加上乐观缓存
,这样的话可以在尽可能保证请求质量的基础上加快本地的DNS请求速度
其实你没必要担心因为乐观缓存
的存在而影响DNS解析的正确程度,因为你访问的大多数网址的DNS解析结果一般不会发生较大的变化,相反由于乐观缓存
的本地缓存,整个DNS请求的效率会很高,会大大改善本地的网络连接状况:
DNS 黑名单
AdGuard Home的DNS 黑名单是整个的核心,它决定了最终对抗广告和追踪器的质量,在这里我推荐一个效果比较好,误伤比较小的DNS黑名单,以下加速链接为CDN加速后的链接:
AdGuard DNS filter:原始链接 | 加速链接
AdAway Default Blocklist:原始链接 | 加速链接
AdGuard Base filter:原始链接 | 加速链接
AdGuard Chinese filter:原始链接 | 加速链接
CJX’s Annoyance List:原始链接 | 加速链接
总体来说效果还是很不错的,一些常见的广告都可以过滤,你还可以添加一些特殊的规则,比如说针对“电子书”、“电视剧”等等
总结
总体来说,使用体验还是很不错的,尤其是本地有DNS缓存之后整体的解析速度很快,而且也不会存在因为解析错误而导致无法访问的情况。
如果你想要了解更多的话,不妨看看我的小站:小树