安装Pi-hole,让树莓派为你过滤家中广告!

感谢 BeLittleYang 的投稿!Pi-hole 是一个很实用的系统,取出抽屉里吃灰的树莓派,开始服役发挥余热吧~

最近在使用DietPi这个魔改版Raspbian系统时意外的发现了这个神奇的软件(软件主页:https://pi-hole.net/,正如标题所说,它可以帮你过滤整个家中的广告,但不需要繁琐地针对每台设备进行设置,算是对非智能路由及低性能路由无法过滤广告的一种解决方案。

下面就讲解一下具体的安装方法咯。

注:同样适用于其他Linux设备

0.开始之前

首先你需要为你的树莓派安装好系统,然后你可能需要针对自家的网络环境为你的树莓派设置好静态IP,不同的路由器设置方法有一定差别,具体方法自行百度(关键词:路由品牌 静态IP)。

例如我刷了LEDE的路由器的设置在这里:

不过近几年的路由器大多会针对不同的设备设置固定的IP地址,所以如果你确定自己树莓派的IP地址不会变动,不设置也是OK的。

1.安装Pi-hole

Pi-hole的安装过程比较简单,只需在终端中输入一条命令即可:

curl -sSL https://install.pi-hole.net | bash

安装过程中你可以喝杯咖啡,看会儿书,刷会儿微博,直到你进入这个界面:

一路Enter,直到这里:

选择其中一个DNS提供商,或者选择最后一项自定义:

选好之后接着一路Enter,然后你继续可以喝杯咖啡,看会儿书,刷会儿微博,直到这里:

这时就已经安装完成了,访问上面给出的网址,输入密码即可进入后台。

如果需要修改密码,在终端中输入:

pihole -a -p newpassword

新的密码就设置好了。

2.配置路由

光设置好树莓派是没卵用的,毕竟我们要过滤的是整个局域网的广告,所以我们要针对路由器进行配置。

Pi-hole采用的是使用本地DNS服务器的方式在局域网中进行过滤,所以我们需要设置Pi-hole为当前网络的DNS。

方法1
这种方法适用于大部分路由器,直接将DNS设置在路由器上。但需要注意的是,应当将DNS设置在LAN接口上(区别于WAN),在我这里是这样的:

方法2(推荐)
这种方法适用于一些刷了OpenWRT(LEDE),DD-WRT,Tomato等自定义程度较高固件的路由器,推荐使用该方式

在DHCP选项中填入:6,树莓派IP地址

注:若使用该方式,建议将上游DNS设置为路由器

方法3
如果这些选项在你的路由器里都没有,Pi-hole也内置了一个DHCP服务器,具体设置方法不多阐述。

方法4
如果你愿意的话,你也可以针对每一台设备进行设置,方便针对不同的设备进行过滤,具体设置方法不多阐述,自行百度。

不管你使用的哪一种方式,设置完之后都建议重启一下路由器或开关一下飞行模式,让设备使用新的DNS。

3.配置Pi-hole

实际上进行完上面的步骤就已经可以使用了,下面就针对一些常用的功能进行说明。

过滤规则
过滤的规则在这里,可以看到已内置了一些规则:

实际上,Pi-hole使用的是hosts方式对广告进行过滤(类似AdAway),默认的规则对于国内环境不太友好,下面就附上适用于国内环境的一些hosts:

  • yhosts:可以说是国内比较不错的hosts,定期有更新,奈何作者的唯我主义连带屏蔽了一些非广告网站,可以在终端中手动添加白名单:

pihole -w `curl -sSL https://raw.githubusercontent.com/vokins/yhosts/master/data/moot/cps.txt https://raw.githubusercontent.com/vokins/yhosts/master/data/moot/error.txt https://raw.githubusercontent.com/vokins/yhosts/master/data/moot/hate.txt | sed '/^@/d; /^#/d; s/127.0.0.1 //' | tr "\n" " "`

  • neoHosts:比较小众的hosts,看介绍貌似是不满于上面那位而弄出来的。
  • MWSL-hostslist:恶意网站实验室可能没多少人知道,不过其提供的OneDNS可就算是比较有名的了,这个hosts正是OneDNS中所用于屏蔽恶意网站的规则。
  • AdAway:也就是安卓上的AdAway所使用的规则,不过针对中国误杀现象严重,慎用。

如果还有哪些不错的去广告hosts,欢迎在评论区中留言。

相较于通常的过滤方式(如Adblock Plus、KoolProxy等),利用hosts过滤有自己的优缺点。优点是不会拖累网速(甚至可能有一定提升),缺点是过滤效果不尽如人意。

不过如果你要是想要利用这个做一些有违我国国情的事情,放心,那样的话就相当于在你家里再上了一道防火长城(Pi-hole只能将规则中的网站解析到自身以进行屏蔽)。

黑白名单


顾名思义就是对过滤规则的手动调整,黑名单分为匹配和通配两种,建议那些整天说退游的同学可以试试。白名单主要是针对一些有防过滤广告或被误杀的网站。

隐私设置

在这里你可以设置让一些不想在日志中出现的网站或设备隐藏起来,至于有什么用嘛……那各位自己心里的B数都很清楚啊……

Pi-hole上的一些其他高级功能这里就不多赘述了,有待自行探索。

4.Enjoy it!

到这里关于Pi-hole的全部设置就完成了,打开浏览器访问一些广告较多的网站,看看广告是否被屏蔽了、仪表盘上的数字是否增加,如果没有再仔细按照上面的步骤检查一遍,尤其是关于DNS设置的部分。

好了,和广告Say Goodbye吧!

这是一篇发布于 6年 前的文章,其中的信息可能已经有所发展或是发生改变,请了解。


9 评论

  1. 一直没找到中文的 hosts,非常感谢!

    教大家屏蔽广告,你这边 Google 广告的收入也没有了吧,哈哈

    • 你的路由器里一般能设置两个dns。主要的dns设置成这个树莓派的ip,备用的设置成你本来用的。这样的话就算树莓派宕了你还能上网。

  2. 实测效果不够理想,广告屏蔽效果和ABP相比差的比较多。加入的规则比较多,不知道为什么还是不行。

发表评论

你的邮件地址不会公开


*