From 5a5502a5f07da6ea0879d0a67434e861bdf70a13 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: Tue, 17 Sep 2024 01:19:39 +0800 Subject: [PATCH] Freedom outbound: Update noises --- docs/config/outbounds/freedom.md | 35 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/docs/config/outbounds/freedom.md b/docs/config/outbounds/freedom.md index 38a13981a..2ac79b129 100644 --- a/docs/config/outbounds/freedom.md +++ b/docs/config/outbounds/freedom.md @@ -14,10 +14,13 @@ Freedom 是一个出站协议,可以用来向任意网络发送(正常的) "length": "100-200", "interval": "10-20" // 单位ms }, - "noise": { - "packet":"rand:100-200", - "delay": "10-20" - }, + "noises":[ + { + "type":"base64", + "packet":"7nQBAAABAAAAAAAABnQtcmluZwZtc2VkZ2UDbmV0AAABAAE=", + "delay":"10-16" + } +], "proxyProtocol": 0 } ``` @@ -68,25 +71,21 @@ userLevel 的值, 对应 [policy](../policy.md#policyobject) 中 `level` 的值 当其为 0 且设置 `"packets": "tlshello"` 时,被分片的 Client Hello 将会在一个TCP包中发送(如果其原始大小未超过MSS或MTU导致被系统自动分片) -> `noise`: map +> `noise`: array -UDP noise, 用于在发出UDP连接前发出一些随机数据作为“噪声”,出现该结构体则视为启用,可能可以欺骗嗅探器,也可能破坏正常连接。Use at your own risk. +UDP noise, 用于在发出UDP连接前发出一些随机数据作为“噪声”,出现该结构体则视为启用,可能可以欺骗嗅探器,也可能破坏正常连接。Use at your own risk. 出于这个原因,它会绕过53端口因为这会破坏 DNS -`"packet"`:str +为一个数组,可以定义多个要发出的噪声数据包,数组中单个元素定义如下 -噪声模式,格式为 `"mode:value"` +`"type"`: 噪声数据包类型,目前支持`"rand"`(随机数据), `"str"`(用户自定义字符串), `"base64"`(base64编码过的自定义二进制数据) -现阶段支持两种模式 `rand` 与 `str` +`"packet"`: 基于前面的 `type` 要发送的数据包内容 -`rand` 模式,发送随机字节,冒号后接为随机字节长度,可以是固定值也可以是用 `-` 分割的随机范围,如 `"rand:150"`, 和 `"rand:100-200"` - -`str` 模式,发送固定的字符串,冒号后接为要发送的字符串,可以是任何字符串,不能包含冒号,如 `"str:To be, or not to be, that is the question"` - -`"delay"`:str - -可选值 默认为0 - -发送噪声到发送真实数据的延迟,单位毫秒,可以是固定值也可以是用 `-` 分割的随机范围,如 `"150"` 或 `"100-200"` 。 +- 当 `type` 为 rand 时,这里指定随机数据的长度 可以是固定值 `"100"` 或者浮动值 `"50-150" +- 当 `type` 为 str 时,这里指定要发送的字符串 +- 当 `type` 为 base64 时,这里指定base64过的二进制数据 + +`"delay"`: 延迟,单位毫秒。发送该噪声包后核心会等待该时间后再发送下一个噪声包或真实数据,默认不等待,可以设置为 int 如 `100` 或者设置为一个字符串类型填入浮动值如 `"50-150"` > `proxyProtocol`: number