mirror of
https://github.com/XTLS/Xray-docs-next.git
synced 2025-01-19 17:21:41 +03:00
Update websocket early data and domainstrategy in sockopt
This commit is contained in:
parent
5b97ac4326
commit
4e56b4a909
@ -588,20 +588,25 @@ OCSP 装订更新,与证书热重载的时间间隔。 单位:秒。默认
|
|||||||
> "UseIP" | "UseIPv6v4" | "UseIPv6" | "UseIPv4v6" | "UseIPv4"<br>
|
> "UseIP" | "UseIPv6v4" | "UseIPv6" | "UseIPv4v6" | "UseIPv4"<br>
|
||||||
> "ForceIP" | "ForceIPv6v4" | "ForceIPv6" | "ForceIPv4v6" | "ForceIPv4"
|
> "ForceIP" | "ForceIPv6v4" | "ForceIPv6" | "ForceIPv4v6" | "ForceIPv4"
|
||||||
|
|
||||||
Xray-core v1.8.6 新增功能:<br>
|
|
||||||
`"UseIPv6v4"` | `"UseIPv4v6"`<br>
|
|
||||||
`"ForceIP"` | `"ForceIPv6v4"` | `"ForceIPv6"` | `"ForceIPv4v6"` | `"ForceIPv4"`
|
|
||||||
|
|
||||||
在之前的版本中,当 Xray 尝试使用域名建立系统连接时,域名的解析由系统完成,不受 Xray
|
在之前的版本中,当 Xray 尝试使用域名建立系统连接时,域名的解析由系统完成,不受 Xray
|
||||||
控制。这导致了在 [非标准 Linux 环境中无法解析域名](https://github.com/v2ray/v2ray-core/issues/1909) 等问题。为此,Xray 1.3.1 为 Sockopt 引入了 Freedom
|
控制。这导致了在 [非标准 Linux 环境中无法解析域名](https://github.com/v2ray/v2ray-core/issues/1909) 等问题。为此,Xray 1.3.1 为 Sockopt 引入了 Freedom
|
||||||
中的 domainStrategy,解决了此问题。
|
中的 domainStrategy,解决了此问题。
|
||||||
|
|
||||||
在目标地址为域名时, 配置相应的值, SystemDialer 的行为模式如下:
|
默认值 `"AsIs"`。
|
||||||
|
|
||||||
- `"AsIs"`: 通过系统 DNS 服务器解析获取 IP, 向此域名发出连接。
|
当目标地址为域名时,配置相应的值,Freedom 的行为模式如下:
|
||||||
- `"UseIP"`、`"UseIPv4"` 和 `"UseIPv6"`: 使用[内置 DNS 服务器](./dns.md)解析获取 IP 后, 直接向此 IP 发出连接。
|
|
||||||
|
|
||||||
默认值为 `"AsIs"`。
|
- 当使用 `"AsIs"` 时,Xray将直接使用系统栈发起连接,优先级与选择IP取决于系统设置。
|
||||||
|
- 当填写其他值时,将使用 Xray-core [内置 DNS 服务器](../dns.md) 服务器进行解析。若不存在DNSObject,则使用系统DNS。若有多个符合条件的IP地址时,核心会随机选择一个IP作为目标IP。
|
||||||
|
- `"IPv4"` 代表尝试仅使用IPv4进行连接,`"IPv4v6"` 代表尝试使用IPv4或IPv6连接,但对于双栈域名,尽量使用IPv4。(v4v6调换后同理,不再赘述)
|
||||||
|
- 当在内置DNS设置了 `"queryStrategy"` 后,实际行为将会与这个选项取并,只有都被包含的IP类型才会被解析,如 `"queryStrategy": "UseIPv4"` `"domainStrategy": "UseIP"`,实际上等同于 `"domainStrategy": "UseIPv4"`。
|
||||||
|
- 当使用 `"Use"` 开头的选项时,若解析结果不符合要求(如,域名只有IPv4解析结果但使用了UseIPv6),则会回落回AsIs。
|
||||||
|
- 当使用 `"Force"` 开头的选项时,若解析结果不符合要求,则该连接会无法建立。
|
||||||
|
|
||||||
|
::: tip TIP
|
||||||
|
当使用 `"UseIP"`、`"ForceIP"` 模式时,并且 [出站连接配置](../outbound.md#outboundobject) 中指定了 `sendThrough` 时,Freedom 会根据 `sendThrough` 的值自动判断所需的 IP 类型,IPv4 或 IPv6。若手动指定了单种IP类型(如UseIPv4),但与 `sendThrough` 指定的本地地址不匹配,将会导致连接失败。
|
||||||
|
:::
|
||||||
|
|
||||||
::: danger
|
::: danger
|
||||||
|
|
||||||
|
@ -36,11 +36,7 @@ Websocket 会识别 HTTP 请求的 X-Forwarded-For 头来覆写流量的源地
|
|||||||
|
|
||||||
WebSocket 所使用的 HTTP 协议路径,默认值为 `"/"`。
|
WebSocket 所使用的 HTTP 协议路径,默认值为 `"/"`。
|
||||||
|
|
||||||
如果路径中包含 `ed` 参数(如 ```/mypath?ed=2048```),将会启用 `Early Data` 以降低延迟,其值为首包长度阈值。如果首包长度超过此值,就不会启用 `Early Data`。最大值为8192,建议的值为 2048。
|
如果路径中包含 `ed` 参数(如 ```/mypath?ed=2560```),将会启用 `Early Data` 以降低延迟,在升级的同时使用 `Sec-WebSocket-Protocol` 头承载首包数据,其值为首包长度阈值。如果首包长度超过此值,就不会启用 `Early Data`。推荐值为 2560,最大值为8192,过大的值可能导致部分兼容问题,如果遇到兼容性问题,可以尝试调低阈值。
|
||||||
|
|
||||||
::: warning
|
|
||||||
`Early Data` 使用 `Sec-WebSocket-Protocol` 头承载数据。如果你遇到兼容性问题,可以尝试调低阈值。
|
|
||||||
:::
|
|
||||||
|
|
||||||
> `headers`: map \{string: string\}
|
> `headers`: map \{string: string\}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user