说起现在的广告估计在座的每一位都是各种“芬芳问候”,现在的广告真的是毫无底线,无孔不入。
我记得很早的时候就教大家在自己的华硕路由器以及NAS上部署全屋网页视频去广告神器『AdGuard Home』:
今天继续为大家分享另一款更简单,也非常有效的全网广告过滤服务器『Pi-hole』。
关于Pi-holePi-hole其实和AdGuard Home的工作原理差不多,本质上都是使用特定的DNS服务器过滤广告,部署好之后可以方便的帮家里所有用网设备去广告。相比AdGuard Home,Pi-hole更加灵活小巧,不过也少了一些功能(防污染,防跟踪,防窜改)。
按照官方的描述,Pi-hole具有以下特性:
易于安装和配置(号称 10 分钟安装配置一条龙)。
全平台,广告屏蔽服务可作用于任何设备,包括PC、手机、平板电脑。
轻量,对硬件要求极低。
功能稳定且强大,能轻松 hold 住百万级别的请求。
提供了美观的 Web 数据监控仪表盘。
开源且免费。
Pi-hole搭建开始之前我们先在NAS 的Docker目录下新建一个“pihole” 的文件夹,然后在pihole文件夹中再分别新建两个子文件夹【pihole】 和【dnsmasq.d】,其中pihole文件夹用于存放设定档,dnsmasq.d文件夹用于存放稍后的DNS规则。
部署方式这里还是以SSH终端部署,至于SSH工具请自行解决,Putty,XShell,FinalShell等都可以,我个人目前使用的是FinalShell。
打开SSH工具之后,进入管理员模式(sudo -i)后,输入以下Docker run多行命令(主要是为了让大家看清每一行参数):
docker run -d \
--name pihole \
-e TZ=Asia/Shanghai \
-e WEBPASSWORD=管理页密码 \
-e ServerIP=NAS IP \
-e WEB_PORT=管理页端口 \
-e DNSMASQ_LISTENING=local \
-v /volume1/Docker/pihole/pihole:/etc/pihole \
-v /volume1/Docker/pihole/dnsmasq.d:/etc/dnsmasq.d \
--network=host \
--restart=unless-stopped \ pihole/pihole:latest
不过张大妈这边的编辑器会吞掉每行后面的反斜杠“ \ ”,所以这里在奉上一行的docker run命令:
docker run -d --name pihole -e TZ=Asia/Shanghai -e WEBPASSWORD=管理页密码 -e ServerIP=NAS IP -e WEB_PORT=管理页端口 -e DNSMASQ_LISTENING=local -v /volume1/Docker/pihole/pihole:/etc/pihole -v /volume1/Docker/pihole/dnsmasq.d:/etc/dnsmasq.d --network=host --restart=unless-stopped pihole/pihole:latest
以上命令需要修改的地方为:
-e WEBPASSWORD=管理页密码 -->也就是我们打开Pi-hole之后的密码;-e ServerIP=NAS IP -->填写NAS的本地真实IP地址;-e WEB_PORT=管理页端口 -->随意设置,不和本地其它端口冲突即可;-v /volume1/Docker/pihole/pihole:/etc/pihole -->冒号前面映射我们前面新建“pihole”文件夹的本地实际路径;-v /volume1/Docker/pihole/dnsmasq.d:/etc/dnsmasq.d -->冒号前面映射我们前面新建“dnsmasq.d”文件夹的本地实际路径。Pi-hole体验在浏览器中输入 【http:// NAS的本地IP:端口号】 就能看到登录界面了,端口号就是我们前面部署命令中设置的管理页端口号。
打开之后提示输入密码,输入我们前面部署命令中自己设置的管理页密码,点“Log in”即可登录。
上图便是Pi-hole的主页面。因为我们还没有加入DNS规则,所以这里的拦截服务还没有启动。
加入DNS规则规则很简单。点界面左边的“Adlists”,然后将里面的一条自带规则先删掉(自带的是国外的,不适合我们国内的顽固毒瘤)。
至于怎么找这个去广告的DNS规则大家就自由发挥吧。我这里推荐一个免费开源的规则项目:https://anti-ad.net/
然后将找到的规则链接复制粘贴过来,点击“Add”加入。
就能将我们找到适合自己的规则添加到列表中(小伙伴们可以多找一些其他大佬分享的规则,都可以添加到这里来)。
添加好规则之后我们还需要点“Tools--Update Gravity ”更新规则,直接点“Update”按钮即可。
如果看到上图所示,出现“success”字样,就说明更新成功。
因为这个时候这个基于DNS规则的广告拦截还只存在于我们搭建的这个NAS中,我们的目的并不只是给NAS去广告,想要全屋广告过滤还的去我们的主路由器上设置一下。
设置也很简单。这里以华硕路由器为例,在路由器的“DHCP服务器”下面的“DNS服务器”后面,直接添加上我们的NAS本地IP地址并保存即可。
然后回到Pi-hole管理页面可以看到已经有数据显示了。
并且在服务端列表可以看到几乎全屋用网设备都被添加过来了。
拦截前,页面两侧有渣渣辉广告~
拦截后,啥也没有。
最后看看我这边24小时的Pi-hole 拦截记录吧,在家里有人看电视或者玩手机的时候,可以很明显的看到过滤的峰值变化,效果还是很明显的!
说在最后其实对于这种去广告软件来说,想要彻底过滤是不可能的事,因为广告总在更新,所以我们的规则也总要改变。还有些网站更是鸡贼,直接用上反监控脚本,让我们的广告过滤无效。所以说我们只能通过找更多更精确的DNS规则,来最大限度的减少广告的存在。
需要说明的是,不管是今天介绍的这款Pi-hole ,还是以前的AdGuard Home,都会存在误伤而影响我们正常上网,这个主要还是使用的DNS规则不适合自己的用网环境。如果你在使用过程中出现网络情况,请删除原有规则,重新找别的吧~
好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~