Skip to content

[功能请求] 新增复杂条件判定规则 #354

Description

@Mishasama

有些时候,不同的网站会调用相同域名下的公共库来呈现内容。
但是某些库会与父网站进行数据交互,用来实现不同的效果。

案例

比如一个用来检测 IP 的公共页面(example.net/ipframe.html)中的脚本会生成一组参数,提供具体的地理位置标签。
然后某个网站(AAA.cn)将这个公共页面作为框架放在其页面中,并读取其中的标签值。
接着再判断是否属于特定的值,比如CN;如果是CN,就返回提供给CN地区的页面内容;否则就返回403页面。

同理,另一个网站(BBB.com)也这么搞,但是它要的是US,其余都403

问题

那么使用传统的基于域名的独立条件判断的话,我们就没办法针对不同的网站指定不同的代理来访问其中的内容。因为公共页面的域名都是一样的,我们只能设置一个条件。在当前的扩展功能下,我们要么手动切换公共库的目标代理,要么就只能访问其中一个网站。

解决方案

使用规则组来对不同的网站设置不同的规则组合:

  1. 先检测当前网站的域名等属性
  2. 然后读取对应的规则组
  3. 给当前标签页应用特定的规则组条件
  4. 剩下的设计和工作方式与目前的设计相同

主要就是在当前的工作方式中前置一个对标签页的规则组的判断和分配。
实际逻辑可以参考当前的自动规则→另一个自动规则的嵌套使用方式。但需要将当前的自动规则由全局应用模式调整成标签页独立的模式。

大致上就是这种感觉。我可能有些技术细节表述得不对,还请见谅。


ZeroOmega 3.5.0
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions