Update fingerprint and sockopt

pull/327/head
yuhan6665 2 years ago
parent 0f3d004e18
commit 701659467b

@ -215,18 +215,34 @@ CipherSuites 用于配置受支持的密码套件列表, 每个套件名称之
此参数的设置为 false 时, ClientHello 里没有 session_ticket 这个扩展。 通常来讲 go 语言程序的 ClientHello 里并没有用到这个扩展, 因此建议保持默认值。 默认值为 `false` 此参数的设置为 false 时, ClientHello 里没有 session_ticket 这个扩展。 通常来讲 go 语言程序的 ClientHello 里并没有用到这个扩展, 因此建议保持默认值。 默认值为 `false`
> `fingerprint` : "" | "chrome" | "firefox" | "safari" | "randomized" > `fingerprint` : string
此参数用于配置指定 `TLS Client Hello` 的指纹。当其值为空时表示不启用此功能。启用后Xray 将通过 uTLS 库 **模拟** `TLS` 指纹,或随机生成。 此参数用于配置指定 `TLS Client Hello` 的指纹。当其值为空时表示不启用此功能。启用后Xray 将通过 uTLS 库 **模拟** `TLS` 指纹,或随机生成。支持三种配置方式:
1. 常见浏览器最新版本的 TLS 指纹 包括
- `"chrome"`
- `"firefox"`
- `"safari"`
- `"ios"`
- `"android"`
- `"safari"`
- `"edge"`
- `"360"`
- `"qq"`
2. 在 xray 启动时自动生成一个指纹
- `"random"`: 在较新版本的浏览器里随机抽取一个
- `"randomized"`: 完全随机生成一个独一无二的指纹 (100% 支持 TLS 1.3 使用 X25519)
3. 使用 uTLS 原生指纹变量名 例如`"HelloRandomizedNoALPN"` `"HelloChrome_106_Shuffle"`。完整名单见 [uTLS 库](https://github.com/refraction-networking/utls/blob/master/u_common.go#L162)
::: tip ::: tip
此功能仅 **模拟** `TLS Client Hello` 的指纹,行为、其他指纹与 Golang 相同。如果你希望更加完整地模拟浏览器 `TLS` 此功能仅 **模拟** `TLS Client Hello` 的指纹,行为、其他指纹与 Golang 相同。如果你希望更加完整地模拟浏览器 `TLS`
指纹与行为,可以使用 [Browser Dialer](./transports/websocket.md#browser-dialer)。 指纹与行为,可以使用 [Browser Dialer](./transports/websocket.md#browser-dialer)。
::: :::
- `"chrome" | "firefox" | "safari"`: 模拟 Chrome / Firefox / Safari 的 TLS 指纹
- `"randomized"`: 使用随机指纹
> `pinnedPeerCertificateChainSha256`: \[string\] > `pinnedPeerCertificateChainSha256`: \[string\]
用于指定远程服务器的证书链 SHA256 散列值,使用标准编码格式。仅有当服务器端证书链散列值符合设置项中之一时才能成功建立 TLS 连接。 用于指定远程服务器的证书链 SHA256 散列值,使用标准编码格式。仅有当服务器端证书链散列值符合设置项中之一时才能成功建立 TLS 连接。
@ -380,7 +396,9 @@ OCSP 装订更新,与证书热重载的时间间隔。 单位:秒。默认
"domainStrategy": "AsIs", "domainStrategy": "AsIs",
"dialerProxy": "", "dialerProxy": "",
"acceptProxyProtocol": false, "acceptProxyProtocol": false,
"tcpKeepAliveInterval": 0 "tcpKeepAliveInterval": 0,
"tcpcongestion": "bbr",
"interface": "wg0"
} }
``` ```
@ -499,3 +517,15 @@ TCP 保持活跃的数据包发送间隔,单位为秒。~~该设置仅适用
::: tip ::: tip
填负数时,如 `-1`,不启用 TCP 保持活跃。 填负数时,如 `-1`,不启用 TCP 保持活跃。
::: :::
> `tcpcongestion`: ""
TCP 开启内核的 bbr 拥塞控制 仅支持 linux。
- bbr (推荐)
- cubic
- reno (默认)
> `interface`: ""
指定绑定出口网卡名称 仅支持 linux。

@ -215,18 +215,34 @@ CipherSuites 用于配置受支持的密码套件列表, 每个套件名称之
此参数的设置为 false 时, ClientHello 里没有 session_ticket 这个扩展。 通常来讲 go 语言程序的 ClientHello 里并没有用到这个扩展, 因此建议保持默认值。 默认值为 `false` 此参数的设置为 false 时, ClientHello 里没有 session_ticket 这个扩展。 通常来讲 go 语言程序的 ClientHello 里并没有用到这个扩展, 因此建议保持默认值。 默认值为 `false`
> `fingerprint` : "" | "chrome" | "firefox" | "safari" | "randomized" > `fingerprint` : string
此参数用于配置指定 `TLS Client Hello` 的指纹。当其值为空时表示不启用此功能。启用后Xray 将通过 uTLS 库 **模拟** `TLS` 指纹,或随机生成。 此参数用于配置指定 `TLS Client Hello` 的指纹。当其值为空时表示不启用此功能。启用后Xray 将通过 uTLS 库 **模拟** `TLS` 指纹,或随机生成。支持三种配置方式:
1. 常见浏览器最新版本的 TLS 指纹 包括
- `"chrome"`
- `"firefox"`
- `"safari"`
- `"ios"`
- `"android"`
- `"safari"`
- `"edge"`
- `"360"`
- `"qq"`
2. 在 xray 启动时自动生成一个指纹
- `"random"`: 在较新版本的浏览器里随机抽取一个
- `"randomized"`: 完全随机生成一个独一无二的指纹 (100% 支持 TLS 1.3 使用 X25519)
3. 使用 uTLS 原生指纹变量名 例如`"HelloRandomizedNoALPN"` `"HelloChrome_106_Shuffle"`。完整名单见 [uTLS 库](https://github.com/refraction-networking/utls/blob/master/u_common.go#L162)
::: tip ::: tip
此功能仅 **模拟** `TLS Client Hello` 的指纹,行为、其他指纹与 Golang 相同。如果你希望更加完整地模拟浏览器 `TLS` 此功能仅 **模拟** `TLS Client Hello` 的指纹,行为、其他指纹与 Golang 相同。如果你希望更加完整地模拟浏览器 `TLS`
指纹与行为,可以使用 [Browser Dialer](./transports/websocket.md#browser-dialer)。 指纹与行为,可以使用 [Browser Dialer](./transports/websocket.md#browser-dialer)。
::: :::
- `"chrome" | "firefox" | "safari"`: 模拟 Chrome / Firefox / Safari 的 TLS 指纹
- `"randomized"`: 使用随机指纹
> `certificates`: \[ [CertificateObject](#certificateobject) \] > `certificates`: \[ [CertificateObject](#certificateobject) \]
证书列表,其中每一项表示一个证书(建议 fullchain 证书列表,其中每一项表示一个证书(建议 fullchain
@ -357,7 +373,10 @@ ocspStapling 检查更新时间间隔。 单位:秒
"tproxy": "off", "tproxy": "off",
"domainStrategy": "AsIs", "domainStrategy": "AsIs",
"dialerProxy": "", "dialerProxy": "",
"acceptProxyProtocol": false "acceptProxyProtocol": false,
"tcpKeepAliveInterval": 0,
"tcpcongestion": "bbr",
"interface": "wg0"
} }
``` ```
@ -466,3 +485,25 @@ ocspStapling 检查更新时间间隔。 单位:秒
常见的反代软件(如 HAProxy、Nginx都可以配置发送它VLESS fallbacks xver 也可以发送它。 常见的反代软件(如 HAProxy、Nginx都可以配置发送它VLESS fallbacks xver 也可以发送它。
填写 `true` 时,最底层 TCP 连接建立后,请求方必须先发送 PROXY protocol v1 或 v2否则连接会被关闭。 填写 `true` 时,最底层 TCP 连接建立后,请求方必须先发送 PROXY protocol v1 或 v2否则连接会被关闭。
> `tcpKeepAliveInterval`: number
TCP 保持活跃的数据包发送间隔,单位为秒。~~该设置仅适用于 Linux 下。~~
不配置此项或配置为 0 表示使用 Go 默认值。
::: tip
填负数时,如 `-1`,不启用 TCP 保持活跃。
:::
> `tcpcongestion`: ""
TCP 开启内核的 bbr 拥塞控制 仅支持 linux。
- bbr (推荐)
- cubic
- reno (默认)
> `interface`: ""
指定绑定出口网卡名称 仅支持 linux。

Loading…
Cancel
Save