发布uMatrixCleaner规则清理器

2018年6月23日

μMatrix是一个浏览器插件,旨在保护隐私和安全性,副作用也包括阻挡广告。一般的广告屏蔽插件用的是一维的屏蔽规则,如一旦有规则vortex.accuweather.com/*.js,则不论什么网页都不能访问这个网址的资源,有点一杆子打死的感觉。而μMatrix可以识别来源网页、目标资源、目标类型,其规则形如accuweather.com vortex.accuweather.com script block,读作从accuweather.com访问vortex.accuweather.com的脚本(script)是禁止(block)的。

更多信息可以参见https://github.com/gorhill/uMatrix/wiki

可以想象,当我们访问的网站很多,μMatrix规则建立起来之后,可能添加了重复的规则。例如,一开始我可能只要求accuweather.com vortex.accuweather.com script block,后来添加了另一个更宽泛的规则accuweather.com * script block,读作从accuweather.com访问任何网站(*)的脚本(script)是禁止(block)的,可是我可能忘记删除一开始的规则了。日积月累,这些重复规则越来越多,拖慢μMatrix运行速度。

另一种情况是,一开始我可能只要求facebook.com vortex.accuweather.com script block,后来添加另一个规则facebook.com help.accuweather.com script block,不久又添加了facebook.com trace.accuweather.com script block。这个趋势显示我不喜欢facebook.com读取accuweather.com的某些子域名里的脚本。我们似乎可以把上述三个规则合并为一个规则,即facebook.com accuweather.com script block。但是这种合并需要相当的洞察力,观察规则列表好几遍,手动去做效率相当低。

于是,我编写了μMatrix规则清理器。它可以执行三种清理动作:

  1. 随机删除百分之x的规则。这个清理动作是针对过时规则,可能某些网站结构改变了,不再请求某些资源了,所以对应的μMatrix规则也不需要了。
  2. 删除重复规则。
  3. 合并相似规则。

详细信息请参见README.md

下载:https://github.com/gqqnbig/uMatrixCleaner/releases

0.1版本只支持windows 10,其他操作系统未测试。