平时上网冲浪总是会看到一大堆烦人的广告,虽然浏览器可以安装Adblock Plus浏览器插件来去除网站里的广告,但是比如电视机的广告、部分app里的广告,这种就不能用这种方式解决,所以用dns的方式禁止解析广告域名是比较好的解决方式,同时自己搭建内网的dns服务器也可以有效避免dns被劫持的问题(说的就是某运营商把GitHub解析到127.0.0.1),同时还能做到保护个人隐私,这里就用威联通配合docker/openwrt来进行部署。
请注意:自行搭建dns服务器仅限在内网中使用,如果把相关服务暴露在公网,可能违反相关法律法规,同时AdGuard Home并不能拦截YouTube这种广告,而且现在部分app都使用了自己的doh(DNS over HTTPS),无法通过这种方式达到去广告的目的,除非劫持53端口,这个有机会再出教程吧。
一、安装docker
此教程不再赘述,需要的请查看往期文章《如何搭建属于自己的chatgpt》
二、部署AdGuard Home
这里docker配置部分不做详细教程,需要的请查看往期文章《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
把/my/own/workdir等换成自己主机下的文件夹路径即可。
威联通Container Station部署
网络配置这里我选择了host模式
host模式下网络性能会好一点的(没啥用),主要是可以不用配置那么多端口,而且除非使用doh(占用443),不然极大概率是不会和其他服务冲突,所以这里我选择了host模式,也可以选择nat模式或者bridge模式,详细请查看往期文章《docker详细教程二》。
提醒:如果使用nat模式,请务必转发53:53 udp端口以及3000:3000端口,其他的端口如果没有进阶需求可以不转发
映射文件夹
这里只要映射/opt/adguardhome/work和/opt/adguardhome/conf两个文件夹即可,勾选写入权限,然后创建。
openwrt部署
安装AdGuard Home插件,勾选启用,端口改成3000,更新核心版本,53重定向选择作为dnsmasq的上游服务器,保存应用即可。
附上插件GitHub:https://github.com/rufengsuixing/luci-app-adguardhome
三、配置dns以及去广告
打开ip+3000端口号进入到adguard home管理面板,开始配置。
端口需要改成3000以免和80端口冲突,其他默认即可
再配置账号密码
然后一路下一步,完成配置进到仪表盘
转到设置,添加公共dns比如8.8.8.8、114.114.114.114,选择并行请求。
转到过滤器-dns拦截列表,自行添加想要的规则
一般情况自带的这两个规则已经足够用了,如果还需要其他的规则,可以自行查找,这里推荐anti-AD的规则:https://anti-ad.net/easylist.txt有需要的请自行前往github查看:https://github.com/privacy-protection-tools/anti-AD
添加规则也很简单,点击添加阻止列表
可以从列表中添加(官方的列表),这里我使用anti-AD的规则,选择添加一个自定义列表
保存之后检查更新一下即可
注意:过滤规则越多dns性能会越慢,表现为解析时间变长(肉眼来看就是加载网页要等久一点),如果规则过多导致速度变慢建议禁用一些规则
四、设备更改dns(openwrt不用看)
这里有两种方法,一种是路由器上更改dns,进入到路由器后台,更改dns服务器(adguard home所在的ip)即可,此方法一劳永逸,推荐此方法。
或者单个设备更改dns,windows进入网络连接配置dns,手机进入wifi配置dns。
提醒:首选dns服务器填写adguard home的ip,同时请填写备用dns服务器,避免adguard home下线(nas临时重启等情况)后导致的断网(如果adguard home不下线,是不会用到备用dns的也就不会影响到拦截效果),配置好dns后请重启设备刷新dns。
五、检查拦截效果
进入到adguard home的仪表盘查看拦截效果
这里做完优化后平均处理时间只有6ms,具体怎么优化,关注我下一期进阶教程
可以测试一下是否真的被拦截,以谷歌广告pagead2.googlesyndication.com为例
至此基础教程已经结束,后续进阶教程(优化,dns重写等)请关注下一期
ps:以前某个绿色软件pyq也是可以屏蔽广告的,但是现在app自带doh不行了
评论前必须登录!
注册