Merge 515326cf42
into 65fc1c912e
commit
fe5cc0ede2
|
@ -6,36 +6,40 @@ Freedom is an outbound protocol that can be used to send (normal) TCP or UDP dat
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"domainStrategy": "AsIs",
|
"targetStrategy": "AsIs",
|
||||||
"redirect": "127.0.0.1:3366",
|
"redirect": "127.0.0.1:3366",
|
||||||
"userLevel": 0,
|
"userLevel": 0,
|
||||||
"fragment": {
|
"fragment": {
|
||||||
"packets": "tlshello",
|
"packets": "tlshello",
|
||||||
"length": "100-200",
|
"length": "100-200",
|
||||||
"interval": "10-20" // ms
|
"interval": "10-20", // ms
|
||||||
|
"maxSplit": "300-400"
|
||||||
},
|
},
|
||||||
"noises": [
|
"noises": [
|
||||||
{
|
{
|
||||||
"type": "base64",
|
"type": "base64",
|
||||||
"packet": "7nQBAAABAAAAAAAABnQtcmluZwZtc2VkZ2UDbmV0AAABAAE=",
|
"packet": "7nQBAAABAAAAAAAABnQtcmluZwZtc2VkZ2UDbmV0AAABAAE=",
|
||||||
"delay": "10-16"
|
"delay": "10-16",
|
||||||
|
"applyTo": "ip"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "rand",
|
"type": "rand",
|
||||||
"packet": "10-20",
|
"packet": "10-20",
|
||||||
"delay": "10-16"
|
"delay": "10-16",
|
||||||
|
"applyTo": "ipv4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "str",
|
"type": "str",
|
||||||
"packet": "hiGFW",
|
"packet": "hiGFW",
|
||||||
"delay": "10-16"
|
"delay": "10-16",
|
||||||
|
"applyTo": "ipv6"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"proxyProtocol": 0
|
"proxyProtocol": 0
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
> `domainStrategy`: "AsIs"
|
> `targetStrategy`: "AsIs"
|
||||||
> "UseIP" | "UseIPv6v4" | "UseIPv6" | "UseIPv4v6" | "UseIPv4"
|
> "UseIP" | "UseIPv6v4" | "UseIPv6" | "UseIPv4v6" | "UseIPv4"
|
||||||
> "ForceIP" | "ForceIPv6v4" | "ForceIPv6" | "ForceIPv4v6" | "ForceIPv4"
|
> "ForceIP" | "ForceIPv6v4" | "ForceIPv6" | "ForceIPv4v6" | "ForceIPv4"
|
||||||
|
|
||||||
|
@ -59,6 +63,10 @@ When using the `"UseIP"` mode and the `sendThrough` field is specified in the [o
|
||||||
When using the `"UseIPv4"` or `"UseIPv6"` mode, Freedom will only use the corresponding IPv4 or IPv6 address. If `sendThrough` specifies a mismatched local address, the connection will fail.
|
When using the `"UseIPv4"` or `"UseIPv6"` mode, Freedom will only use the corresponding IPv4 or IPv6 address. If `sendThrough` specifies a mismatched local address, the connection will fail.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
::: tip TIP 3
|
||||||
|
When using the `"UseIP"` or `ForceIP` mode, and when network is UDP, Freedom tries to select the same IP-type as original-target-ip-type(before sniffing), to prevent MTU problems, and prevent detection by GFW.
|
||||||
|
:::
|
||||||
|
|
||||||
> `redirect`: address_port
|
> `redirect`: address_port
|
||||||
|
|
||||||
Freedom will force all data to be sent to the specified address (instead of the address specified in the inbound).
|
Freedom will force all data to be sent to the specified address (instead of the address specified in the inbound).
|
||||||
|
@ -83,6 +91,8 @@ A key-value map used to control TCP fragmentation,under some circumstances it
|
||||||
|
|
||||||
`"interval"`: time between fragments(ms)
|
`"interval"`: time between fragments(ms)
|
||||||
|
|
||||||
|
`"maxSplit"`: the maximum number of split fragments per packet, for example if we have a packet with 100-bytes size, and we set length to "1", and set maxSplit to "50", we send 49 1-bytes-packet with one 51-bytes-packet.
|
||||||
|
|
||||||
::: warning
|
::: warning
|
||||||
⚠️ "noise":{} is deptecated,only "noises":[{}] is supported in 24.9.16 and later
|
⚠️ "noise":{} is deptecated,only "noises":[{}] is supported in 24.9.16 and later
|
||||||
:::
|
:::
|
||||||
|
@ -104,6 +114,14 @@ if type is set to "base64" this field will take a base64 encoded string
|
||||||
|
|
||||||
If not specified, the default value is 0.
|
If not specified, the default value is 0.
|
||||||
|
|
||||||
|
`"applyTo"`: three mode are supported: "ipv4"/"ipv6"/"ip", if not specified, the default value is "ip".
|
||||||
|
|
||||||
|
if "ipv4", noise is sent only when remote address(after resolving domain to ip) is IPv4.
|
||||||
|
|
||||||
|
if "ipv6", noise is sent only when remote address(after resolving domain to ip) is IPv6.
|
||||||
|
|
||||||
|
if "ip", noise is always sent.
|
||||||
|
|
||||||
> `proxyProtocol`: number
|
> `proxyProtocol`: number
|
||||||
|
|
||||||
The value of `proxyProtocol` represents the PROXY Protocol version. default value is `0`.
|
The value of `proxyProtocol` represents the PROXY Protocol version. default value is `0`.
|
||||||
|
|
Loading…
Reference in New Issue