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