Skip to content

动态过滤快速指南

fang5566 edited this page Sep 20, 2019 · 18 revisions

返回"动态过滤"页面


下图的动态过滤面板(只针对高级用户开启)可通过点击请求已拦截作用到的域打开或关闭:

图 1


重要说明:

静态过滤 是指存在于过滤规则列表中的过滤规则,例如使用 EasyListEasyPrivacy、hpHosts 等等。动态过滤 则是好比防火墙规则那样的过滤规则。


第一列是动态过滤的对象:

图 2

如你所见,你可以按照资源类型或主机名的源地址创建动态过滤规则。

每个条目的颜色可以用来判断所有请求是被屏蔽(红色),被允许(绿色),还是部分屏蔽部分允许(黄色)。

加粗的是域名,域名可以看作是主机名,但主机名不能看成是域名,因为 uBlock 所认可的域名必须来自 Mozilla Public Suffix 列表

第二列全局 的动态过滤规则,所有在这列出现的过滤规则在 任何 网站的任何位置均可生效:

图 3

第三列本地 的动态过滤规则,所有在这列出现的过滤规则只在 当前 网站生效:

图 4

第三列的单元格总体显示有多少请求被屏蔽或允许:

  • - or +:分别有 1-9 条网络请求被屏蔽或允许
  • -- or ++:分别有 10-99 条网络请求被屏蔽或允许
  • --- or +++:分别有 100 或更多网络请求被屏蔽或允许
  • 空白单元格:该主机名没有任何网络请求被屏蔽或允许

所以动态过滤规则既有全局的规则,也有本地的规则。

默认情况下,uBo 安装后不包含任何动态过滤规则,所以动态过滤引擎也不会屏蔽任何内容。你得根据自己需要自行创建规则。

出于对安全性和隐私的保护,默认所有网页的第三方帧框架都被屏蔽:

图 5


重要说明:

动态过滤 会覆盖 静态过滤,也就是说一条 block 动态规则会覆盖任何现有的 allow 静态规则。这表示你可以用动态过滤规则达到 100% 的屏蔽目的(适用于恢复被某些静态规则破坏的页面)。

uBlock 的网络过滤引擎概览这篇文章有助于你理解静态过滤和动态过滤是如何交互运作的。


很好,所有嵌入页面的第三方帧框架都被屏蔽了。不过似乎这个网页有一个 Youtube 视频嵌入:

图 6

如果你想默认屏蔽某个网站的所有第三方帧框架,但不屏蔽内嵌的 Youtube 视频,有两个办法:

第一种办法

为第三方帧框架创建一条本地 noop 规则:

图 7

正常了,现在内嵌的 Youtube 视频显示出来了。

注意 noop 规则的单元格是暗灰色,而无任何规则的单元格是亮灰色(默认颜色)。因此灰色表示该单元格无任何动态规则生效。如果一个单元格从更高优先级的单元格继承了一条 blockallow 规则,则我们可以使用 noop 规则来覆盖上述所继承的规则。从概念上说,noop 规则是在你的动态规则集里打洞用的,这样网络请求可以畅快通过。

但上面的规则会导致该站点的所有第三方帧框架都被允许,这可不太好。

第二种办法

youtube.com 创建一条本地 noop 规则:

图 8

这会阻止动态过滤规则对 youtube.com 的一切生效,但只适用于该站点。


重要说明:

请记住 noop 规则会忽略范围更广的动态过滤规则,静态过滤规则仍完全保持不变,意味着你在内嵌的 Youtube 视频里不会看到广告。


如果你想默认屏蔽所有网站的第三方帧框架,但不屏蔽任何网站内嵌的 Youtube 视频,那又该怎么办?

只要为 youtube.com 创建一条全局 noop 规则就可以了:

图 9

上图表示所有动态过滤规则默认不会在 youtube.com 任何地方生效。


重要说明:

本地 动态过滤规则会覆盖 全局 规则。

换句话说:更专用的动态过滤规则会覆盖次专用的规则。 例如,youtube.com 的动态过滤规则(专用)会覆盖第三方帧框架的动态过滤规则(通用) 。


我们已经谈过了 blocknoop 这两种动态过滤规则,那 allow 规则呢?

allow 规则最适合用来恢复某些被静态过滤规则破坏的页面。

有些人遇到过 Boldchat 的页面被 uBlock 给破坏了:

图 10

从动态过滤面板显示的内容我们很容易看出应该在哪里有一条静态过滤规则屏蔽了到 boldchat.com 的网络请求。最后我们发现在 "Peter Lowe's Ad Server" 列表里有一条 boldchat.com 静态规则。

接着可以使用一条本地 allow 规则来修复破损的页面:

图 11

对用户来说,鼠标指向并点击一下就可以解决问题,明显比手动创建一条 @@||boldchat.com$~third-party 这样的例外静态规则更方便,后者还会强制重新载入所有静态规则(引起内存波动)。

另一个恢复被破坏页面的例子


重要说明: 通常情况下请使用更精确的 allow 动态过滤规则来恢复被破坏的页面,因为这些 allow 规则会覆盖所有静态规则,意味着如果你使用了宽泛的 allow 规则, 广告、跟踪者和其他干扰可能又会冒出来。


更多内容参见:将隐私掌控在你手中(等我稍微休息一下再把文章搬过来)

Clone this wiki locally