想获得「干净」的网页浏览体验?你需要这份全平台去广告指南
#爱否精选#
那从去除侵入式广告的角度出发,我们都有哪些可行的方案呢?
————————
本内容经授权转载自「少数派」;由爱否科技精选推送。
作者丨武登钧
来源丨少数派
广告营收占据了 Google 利润的大部分,然而 Google 却在自家的浏览器 Chrome 中加入了去广告功能并默认开启。
这种做法其实并不矛盾 —— 打开 Chrome Help 页面我们可以看到,Google 的屏蔽措施主要针对侵入式广告,包括:
· 广告过多
· 广告包含闪烁的图片或自动播放音频等令人讨厌的内容
· 广告挡住网页内容
这样的广告不仅难以达到预期的宣传效果,还导致一些用户索性屏蔽掉了页面中的所有广告,对依靠广告收入来维持免费内容的创作者无疑是个不小的打击;而对一般用户来说,侵入式广告也会影响网页内容的浏览体验,更不用说加载广告带来的设备性能和数据流量开销。那从去除侵入式广告的角度出发,我们都有哪些可行的方案呢?
桌面浏览器扩展
浏览器作为我们查看网页的主要载体,自然是去广告的一个重要阵地,因此浏览器扩展自然就成为了我们的首选方案。
Adblock Plus 是在各平台扩展商店中下载量最高的去广告扩展,它早年叫做 Adblock,是 Firefox 上的开源项目,当时的功能远没有现在强大。
2004 年 Adblock 迎来 0.5 版本更新后核心功能逐渐成型,借助这款插件用户不仅可以隐藏元素,还可以直接拦截广告数据下载,同时支持订阅规则。这些特性使得 Adblock 一跃成为当时最流行的去广告扩展。之后 Adblock 开发组经历人事变动,其中一个成员退出了开发,其他成员负责继续维护并于 2005 年衍生出了现在的 Adblock Plus。
再往后随着 2008 年 Chrome 的诞生,Adblock for Chrome 也出现了。虽然同名,它与当年的 Adblock 和现在的 Adblock Plus 却并非一回事。现在,我们能看到 Adblock 虽然好似 iPhone 和 iPhone Plus 系列的双版本,但事实上 Adblock Plus 才是真正的老牌劲旅。Adblock Plus 的「规则订阅」特性也为其他竞品所学习吸收,成为了如今业界的标配。
什么是规则?简而言之,当浏览器载入一个网页时,网页内的元素都会以 request 的形式请求连接到所请求的服务器进行下载,而去广告扩展会根据事先设定好的规则检查每一条 request,当检查到和广告相关的 request 时就会予以拦截,阻止浏览器载入广告元素。
所以除了扩展,去广告的效果还在很大程度上取决于我们扩展订阅的规则集。针对中文用户,我们推荐以下的这些规则:
· EasyList:大名鼎鼎的 EasyList,主要针对英语语言,适合经常浏览外网的用户 。
· ChinaList:同样主要针对国内网站,对于某些视频网站有奇效。
· Easylist China:同样是针对国内网站,覆盖范围更广,但偶有误杀情况。
· EasyPrivacy:可以屏蔽部分追踪器以实现隐私保护。
需要注意的是,除了保持规则的定期更新外,订阅的规则数量也不宜过多,太多会显著影响网页加载速度。另外,虽说 Adblock Plus 这块老牌子的确是响,它却未必是最优选择。相比之下 uBlock Origin 这款自由、开源、跨平台的浏览器扩展不仅包含了 Adblock Plus 的所有功能、支持规则订阅,经测试也有着更低的内存和 CPU 占用。
桌面客户端
相比于只能在浏览器内发挥作用的浏览器扩展,客户端形式的去广告形式有着更高的权限,这在一方面使得其功能也要更加强大,适用范围也更广,但这在另一方面也带来了一些安全隐患,我们在选择时要特别注意。1
鉴于去广告软件的功能与原理大同小异,这里就以 Windows 端的 Adguard 为例。
Adguard 宣称其主要去广告的三个机制是 Request Blocking、Page Code Filtering 和 CSS Injection And JavaScript。Request Blocking 的工作原理和浏览器扩展相同,这里不再赘述,这里主要讲一讲后面两种方案:
· Page Code Filtering:在浏览器载入网页之前, Adguard 会过滤网页的代码并根据规则移除其中包含广告的网页代码,使得浏览器不会加载这些元素,相比于扩展「后知后觉」并且还要对屏蔽 request 后产生的空白做隐藏处理等繁琐操作,这样的方式理论上比扩展的工作方式更为高效。
· CSS Injection And JavaScript:网页中元素有时是通过 Javascript 的方式动态嵌入网页中,也不需要额外载入资源,因而 Adguard 也需要对这些内容进行额外处理;另一类是 CSS,一种决定网页呈现样式的语言,CSS 能够决定网页上元素的呈现方式,包括但不仅限于颜色、字体、位置甚至还有网页元素的可见性。Adguard 能在网页注入自己的 CSS 代码和 Javascript 来达到更彻底的去广告效果。
这里需要说明的是,Adguard 在本文中出现多次有一个重要原因:内置规则全面,并且可以说是开箱即用。在选择开启哪些规则(Adguard 内称呼为「过滤器」)时我们需要注意根据自己所访问的网站、所在地区、操作平台和个人要求来尽可能少地开启规则。
在不导入第三方规则的前提下,我们建议中文用户开启以下几个规则:
· 「广告拦截」中的 Easylist
· 「烦人」中的 Adguard 恼人广告过滤器
· 「特定语言」中的 Easylist China、CJX's Annoyance List 和 xinggsf
当然如果你常常混迹外网,也可以根据自己的需求再适度额外开启其他的规则。
Adguard 的桌面客户端还一个有趣的功能的是「扩展」,其实也就是我们平时在浏览器上常用的「脚本」,本质是用 Javascript 语言写的一串能够实现在特定网站上实现特定功能的小代码。在 Windows ,MacOS 上,Adguard 内置了三个官方开发的脚本:
· Adguard Assistant:用以直接在网页上管理过滤过程。
· Adguard Extra:用在基于过滤器的方法不能完全去广告时的复杂场景。
· PopupBlocker:顾名思义,用以除掉弹窗这一最为恼人的广告形式还记得澳门赌场里的热情荷官吗。
这个功能的确是具有相当的潜力,不过别急,接下来要提到的 Android 端才是这个功能真正发光发热的地方。
Android 端
Android 平台上很多浏览器(比如 Via 和 Firefox Focus)都自带了去广告功能,但它们不能导入规则,灵活性相对较低。综合考虑实际的去广告能力,如果你愿意离开 Chrome 这个「温柔乡」,那么在去广告这件事情上你还有这些更加强力的选择:
Kiwi ,Yandex 与 Firefox前两款基于 Chromium 的浏览器满足了一个所有 Chrome for Android 用户心水许久的功能:在移动端安装使用 Chrome Web Store 里的浏览器扩展,因此在手机上安装 uBlock Origin 这类去广告插件也是完全没问题的,桌面端扩展的功能基本都能使用。
Firefox for Android 也原生支持安装扩展,不过扩展数量要少于桌面端,想效仿桌面端安装一打扩展的朋友可能要失望了。好在在移动端安装去广告扩展的同时,我们还能导入规则进行手动拦截;在某些广告特别猖獗的情况下,我们也可以通过扩展来禁用界面的 Javascript 来实现更彻底的去广告效果,比如 Chrome 上的 Quick Javascript Switcher 和 Firefox 上的 NoScript Security Suite —— 但这是剂猛药,可能会影响网页的正常使用,请酌情使用。
另外,Adguard Content Blocker 也是针对 Android 平台浏览器去广告的一种实现方式,但它需要浏览器支持 Content Blocking 技术,目前只有 Yandex Browser 和三星浏览器可以使用。不过若是这两款浏览器的用户的确可以考虑使用,对 Yandex 用户而言能享受更适合手机的页面,而对于不支持安装扩展的三星浏览器用户而言更是个福音。
ACB 的使用方式和浏览器扩展基本无异,主要功能也是围绕过滤器(就是规则),内置规则少于 Adguard for Android 需要时可以自行添加。不过在移动端操作起来的体验要远好于在逼仄的扩展设置界面里鼓捣。
全局的 Hosts 方案什么是 Hosts?Hosts 是每个设备上都有的一个系统文件,工作原理也很好理解:它将常见的网址域名与其 IP 相关联,当我们输入一个域名后,系统会先在 Hosts 文件中寻找对应的 IP 地址,若是找到了会立即打开。
于是利用 Hosts 文件去广告的思路就清晰了——我们可以 Hosts 文件,将已知的广告服务器重新定向到无效的地址(一般是 127.0.0.1)来实现去广告。
比如我们可以在 Hosts 文件里添上这么一行
127.0.0.1 adsites.com
这样我们就把 adsites.com 这个网站重定向到了本地 IP 地址,也就达到了去广告的效果。不过在 Android 设备上 Hosts 文件位于 /system/etc/hosts 目录下,修改后可能会影响正常的 OTA 更新。所以我们最好利用 Magisk 模块来实现在不改动系统分区的情况下修改 Hosts 文件。
这项特性甚至有 Magisk 作者官方支持,只需要在 Magisk Manger 设置中点击 Systemless Hosts 这一选项即可。
做好准备之后我们就可以放心替换 Hosts 了。Android 上我们推荐使用 Adaway 这款老牌 Hosts 去广告器。在授予 Root 权限后,添加需要的 Hosts 源即可。
推荐的 Hosts 源:
· Yhosts:相当老牌的去广告的 Hosts
· NeoHosts:国内屏蔽挖矿统计JS/常见下载劫持/百度全家桶的全天候定位记录等等
· 大圣净化:大圣净化开发者维护的 Hosts,主要针对国内视频网站
需要注意:
· 未 root 用户可以借助 Android 自带的网络框架接口修改 Hosts,具体步骤请自行查询。
· Hosts 和规则一样太多会影响网页加载速度,审慎地使用。
部分细心的读者可能发现了 uBlock Origin 这类浏览器扩展和 Adaway 这类利用 Hosts 去广告的 App 都需要「规则」,这两者能混用吗?
答案是不行。uBlock Origin 等扩展的「订阅规则」这一特性来自于最开始的 Adblock(参见前文),有自己一套独有的语法,而 Hosts 是由 IP 地址和网址两部分组成。二者格式不同不能混用,不过的确可以进行转换来曲线救国,只是这样没有太多意义,已经有不少维护的规则,直接订阅所需要的对应规则即可。
Adguard for Android和浏览器扩展相比,Adguard for Android 则可以利用 Android 系统自带的几种基础网络框架来进行流量过滤,最终达到去除广告的目的。流量过滤并不会将用户数据发送给任何服务器,一般情况下也并不需要 Root 权限。
在 Adguard 中,我们可以通过开启「DNS 过滤」和「HTTPS 过滤」来增强去广告效果。
我们先来说说 DNS。
承接上文的 Hosts 查询,当我们输入一个域名时会先在本地的 Hosts 中查询是否有域名对应的 IP,若是没有则会向远端的 DNS 服务器查询(因此 DNS 也被形象地称为「互联网的电话簿」)。DNS 去广告则将过滤广告的流程放在了 DNS 服务器上。
通过更换那些可以实现去广告等复杂功能的 DNS,我们也能去除一些广告,比如 Adguard 的 DNS 176.103.130.130。不过实测在大陆选用 Adguard 的 DNS 后网页加载速度会有明显的减慢,请各位根据自己的情况来选择,动手能力强的读者也也可以考虑在自己服务器上 搭建 Adguard Home()。
Adguard 的一个独到之处在于开启 DNS 过滤后不需要更换 DNS 也能达到去广告的效果。具体实现原理是在 request 在到达 DNS 前进行拦截以此达到去广告的效果。
再是 HTTPS 过滤。
我们知道 HTPPS 的链接是加密的,正常情况下 Adguard 无法知道具体的内容,也就无从过滤去广告。Adguard 给出的方法是通过安装证书来实现解密流量。遗憾的是默认情况下 Adguard 的证书属于 用户证书,Target API 24 以上的 App 无法被过滤。好在对于 Magisk 用户来说,只需安装 Move Certificates 这个模块就能将 Adguard 的证书转化为 系统证书,从而让所有 App 都能通过 Adguard 过滤 HTTPS 流量了。
考虑到过滤这个过程在客观上会减慢加载速度,Adguard 也有提供针对特定 App 的过滤开关。对于已经确定无疑没有广告以及过滤后会明显影响使用的 App(微信、支付宝等)建议关闭过滤。
另外,前文提到 Adguard 支持在 Android 端安装脚本,而 Adguard 的脚本效果是全局的,也就是说支持包括 Chrome 在内的大部分移动浏览器。不过不同平台的不同操作方式也决定了有些脚本并不适合于 Android 平台,比如悬浮预览大图。
这里推荐一些可以在移动端使用的脚本,也欢迎各位在评论里补充:
· AC-baidu:去掉无用的重定向,去除百度广告,双栏显示搜索结果等。
· Endless Google:Google 搜索结果自动翻页。
脚本安装可以去 Greasy Fork、Stylish 等著名脚本社区寻找更多玩法。安装脚本时还是要再次提醒安全问题,恶意脚本会对设备造成难以估量的后果,切勿安装来源不明的脚本。
iOS 端
早在 iOS 9,Apple 就发布了 Content Blocker,即能够集成到 Safari 的一类具有去广告屏蔽的 App。Apple 对于去广告这件事的立场也是如此鲜明,而其一直宣传的隐私保护理念也能从其工作原理中窥见一二:屏蔽器并不知道用户的浏览历史和网页的具体内容;过滤的过程也是在网页加载之前完成,同之前 Adguard 客户端一般,比桌面端的浏览器扩展方案在网页载入速度上要快。
这里我们仍然是推荐我们的老朋友 Adguard,呼声很高的 1Blocker 系列在 2024 年的今日仍然没有内置适合中国地区的规则,也依旧不支持订阅第三方规则,因此不在本文讨论范围内。
由于系统限制,Adguard for iOS 的功能和 Adguard for Android 相比缺失不少,不过仍有亮点。
得益于内容屏蔽器与 Safari 的集成,手动标记在 Safari 上尤为方便。当你看到网页上有规则之外的漏网之鱼时,只要在 Share Sheet 中找到 Adguard,选择其中的「拦截此页面的元素」,点击「开始」,再点击你要屏蔽的是元素,点底下一栏的??就能自动跳转到 Adguard 保存。
贴心的是你还可以点击的图标来预览屏蔽效果,整个体验堪比桌面端。
「开」还是「关」?
好了,现在我们有了去广告的方法,不过我们该怎么用?
去掉全部的广告吗?一些良心网站几乎就是全靠广告收入来维持,让作为用户继续免费浏览。
按照 Better Ads Standard 的标准去掉那些用户体验不佳的广告吗?这个主意听起来相对合理,可是有些产品正是依赖数量不少的这类广告转嫁了产品的成本,降低了产品的价格,让消费者得以承受得起。
在当前大行其道的广告商业模式中,用户、广告商和网站主三方都在试图找到一个最好的平衡,一个能保证三方收益而不损害任何一方利益的平衡,在这个过程中也都采取了不少行动。不过就像《罗生门》一样,处在不同立场的人看法自然不同,对于去广告是否道德的探究永远是难有定论的,甚至找不到一个所谓的权威来裁决其中是非曲直。
Adguard 显然也不想困于其中的道德讨论,于是在拦截器中加上了一个「不拦截有用广告」,其主要是不屏蔽除百度之外搜索引擎所得的相关广告以及网站内与其网站本身相关的广告,与 The Better Ads 宣称的依然有不小的出入,这又是罗生门的一个体现。
再不济我们也无需受限于现成的规则,几乎所有的广告屏蔽手段都能手动添加白名单,将相当一部分的权力交给了用户。
那么现在,你是要「开」还是「关」呢?
如何去除APP中的广告?简单设置2步,不限手机品牌都有效
现在的智能手机,已经成了人们生活中必不可少的了,你知道吗?目前我国的5G智能手机用户已经达到了6.76亿,偌大的手机市场,早已经被资本家盯上了,为了利益最大化,手机广告更是无孔不入。
我敢说,全中国至少有90%以上的智能手机用户,都受到了广告的侵蚀,在你得到和想不到的地方都能看到广告,而且还有不少广告根本就关不掉。
我也在努力把手机里面的广告去屏蔽掉,过程比较艰辛,但好在最后还是有不错的效果。
对于手机系统的广告,各大手机品牌的都是可以关掉,只是关闭路径有些比较隐蔽,关闭之后手机系统自带的广告能大幅减少,但不能彻底屏蔽掉,偶尔的一两个不起眼的广告还能接受。
在这里我就不说如何去关闭手机自带的广告了,接下来主要讲讲如何关闭APP里面的广告。
附带一张华为鸿蒙HarmonyOS的关闭自带广告的操作方法:
不知道大家发现没,现在国内的手机应用APP功能越加越多,导致APP越来越臃肿,随便一款软件都在百兆以上,看看我们常用的支付宝和微信,仅仅安装包就已经超过200MB了,生怕装不满你的手机内存,这里也不吐槽APP臃肿了,毕竟国内软件生态环境环境如此。
现在,我要做的是如何让手机里的APP变得清爽无广告。
第一种方法,就是在谷歌应用商店去下载你需要的软件,这样就可以避免掉不少的烦恼,但光是要进谷歌商店,就难倒了一大批人。所以,这种方法仅适用于少部分人。
第二种方法,下载各种地三方跳过广告的软件,比如轻启动、李跳跳、Ad Guard等,这些软件对于不少应用的开屏广告确实能跳过去,不过需要先现在这些软件,然后给到一系列的授权,从实际的使用情况来看会延缓APP的启动速度,还会增加手机耗电,因为需要一直驻留在后台。
第三种方法,改变手机的语言设置,这是最简单有效的方法,无需单独下载其他软件,也不需要复杂的操作,只需要在手机设置中,把系统的默认语言设置成英文,就能起到立竿见影的效果,不管你是什么品牌的安卓手机。
设置成英文对于不少人用手机造成了一定的难度,没关系,咱们还可以把语言设置成繁体中文,这样在操作上就不会存在什么难度了。
不管是设置成英文还是繁体中文,其目的就是骗过系统,认为你是外国人或者港澳台同胞,一些app就会按照这个标准来推送服务。
通过对比,此举不仅能有效减少APP的开屏广告,还能将APP里面的功能变得清爽。
此外,对于某些APP,可以通过定位来改善APP臃肿的问题,把定位改成国外或者港澳台,APP里面的臃肿功能会随之减少。
下面就看下实际的对比效果(注:所有APP打开前均无后台运行):
支付宝:打开多次均无开屏广告,更改地址到非大陆地区,首页界面变得更清爽。
中国联通:开屏无广告,界面非常简单,仅保留了充值和查询功能。
滴滴打车:开屏无广告,仅保留了打车功能,界面非常单一舒服。
高德地图、百度地图、微博、今日头条、百度、京东、淘宝等常用APP,全部都是开屏无广告,几乎都是秒进入。
不难看出,APP是区别对待了用户,根据不同地区来个用户预设了不同的机制。
所以,当你看到某人手机设置的英文,不要觉得他是在装X,很有可能是他已经习惯没有广告的世界了。
当然,并不是每个软件都能去掉开屏广告,就比如某猪,这种方法就完全拿它没办法,可能是他们机制太强或者太流氓了吧,
总结来说,无论哪种方法,都是无法彻底跟手机中的广告说拜拜,软件和手机厂商拼命的在各个角落加入广告,用户想尽办法拼命的关掉,就是一场斗智斗勇的游戏。
大家也别奢望这些厂家们能够主动关闭,你看魅族在魅族18系列推出的三零”系统,没坚持半年就被迫在新手机上重新加入了广告。
如何使用 Google Chrome 浏览器扩展阻止广告弹出?
如果您在 Internet 上花费任何时间,几乎肯定会遇到多种形式的烦人广告,包括弹出窗口、自动播放广告等。它们几乎是不可避免的,但您可以采取行动阻止它们。
在使用 Google Chrome 时,深夜喜欢一个特定的广告拦截浏览器插件,它可以在后台安静地运行,而无需您操作它。它被称为 Adblock,深夜将向您展示如何启动和运行它
如何使用 Google Chrome 浏览器扩展阻止弹出窗口如果您在 Internet 上花费任何时间,几乎肯定会遇到多种形式的烦人广告,包括弹出窗口、自动播放广告等。它们几乎是不可避免的,但您可以采取行动躲避它们。
在使用 Google Chrome 时,我们喜欢一个特定的广告拦截浏览器插件,它可以在后台安静地运行,而无需您操作它。它被称为 Adblock Plus。我们将向您展示如何启动和运行它,但如果您使用 Firefox,您可以按照我们的指南了解如何为该浏览器获取广告拦截器。
如何使用 Google Chrome 浏览器扩展阻止弹出窗口首先打开您的 Chrome 浏览器。然后访问 更多工具 下的 扩展程序。
点击打开chorme 网上商店
输入 Adblock , 打开该工具,窗口顶部有一个蓝色按钮,上面写着添加到 Chrome ”。单击它,扩展程序将自动下载。
仅此而已,您无需重新启动 Chrome 即可启动并运行 Adblock。该扩展程序在窗口的右上角添加了一个小的红色停止标志。您可以随时单击此停止标志以查看有关页面上阻止了哪些广告、如何取消阻止页面或整个网站以及如何更改选项中的目标广告的数据。
某些内容无法在 Adblock 上使用,具体取决于其来源和格式。如果遇到此问题,请单击停止标志图标并取消选中在此站点上启用”以关闭该站点的广告拦截(然后它将更改为在此站点上禁用”,但您可以将其重新打开无论你什么时候想要)。之后,刷新包含您要签出的内容的页面,它应该可以正常播放。
请注意,Adblock 不会捕获您在网络上遇到的每一个广告,但根据深夜的经验,它可以捕获其中的大部分。此外,有些白名单”公司会付费让他们的广告不受广告拦截器的影响。幸运的是,为此付费的品牌一开始很少使用弹出广告。您必须将其关闭才能查看对获利非常重视的网站。