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
一键脚本执行:
Bash
<code style="margin-left:0">curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh</code>
具体参考官方文档。
注意:如果服务器53端口有占用,就无法使用此方法,或者配置很麻烦,例如我配置了Dnsmasq服务器,就选择了Docker部署。
2.2、命令行安装
执行:
Bash
<code style="margin-left:0">docker run --name AdGuardHome \ --restart unless-stopped \ -v ~/adguard/work:/opt/adguardhome/work \ -v ~/adguard/conf:/opt/adguardhome/conf \ -p 8053:53/tcp \ -p 8053:53/udp \ -p 8443:443/tcp \ -p 8443:443/udp \ -p 8080:3000/tcp \ -p 853:853/tcp \ -p 784:784/udp \ -p 853:853/udp\ -p 5443:5443/tcp \ -p 5443:5443/udp \ -d adguard/adguardhome</code>
注意,这里把443端口改为了8443端口,防止与其他服务冲突。
初始化时,请保持面板端口为3000。否则,请更改上面的端口映射。
3、初始化
按照老方法反代,访问网站即可。
保持默认设置即可。
4、DNS相关设置
参考下列图片:
特别说明:
- 如果服务器在国内,可以直接使用腾讯云PublicDNS,目前免费,集成AdGuard、EasyList等知名屏蔽列表的广告屏蔽功能
- 如果服务器在国内,优先使用服务器自带的DNS,一般是一个可用区内最快的DNS
- 如果上小厂服务器,也可以使用阿里、腾讯或114的DNS,以上DNS都没有被污染
上游DNS服务器列表:
Text
<code style="margin-left:0">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</code>
Bootstrap服务器列表:
Text
<code style="margin-left:0">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</code>
如果保存时提示某服务器无法通过验证,则去掉该行即可。
5、去广告
设置屏蔽列表:
推荐:
Text
<code style="margin-left:0">EasyList https://raw.githubusercontent.com/privacy-protection-tools/anti-AD/master/anti-ad-easylist.txt AdAway https://adaway.org/hosts.txt 乘风视频 https://gitee.com/xinggsf/Adblock-Rule/raw/master/mv.txt 乘风广告 https://gitee.com/xinggsf/Adblock-Rule/raw/master/rule.txt My AdFilters https://gitee.com/halflife/list/raw/master/ad.txt CJX's uBlock list https://gitee.com/cjx82630/cjxlist/raw/master/cjx-ublock.txt EasyPrivacy https://easylist-downloads.adblockplus.org/easyprivacy.txt I don't care about cookies https://www.i-dont-care-about-cookies.eu/abp/</code>
*需要注意的是:/
广告屏蔽列表不是越多越好,选一个最全的(优先国内,国外的可能大部分是屏蔽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设置:
警告:
DoT使用默认端口853,极其容易被主动探测,改端口的话大部分设备不支持,因此建议不要使用DoT,亲测DoH使用基本延迟无感。
6.2、反向代理
使用DoH仍然容易被警告,因此可以使用Nginx反向代理+宝塔防火墙修改DoH路径,并实现Access Token鉴权。
反向代理配置:
Nginx
<code style="margin-left:0">location /dns-over-https-private-entrance/ #设置入口,较长一些 proxy_pass http://127.0.0.1:8443/dns-query/; #DoH默认路径,端口改成你设置的 proxy_set_header Host $host; 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;</code>
注意:
如果在后台发现客户端IP都是CDN IP,说明CDN传的XFF和XRI被这个反向代理覆盖了。去掉
Nginx
<code style="margin-left:0">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;</code>
即可获取客户端真实IP。
在宝塔防火墙-站点设置中,添加“受保护的URL”,
参数自定义,例如使用username
和password
,则最后的DoH路径为:
https://域名/入口/?username=password
如果不带参数,则会被拦截,多拦截几次直接被宝塔防火墙封IP,有效防止主动探测,防止被蹭或被墙。
6.3、体验
最后,安卓可以安装AdGuard软件体验DoH:
AdGuard App
https://adguard.com/adguard-android/overview.html
无论是否Root,都不影响使用哦~
Docker建站(十)AdGuardHome:居家必备DNS服务器
https://blog.tsinbei.com/archives/780/
Author
Hsukqi Lee
Posted on
2022-08-29
Licensed under
CC BY-NC-ND 4.0
未经允许不得转载:木盒主机 » Docker建站(十)AdGuardHome:居家必备DNS服务器