Adguard-Home使用体验
Adguard-Home使用体验
小树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解析结果,从而达到屏蔽广告和追踪器的功能。
如果是黑名单中的域名,最终返回客户端的请求结果会是:
1 | 响应代码 |
安装
官方的文档提供的很详细的安装教程,在这里比较推荐的部署方法是采用Docker:
1 | docker run --name adguardhome\ |
为了避免DNS缓存数据和配置文件的丢失,你应该将 /opt/adguardhome/work
与 /opt/adguardhome/conf
映射出来做持久卷处理。你也不必担心该数据的庞大体积,DNS数据本身很小
1 | liueic@liueic-ThinkCentre-M910x:~/adguard$ ls -lh |
其中AdGuard Home还提供了 HDCP
、TLS
、DOH
等诸多功能,如果你部署在局域网而且已经有主路由,只想将AdGuard Home当作DNS服务器,那你可以只开放53、3000,并将80映射为其他端口作为WebUI的端口
安装完成进入 http://IP:3000
进行设置
使用
前面说了AdGuard Home,主要是作为DNS缓存服务器使用,因此选取未被污染的上游DNS服务器显得尤为重要,在这里我推荐几个我使用比较多的DNS服务器:
1 | https://dns10.quad9.net/dns-query # AdGuard Home官方维护 |
在这里我选取了较多的上游服务器,其中需要注意的是阿里云公共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缓存之后整体的解析速度很快,而且也不会存在因为解析错误而导致无法访问的情况。