[已解决] uBlock是否支持“源”为正则表达式的情况?

阅读:2320回复:6
2019-06-30 21:50
写私信
楼主#
例如,想阻拦掉 https://example.com/author/.* 源页面上,对 https://vod.doucdn.cn/live/.* 发出的请求
但又不影响 https://example.com/others/.* 等页面

这种情况以 domain= 为粒度,似乎不够用了(例如 /^https?:\/\/vod.doucdn.cn\/live\/.*/$domain=example.com)

uBlock能应付这种需求吗?如果uBlock暂时不可应付这种场景,那么有其它扩展可以满足这个需求吗?(FF或Chrome扩展都可以,虽然这里是FF-only论坛…)
2019-07-01 14:07
写私信
2楼#
fang5566:ubo支持正则表达式的
https://github.com/fang5566/uBlock/wiki/%E5%9F%BA%E4%BA%8E%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E7%...
回到原帖
谢谢回复,这个wiki发帖前也搜到了。

这篇wiki等于在说,支持请求“目标”为正则的情况。但没说,请求“源”为正则的情况,是否也支持

说的再具体一点,目前这种规则,我们已经知道是支持的(前半部分是正则,后半部分是domain域名):
/^https?:\/\/vod.doucdn.cn\/live\/.*/$domain=example.com
但类似于这种规则,支持吗(前半部分和后半部分,都是正则)?
/^https?:\/\/vod.doucdn.cn\/live\/.*/$regex=/^https?:\/\/example.com\/author\/.*/

——猜测应该是不支持的。
如果不支持,有什么其它扩展能达到类似效果吗?就是主楼写的:
想阻拦掉 https://example.com/author/.* 源页面上,对 https://vod.doucdn.cn/live/.* 发出的请求,同时又不影响 https://example.com/others/.* 等页面,对 https://vod.doucdn.cn/live/.* 发出的请求
2019-07-01 17:03
写私信
3楼#
$domain=规则选项应该是不支持正则的,作者本来就不喜欢用正则了,支持还要特意说明最好要限定domain避免误杀,更不可能支持domain也用正则。
Firefox More than meets your experience
2019-07-01 21:57
写私信
4楼#
可以向 ublock 作者提功能请求,https://github.com/uBlockOrigin/uBlock-issues/issues


或者用 Header editor 扩展实现:
新建规则类型:重定向请求,不是阻止请求(这个扩展的阻止请求类型不支持自定义函数)。
配置类型:以正则表达式为例,匹配规则为要阻止请求的地址规则
^https:\/\/vod\.doucdn\.cn\/live\/.*
执行类型:自定义函数,内容为
if(detail.type.endsWith('_frame'))
  return null;
if(/https:\/\/example\.com\/author\/.*/.test(detail.originUrl))
  return '_header_editor_cancel_';
以上第 3 行中的
https:\/\/example\.com\/author\/.*
为源页面正则匹配规则。
2019-07-03 02:28
写私信
5楼#
lonely_8:可以向 ublock 作者提功能请求,https://github.com/uBlockOrigin/uBlock-issues/issues


或者用 Header editor 扩展实现:
新建规则类型:重定向请求,不是阻止请...
回到原帖
啊!这个 .test(detail.originUrl) 的方法好聪明啊!大力按一下点赞!
昨天还花了好长时间在找什么新工具,试装了uMatrix等一堆折腾的东西,无果……没想到答案就在眼皮子底下。
非常非常非常感谢^_^
2020-10-24 11:16
写私信
6楼#
lonely_8:可以向 ublock 作者提功能请求,https://github.com/uBlockOrigin/uBlock-issues/issues


或者用 Header editor 扩展实现:
新建规则类型:重定向请求,不是阻止请...
回到原帖
厉害!这个方法太棒了!!!多谢前辈!