Adblock在OpenWrt系统上的应用

说起去广告应用,国外比较有名的有adblock、adguard等,其中最常见的是adblock,以前经常会发现有人在桌面浏览器上安装adblock插件,听说去广告效果还是相当不错的,今天我们要将这个应用移植到OpenWrt路由器上,来讲讲Adblock在OpenWrt系统上的应用成果。

关于OpenWrt系统官方推荐的去广告应用,大家可以参考如下网址获取更多详细资料:

https://openwrt.org/docs/guide-user/services/ad-blocking

其中simple-adblock应用是adblock应用的精简版,banhostlist应用2015年后已停止更新,adguard应用所采用的广告列表可以包含在adblock应用里,因此从某种意义上来说我们只要掌握adblock应用就可以了。

为了达到满意的去广告效果,我们通常需要一个相对比较全的广告列表(包含几万条~几十万条广告网址信息),这会占用路由器很多的存储空间,也会导致路由器处理DNS解析的时间大大延长,使路由器响应其它服务的时间变慢,所以如果要安装去广告应用,首先路由器的性能必须出众,个人建议最好采用X86或树莓派的OpenWrt软路由系统。

本次讲解我会使用树莓派软路由,安装19.07.3版本的OpenWrt系统,关于树莓派安装OpenWrt系统的教程我会另文进行讲解。

一、安装

1、安装相应程序包

opkg update
opkg install adblock luci-app-adblock

2、路由器重启

reboot
二、常规设置

在OpenWrt的Luci界面,点“Services – Adblock”进入设置界面:

其中,在“Overview“栏中含”Information“项显示了adblock目前的配置及运行情况。

具体的设置我们需要在”Settings”项的”General Settings“子项中进行:

除缺省的”Enabled”栏勾选外,将“Force Local DNS“及“DNS Report”栏也勾选上,在新增的“Local DNS Ports”栏里填上“53”。同时为了使DNS Report发挥作用,还需要按提示安装tcpdump-mini:

opkg update
opkg install tcpdump-mini

最后在Luci界面点“Save & Apply”,使修改生效,一般这时测试网站或视频内容就可以达到去广告的效果了。

三、诊断及微调

如果通过以上的设置,还无法达到去广告的效果,你可以通过以下的步骤进行诊断及微调:

1、点开“Log View”项,看一下应用运行所必需的程序包是否已全部安装,根据提示先安装程序包,直到没有错误提示信息为止;

2、改变或增加广告列表源:在“Overview – Settings – Blocklist Sources”子项的”Sources“栏下拉框中变更或增添新的广告列表源;

3、添加自定义列表:通过”Edit Blacklist“和”Edit Whitelist“,自定义黑名单及白名单,特别是要去除国内广告时,添加自定义的广告黑名单(注:可通过网络下载随时更新的国内广告列表)是非常必要的;

4、根据”DNS Report“的刷新结果,看一下需要去除的广告是否都已去除,有”漏网之鱼”就将其加入到黑名单。

相信通过以上的步骤以后,去广告的效果肯定会大有改善,当然在去广告的同时我们还需要兼顾路由器的其它性能不受大的影响,广告列表名单也不可能是越多越好,大家需要通过多试验才能取得一个合适的平衡值。

国内比较知名的去广告应用有adbyby及koolproxy,但可惜的是这两个应用都长久没有更新了,去广告效果已大打折扣,但它们在国内还是拥有大量的粉丝,特别是adbyby,所以我还是会在后面给大家讲一讲adbyby在OpenWrt系统中的应用,但因为要涉及到自编译,因此我会把它放在应用程序自编译部分来进行讲解。