0、为什么需要AdGuard
身在国内,国产App都会有奇怪的开屏广告,甚至自己买回家的电视,都会有无法关闭的开机广告,使用体验堪比买了一个电视的节目播放权。
使用自动跳过软件,例如知名的李跳跳、轻启动、自动跳过,属于治标不治本;而自建DNS服务器,从根源上屏蔽广告服务器,才是最佳解决方案。
注意:
AdGuard Home只适合家庭使用,不适合部署在企业服务器上。建议使用家里的NAS/树莓派/OpenWrt路由器部署,用国内云服务器部署请勿开启公共访问,需开启IP白名单,否则会在1工作日内被云厂商警告!
免责声明:
本教程只简单分享搭建方法,参考本教程搭建的DNS服务器,用于违法用途导致的任何后果,本站概不负责。
1、关于
AdGuard Home 是一款全网广告拦截与反跟踪软件。
在您将其安装完毕后,它将保护您所有家用设备,同时您不再需要安装任何客户端软件。
随着物联网与连接设备的兴起,掌控您自己的整个网络环境变得越来越重要。
——AdGuard Home官网
根据V2EX等站的网友测试,AdGuard Home可以过滤包括手机开屏广告、应用内广告、电视开机广告在内的几乎所有广告,使用体验非常棒。
然而,由于特殊原因大家恐怕并不能享受这么好的服务,原因下文再说
2、安装
2.1、非Docker安装
不想用Docker的可以使用此方法。
GitHub项目地址:
https://github.com/AdguardTeam/AdGuardHome
一键脚本执行:
此处内容需要评论回复(自动审核)或加入 QQ 技术交流群(立即获得内容)后方可阅读。赞助(二维码在文章下方)后联系作者可一次性解锁所有(包括之后的新文章)。
具体参考官方文档。
注意:如果服务器53端口有占用,就无法使用此方法,或者配置很麻烦,例如我配置了Dnsmasq服务器,就选择了Docker部署。
2.2、命令行安装
执行:
此处内容需要评论回复(自动审核)或加入 QQ 技术交流群(立即获得内容)后方可阅读。赞助(二维码在文章下方)后联系作者可一次性解锁所有(包括之后的新文章)。
注意,这里把443端口改为了8443端口,防止与其他服务冲突。
初始化时,请保持面板端口为3000。否则,请更改上面的端口映射。
3、初始化
按照老方法反代,访问网站即可。
保持默认设置即可。
4、DNS相关设置
参考下列图片:
特别说明:
- 如果服务器在国内,可以直接使用腾讯云PublicDNS,目前免费,集成AdGuard、EasyList等知名屏蔽列表的广告屏蔽功能
- 如果服务器在国内,优先使用服务器自带的DNS,一般是一个可用区内最快的DNS
- 如果上小厂服务器,也可以使用阿里、腾讯或114的DNS,以上DNS都没有被污染
上游DNS服务器列表:
1 | 119.29.29.29 1.2.4.8 101.226.4.6 tcp://114.114.114.114 tcp://114.114.115.115 tcp://223.5.5.5 tcp://223.6.6.6 tcp://8.8.4.4 tcp://202.14.67.4 tcp://202.14.67.14 tcp://202.130.97.65 tcp://202.130.97.66 tcp://168.95.192.1 https://1.1.1.1/dns-query https://1.0.0.1/dns-query tls://8.8.8.8 tls://8.8.4.4 tls://dns.google:853 |
Bootstrap服务器列表:
1 | 219.141.136.10 219.141.140.10 202.96.199.133 119.29.29.29 223.5.5.5 180.76.76.76 8.8.8.8 8.8.4.4 208.67.222.222 |
如果保存时提示某服务器无法通过验证,则去掉该行即可。
5、去广告
设置屏蔽列表:
推荐:
此处内容需要评论回复(自动审核)或加入 QQ 技术交流群(立即获得内容)后方可阅读。赞助(二维码在文章下方)后联系作者可一次性解锁所有(包括之后的新文章)。
*需要注意的是:/
广告屏蔽列表不是越多越好,选一个最全的(优先国内,国外的可能大部分是屏蔽Google,YouTube等广告)即可,太多规则会拖慢DNS解析速度。
6、效果
6.1、客户端配置
路由器:
目前,无法在路由器上配置AdGuardHome的DoH/DoT,实现全家共享去广告。但是可以使用DNSPod的PublicDNS,支持TCP/UDP的DNS。
安卓:
安卓设备原生支持DoT,在设置中搜索加密DNS即可。
除此之外,还可以安装AdGuard软件体验DoH:
AdGuard App
https://adguard.com/adguard-android/overview.html
官方自带了很多安装了AdGuard的服务器,默认的几个,中国大陆都可以访问。
无论是否Root,都不影响使用。
Windows:
在设置中找到DNS设置:
6.2、反向代理
使用DoH仍然容易被警告,因此可以使用Nginx反向代理+宝塔防火墙修改DoH路径,并实现Access Token鉴权。
反向代理配置:
此处内容需要评论回复(自动审核)或加入 QQ 技术交流群(立即获得内容)后方可阅读。赞助(二维码在文章下方)后联系作者可一次性解锁所有(包括之后的新文章)。
注意:
如果在后台发现客户端IP都是CDN IP,说明CDN传的XFF和XRI被这个反向代理覆盖了。去掉
1 | proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; |
即可获取客户端真实IP。
在宝塔防火墙-站点设置中,添加“受保护的URL”,
参数自定义,例如使用username
和password
,则最后的DoH路径为:
https://域名/入口/?username=password
如果不带参数,则会被拦截,多拦截几次直接被宝塔防火墙封IP,有效防止主动探测,防止被蹭或被墙。
6.3、体验
Docker建站(十)AdGuardHome:居家必备DNS服务器
评论