From c1830ae5f84c4a1e6ae59b43ac30c653857e7036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A3=8E=E6=89=87=E6=BB=91=E7=BF=94=E7=BF=BC?= Date: Wed, 2 Oct 2024 05:14:41 +0000 Subject: [PATCH] Add Int32Range desc --- docs/config/outbounds/freedom.md | 4 +++- docs/config/transports/splithttp.md | 4 ++-- docs/development/intro/guide.md | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/docs/config/outbounds/freedom.md b/docs/config/outbounds/freedom.md index d5399dc8b..9c93d5ca7 100644 --- a/docs/config/outbounds/freedom.md +++ b/docs/config/outbounds/freedom.md @@ -63,6 +63,8 @@ userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值 一些键值对配置项,用于控制发出的 TCP 分片,在某些情况下可以欺骗审查系统,比如绕过 SNI 黑名单。 +`"length"`和`"interval"` 均为 [Int32Range](../../development/intro/guide.md#int32range) 类型 + `"packets"`:支持两种分片方式 "1-3" 是 TCP 的流切片,应用于客户端第 1 至第 3 次写数据。"tlshello" 是 TLS 握手包切片。 `"length"`:分片包长 (byte) @@ -85,7 +87,7 @@ UDP noise, 用于在发出UDP连接前发出一些随机数据作为“噪声” - 当 `type` 为 str 时,这里指定要发送的字符串 - 当 `type` 为 base64 时,这里指定base64过的二进制数据 -`"delay"`: 延迟,单位毫秒。发送该噪声包后核心会等待该时间后再发送下一个噪声包或真实数据,默认不等待,可以设置为 int 如 `100` 或者设置为一个字符串类型填入浮动值如 `"50-150"` +`"delay"`: 延迟,单位毫秒。发送该噪声包后核心会等待该时间后再发送下一个噪声包或真实数据,默认不等待,为 [Int32Range](../../development/intro/guide.md#int32range) 类型 > `proxyProtocol`: number diff --git a/docs/config/transports/splithttp.md b/docs/config/transports/splithttp.md index ad0950bc0..7873b4762 100644 --- a/docs/config/transports/splithttp.md +++ b/docs/config/transports/splithttp.md @@ -85,7 +85,7 @@ SplitHTTP 的HTTP请求中所发送的host,默认值为空。若服务端值 > `xPaddingBytes` int | string -设置请求(出站)和响应(入站)的填充大小,用于减少请求指纹。单位byte, 默认为 `"100-1000"` 每次会在该范围中随机选择一个数字。 也可以是单个数字 `"200"`/`200` +设置请求(出站)和响应(入站)的填充大小,用于减少请求指纹。单位byte, 默认为 `"100-1000"` 每次会在该范围中随机选择一个数字。为 [Int32Range](../../development/intro/guide.md#int32range) 类型 设置为 `-1` 将完全禁用填充 @@ -110,7 +110,7 @@ SplitHTTP 的HTTP请求中所发送的host,默认值为空。若服务端值 术语解释: - 流会复用物理连接,像这样 连接1(流1,流2,流3) 连接2(流4,流5,流6) .. 以此类推 在其他地方你可能看到 连接-子连接 这样的描述,都是一样的东西。 -- 下述所有字段类型均为 int/string 均支持固定值 `16` 或浮动值 `"8-32"` 的写法 +- 下述所有字段类型均为 为 [Int32Range](../../development/intro/guide.md#int32range) 类型 > `maxConcurrency`: int/string diff --git a/docs/development/intro/guide.md b/docs/development/intro/guide.md index 47fe2e939..4a726029c 100644 --- a/docs/development/intro/guide.md +++ b/docs/development/intro/guide.md @@ -129,3 +129,22 @@ Xray-core - 一个文件包含一个主要类型,及其相关的私有函数等; - 测试相关的文件,如 Mock 等工具类,放入 testing 子目录。 + +#### Int32Range + +For end user + +一个表示可选范围的值,可以是以下几种写法 + +-包含在引号里的单独数字或范围 + - `""` (视为0) 注意部分字段完全不设置和设置为空可能是两种概念 + - `"114"` + - `"114-514"` +-独立的int,这种情况下只能是单数字 + - `114` + +For dev + +如果需要在配置文件中包含范围,请使用 `Int32Range` 类型,并使用 `.From` 和 `.To` 获取值,而不是使用 `string` 类型然后手搓解析 + +`.EnsureOrder()` 方法可以在用户输入的 From 大于 To 时交换两者的值,如果有需要 \ No newline at end of file