Orange 使用文档0.6.4

Docs / Usages / 条件判断模块的使用

条件判断模块是多个插件中都使用到的一个模块, 它主要用来筛选出目标流量。

对于PostPrams类型的条件, 当前只支持Content-Typeapplication/x-www-form-urlencoded的POST请求。

条件判断模块有四种类型:

其中, 每个条件都支持8种数据来源的8种操作符运算, 可自由搭配。

单一条件匹配

单一条件匹配非常简单, 比如我们想筛选出来自某个IP的流量, 只需:

比如想筛选出访问某个域名的流量, 只需:

and匹配

支持多个条件作and运算,如果结果为真, 则表示该请求命中这个规则, 即筛选出了这部分流量。

比如我们想筛选出来自10.3.2.1访问my_domain.com的请求, 只需:

比如我们想筛选出访问/user这个URI并且query中含有id这个参数, 并且其值大于1234的请求, 只需:

or匹配

or匹配与and匹配类似, 不过是对所有条件作运算。

复杂匹配

注意: 复杂匹配可使用lua条件运算来筛选流量, 但其性能相较于上文几种方式会有下降, 应优先选择前三种流量筛选方式。

复杂匹配需要配置一个表达式,名为expression, 表达式中每个值的格式为v[index], 比如v[1]对应的就是第一个条件的值。

比如我们需要筛选出以下流量:

我们只需如下配置即可:

(v[1] or v[2]) and v[3],即前两个条件至少一个为真并且第三个条件为真时,规则为真, 这时这个请求就被筛选出来了。