侵入式以及恶意广告,未经用户允许的隐私数据上传,令人反感但从未停止。为了摆脱这些广告和跟踪,我们可以在浏览器中安装广告拦截插件,移动设备上却一直少有开箱即用的优质广告拦截软件。Blokada,为此而生。
Blokada 是一款适用于 Android 和 ios 设备的全局广告、跟踪拦截软件。与同类软件 AdGuard 一样,提供了三种功能:DNS,主机过滤和代理,但不同的是,Blokada 开源自由,DNS 和广告过滤功能完全免费,不用担心「监管者」犯罪,不用支付高额的订阅费。
![](https://i3.wp.com/cdnfile.sspai.comhttps://2020/07/19/fd94a0cd17e19efb629e9eadef1e31fb.png)
一、原理
通过越狱、Root 的方式,修改系统文件或者加载模块来过滤广告请求固然高效,但操作难度不低,对系统的更新也可能有影响。
Blokada 使用的方案和 Adguard 一样,都是是本地代理,利用系统提供的 VPN 接口,接管所有应用的网络请求,应用用户设置的规则处理这些请求,从而实现广告过滤和跟踪拦截功能。如下图所示,整个过程在本地完成,不会上传数据,不存在第三方服务商:
![](https://i3.wp.com/cdnfile.sspai.comhttps://2020/07/19/78bd20eb1199d0974e1d65d078a3bc6c.png)
这种方法就体验来看,有好有坏。坏处是应用需要一直运行在后台。此外,由于已经占用了 VPN 接口,Blokada 一般不能和其他 VPN 服务一起使用,但可以配合代理。
好处是不需要时可以随时关闭,大不了直接卸载,规则也可以随时添加,实时生效。
二、设置
软件 iOS 版可以通过 Apple 商店 下载,Android 版虽然上架了 google Play,但为了通过审核,并非全功能版本,建议在 官网 或者 F-Droid 下载最新版。
iOS 版本开发晚于 Android 版,一些功能可能有细微区别,以下内容基于 Android 平台。
软件主要通过 DNS 和主机过滤两个功能去除广告和跟踪。DNS 负责将域名和 ip 地址匹配,手机的 DNS 默认由运营商定义,运营商则可能会借此投放一些广告。
从软件主界面点击「DNS」,然后选择你认为合适的 DNS 服务商,最后点击启用 DNS 即可生效。
有两点需要注意,其一,停用软件 DNS 服务的入口在界面最上方,选中「Default」会使用「1.1.1.1」服务。
其二,软件提供的 DNS 列表中的大部分在国内访问体验并不好,可以试一试「adguard DNS」,你也可以在「添加新的 DNS」自定义一些国内口碑速度口碑都不错的公共 DNS。
![](https://i3.wp.com/cdnfile.sspai.comhttps://2020/07/19/9b180cdb37100331cf34e45d1baa40a3.png)
进入「广告过滤」-「主机列表」设定过滤规则。默认选中了「Energized Blu」,能过滤不少东西,但可能还不够。可以添加的下面这些规则列表:
- 如果你使用这些机型:三星 – Samsung Blocker,小米 – Xiaomi Blocker;
- 建议添加的增强规则:Goodby Ads,AdAway;
- 屏蔽常见的成人内容:StevenBlack Unified;
- 如果使用这些网站:YouTube – YouTube Ad Blocker,Facebook – Social hosts file
如果你觉得默认的列表还不够的话,可以去 FilerLists 或者 GitHub 上搜索「Ad Host」看一看,里面大概还有几千多个列表可供使用。
将列表的链接添加在「新建一个 Host 列表」中即可。如果在使用过程中遇到某个想要屏蔽的请求,可以在「主机记录」中选中记录,点击「阻止」。
![](https://i3.wp.com/cdnfile.sspai.comhttps://2020/07/19/889dfa81cc2dd1687be44941c84c03ed.png)
三、使用
一切设定完成后,在主界面激活 Blokada,并允许创建 VPN,程序就会开始运行,如果是以前使用过的应用,建议首先清理一下缓存。「主机记录」展示了所有允许和屏蔽的网络请求,运行在后台的软件做的小动作一览无遗。
![](https://i3.wp.com/cdnfile.sspai.comhttps://2020/07/19/4fb2aeebbb8dc542a9361d4581bb9d26.png)
在国内定制的系统中,为了保证软件的稳定运行,建议在软件的设定中开启「开机自启动」和「常驻通知栏」,并且将软件加入一些「优化」软件的白名单。
重要的是,在系统设置的 VPN 设置中,开启「始终开启的 VPN」,这样当软件被清理时,你会第一时间得到通知。
![](https://i3.wp.com/cdnfile.sspai.comhttps://2020/07/19/b31d5b5628eb0cb835fcac13bea3938c.jpg)
当然,屏蔽也可能过火,如果遇到了某个网站无法打开,尝试关闭 DNS 服务;如果遇到某个应用加载异常,页面无法显示,可能需要在「应用程序」设置中将此应用添加进屏蔽白名单中。
不要期待软件能屏蔽所有的广告和跟踪,一些预加载的广告,和一些被设计为应用一部分的广告是无法被屏蔽的;有一些软件功能也依赖于广告,屏蔽反而会导致应用异常。
如果在使用中遇到其他的问题或者有任何建议,可以访问软件的 官方社区 或者 GitHub。
四、防火墙
利用自定义列表,Blokada 实际上可以当作一个好用的移动端防火墙。在「新建一个 Host 列表」中,输入想要屏蔽的域名,这样就能实现给孩子或老人使用时控制其能访问的网站。此应用目前已经支持通配符,可以在「高级广告屏蔽规则」中启用,让设置规则更加简单。