关于手机和电脑的广告拦截、跟踪防护

作者: 科技微讯

日期:

分享我了解到的广告拦截方案,更准确地说是内容拦截方案,因为很多时候需要拦截的不仅仅是广告,还有跟踪器、影响体验的一些非广告页面元素等等,例如下面这张图片,是不是有点恐怖呢:

各种令人讨厌的页面元素
各种令人讨厌的页面元素

电脑-浏览器内置的拦截工具

例如微软 Edge 内置了跟踪防护,可以屏蔽广告跟踪器,跟踪器其实就是一段代码,例如 Google Analytics.js。跟踪器能收集用户或设备的信息,跟踪你访问过哪些网站等,广告主于是能根据你的浏览行为对你投放广告。有时候我们在京东看了一双鞋,打开其他网站马上就能看到这双鞋的广告。

Firefox、Safari 也内置跟踪器防护功能;但是 Chrome 没有。至于广告屏蔽,以上浏览器都没有内置。

下图是被 Edge 内置的跟踪防护功能阻止的爱奇艺网站的跟踪器:

edge block tracker

电脑-浏览器插件

AdGuard、Adblock 、Adblock Plus、uBlock Origin 等广告拦截插件,除了可以阻止跟踪器,还可以屏蔽广告、屏蔽一些虽然不是广告但令人讨厌的弹窗等页面元素。这四款工具效果各异,这里不评价。

下图是淘宝网站被屏蔽的内容,应该不止广告,看来还省了很多流量。

淘宝
淘宝

电脑-广告屏蔽软件

浏览器插件只能用于浏览器内,有一些内容拦截工具还有桌面版应用,例如 AdGuard 等,它们支持系统级的广告过滤,可过滤浏览器和其他应用的广告,不过可能收费。

浏览器插件必须遵守浏览器的规则,不见得所有浏览器都希望你屏蔽广告,例如 Chrome 应该不希望你拦截 Google 的广告,而系统级别的内容拦截软件可以摆脱这些限制。

手机-浏览器插件

手机版的 Chrome 不能屏蔽广告;Edge 内置了 Adblock Plus 用于屏蔽广告,需手动开启,Edge 和电脑版一样,支持阻止跟踪器;Safari 本身支持阻止跨域跟踪但不支持屏蔽广告,不过可通过第三方内容拦截器屏蔽广告;Firefox 能阻止跟踪。

safari 和 edge
safari 和 edge

手机-内容拦截应用

AdGuard 有 iOS 和 Android 版,但需要付费才能拦截其他应用的广告,否则只能作用于浏览器;Adblock Plus、Adblock 在 iOS 和 Android 都没有全局拦截功能,要不就是作为浏览器插件存在,要不就是开发一个主打广告拦截的浏览器;uBlock Origin 不支持手机。

下图是 Adblock Plus、Adblock 针对三星手机浏览器的插件截图:

AdBlock
AdBlock

DNS 或 host

Android 平台有一款叫 AdAway 的广告拦截应用,通过修改 host 阻止广告请求,已经开发了很多年,但因为需要 root,不太流行。DNS 拦截和改 host 拦截原理差不多,我用过的有 nextDNS,可以拦截浏览器和应用中的广告,但可能影响国内网站访问速度,例如在浏览器打开百度慢很多。DNS 方案甚至可以用在路由器,这样所有连接到这个网络的设备都可以过滤广告,只是我还没找到好用的广告过滤DNS。

GitHub 有一个叫 pi-hole 的开源项目,可以用树莓派自建 DNS 拦截服务。

下图是 nextDNS 的数据统计面板:

nextDNS
nextDNS

关于屏蔽规则

上面提到的所有内容拦截工具都离不开 EasyList 这个开源项目,EasyList 针对不同的用户需求维护了众多内容拦截规则,有些开发者例如 AdGuard 还会维护自己的规则,他们称之为过滤器,在 GitHub 还能找到很多由网友个人维护的过滤列表。

EasyList 的部分过滤规则如下:

  • EasyList:这是主要的过滤器,Removes most adverts from international webpages;
  • EasyPrivacy:作为 EasyList 主过滤器的补充,阻止各种跟踪器;
  • EasyList Cookie List:移除网站的 Cookies 弹窗提示;
  • Fanboy's Social Blocking List:移除页面上的社交分享按钮;
  • Fanboy's Annoyance List:包含了 EasyList Cookie List、Fanboy's Social Blocking List,如果你用了这个规则,上面两个就不需要了。

其他 EasyList 过滤规则可能是以上规则的补充或变体,或根据某些要求制定的:

  • 针对不同国家或地区的过滤器,例如 EasyList China,由 John、Li 两位作者维护,适合中国用户使用;
  • EasyPrivacy Tracking Protection List:专门为 IE9 准备的规则;
  • 还有很多为其他国家或语言准备的过滤规则。

EasyList 里面有很多以 Fanboy 开头的列表,这是因为以前 Fanboy 过滤规则是独立的,它甚至有自己的官网。2013 年 5 月 Fanboy 和 EasyList 整合在一起维护,其中 Fanboy's Tracking List 并入了 EasyPrivacy。大概也是那段时间,Fanboy's Social Blocking List 从 Fanboy's Annoyance List 分离出来独立作为一个新规则。

反广告屏蔽

我曾经是广告屏蔽插件的忠实用户,Adblock 、Adblock Plus、uBlock Origin 这些浏览器插件我都用过,后来好像是迫于多种压力,这些插件屏蔽广告的做法不那么激进了,允许展示 “可接受广告”,于是屏蔽效果开始下降。

可接受广告
可接受广告

另一个重要原因是,很多网站也开始采取反广告屏蔽措施,友好一点的就是弹出一个几秒到十几秒后自动消失的提示,提醒你关闭屏蔽功能;粗鲁一点的就完全禁止你浏览网页内容,直到你对它停止屏蔽。这是我不再使用屏蔽插件的主要原因,烦不胜烦,就卸了。

如果你不知道如何 BlockAdblock,有人甚至免费提供了反广告屏蔽代码,帮助站长快速布署:

反广告屏蔽
反广告屏蔽

BlockAdblock 的作者反广告屏蔽的理由是:The free web is important. Free media is important.