有些时候,不同的网站会调用相同域名下的公共库来呈现内容。
但是某些库会与父网站进行数据交互,用来实现不同的效果。
案例
比如一个用来检测 IP 的公共页面(example.net/ipframe.html)中的脚本会生成一组参数,提供具体的地理位置标签。
然后某个网站(AAA.cn)将这个公共页面作为框架放在其页面中,并读取其中的标签值。
接着再判断是否属于特定的值,比如CN;如果是CN,就返回提供给CN地区的页面内容;否则就返回403页面。
同理,另一个网站(BBB.com)也这么搞,但是它要的是US,其余都403。
问题
那么使用传统的基于域名的独立条件判断的话,我们就没办法针对不同的网站指定不同的代理来访问其中的内容。因为公共页面的域名都是一样的,我们只能设置一个条件。在当前的扩展功能下,我们要么手动切换公共库的目标代理,要么就只能访问其中一个网站。
解决方案
使用规则组来对不同的网站设置不同的规则组合:
- 先检测当前网站的域名等属性
- 然后读取对应的
规则组
- 给当前标签页应用特定的
规则组条件
- 剩下的设计和工作方式与目前的设计相同
主要就是在当前的工作方式中前置一个对标签页的规则组的判断和分配。
实际逻辑可以参考当前的自动规则→另一个自动规则的嵌套使用方式。但需要将当前的自动规则由全局应用模式调整成标签页独立的模式。
大致上就是这种感觉。我可能有些技术细节表述得不对,还请见谅。
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
有些时候,不同的网站会调用相同域名下的公共库来呈现内容。
但是某些库会与父网站进行数据交互,用来实现不同的效果。
案例
比如一个用来检测 IP 的公共页面(example.net/ipframe.html)中的脚本会生成一组参数,提供具体的地理位置标签。
然后某个网站(AAA.cn)将这个公共页面作为框架放在其页面中,并读取其中的标签值。
接着再判断是否属于特定的值,比如
CN;如果是CN,就返回提供给CN地区的页面内容;否则就返回403页面。同理,另一个网站(BBB.com)也这么搞,但是它要的是
US,其余都403。问题
那么使用传统的基于域名的独立条件判断的话,我们就没办法针对不同的网站指定不同的代理来访问其中的内容。因为公共页面的域名都是一样的,我们只能设置一个条件。在当前的扩展功能下,我们要么手动切换公共库的目标代理,要么就只能访问其中一个网站。
解决方案
使用
规则组来对不同的网站设置不同的规则组合:规则组规则组条件主要就是在当前的工作方式中前置一个对标签页的规则组的判断和分配。
实际逻辑可以参考当前的
自动规则→另一个自动规则的嵌套使用方式。但需要将当前的自动规则由全局应用模式调整成标签页独立的模式。大致上就是这种感觉。我可能有些技术细节表述得不对,还请见谅。
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