Skip to main content

请求参数(Request Patch)

规则中的request部分的参数说明

类型(Type)

xray 支持所有CEL文档中的类型,同时还注入了几种特殊的类型,包含:
  • addrType 连接地址信息
  • connInfoType 连接信息,包含源地址和目的地址, 可以通过 response.conn
  • urlType url 类型,可以 request.urlresponse.urlreverse.url 调用
  • reverseType 反连平台类型
  • request 扫描请求
  • response 请求的响应,通用属性包含:raw
其中注入的 request 和 response 类型是随着 transport 对应的值进行改变的。

TCP请求响应

其中 request 包含的字段如下: response 包含的字段如下:

UDP请求响应

其中 request 包含的字段如下: response 包含的字段如下:

HTTP请求响应

其中 request 包含的字段如下: response 包含的字段如下:

基本类型(Basic types)

addrType

addrType 类型包含字段如下, 设变量名为 addr

connInfoType

connInfoType 类型包含字段如下, 设变量名为 conn

urlType

urlType 类型包含的字段如下, 设变量名为 url, 以 http://example.com:8080/a?c=d#x=y 为例:

reverseType

reverseType 类型包含字段如下, 设变量名为 reverse(需要先使用 newReverse() 生成实例)
参数详情介绍:🔎详情

Timestamp

Timestamp 类型实际是google.protobuf.Timestamp类型,为cel表达式本身自带的类型,其本身包含了非常多的方法,详情可查看:Timestamp

CERTType

CERTType 类型包含的字段如下, 设变量名为 cert,以https://docs.xray.cool的证书举例:

变量名约定(Variable)

在定义变量名称时,需要考虑到一些特定的名称可能会被系统进行特殊处理。因此,为了避免潜在的冲突或误解,以下表格列出了一些常见的变量名及其用途的描述和示例。当您在如Set、Payloads、Output、Detail等部分定义变量时,建议避免误用这些名称。

函数(Function)

xray 支持所有 CEL 文档中的函数,同时还新增了一些函数支持,下面列举一下常用的函数: :gocel 原生的正则支持使用的 golang 自带的 regex 库, 在脚本中我们使用 regex2 替换了自带的 regex 库

rule 函数

:只有脚本层级的 expression 才能使用这些函数

字符串处理(String)

[]byte 处理

编码函数(Encoding)

加密函数(Encrypt)

随机值(Random)

正则(Regex)

反连平台(Reverse)

时间(Time)

版本(Version)

java 反序列化

压缩(Compress)

进制转换(Base conversion)

其它(Other)