parent
0f55c1e2f4
commit
fae74f958e
|
@ -63,11 +63,9 @@ export const sidebarZh: SidebarConfig = {
|
||||||
{
|
{
|
||||||
text: '底层传输',
|
text: '底层传输',
|
||||||
children: [
|
children: [
|
||||||
'/config/transports/domainsocket.md',
|
|
||||||
'/config/transports/grpc.md',
|
'/config/transports/grpc.md',
|
||||||
'/config/transports/h2.md',
|
'/config/transports/h2.md',
|
||||||
'/config/transports/mkcp.md',
|
'/config/transports/mkcp.md',
|
||||||
'/config/transports/quic.md',
|
|
||||||
'/config/transports/tcp.md',
|
'/config/transports/tcp.md',
|
||||||
'/config/transports/websocket.md',
|
'/config/transports/websocket.md',
|
||||||
'/config/transports/httpupgrade.md',
|
'/config/transports/httpupgrade.md',
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
# Domain Socket
|
|
||||||
|
|
||||||
::: danger
|
|
||||||
推荐写到 [inbounds](../inbound.md) 的 `listen` 处,传输方式可选 TCP、WebSocket、HTTP/2.
|
|
||||||
未来这里的 DomainSocket 可能会被弃用。
|
|
||||||
:::
|
|
||||||
|
|
||||||
Domain Socket 使用标准的 Unix domain socket 来传输数据。
|
|
||||||
|
|
||||||
它的优势是使用了操作系统内建的传输通道,而不会占用网络缓存。
|
|
||||||
理论上相比起本地环回网络(local loopback)来说,Domain socket 速度略快一些。
|
|
||||||
|
|
||||||
目前仅可用于支持 Unix domain socket 的平台,如 Linux 和 macOS。在 Windows 10 Build 17036 前不可用。
|
|
||||||
|
|
||||||
如果指定了 domain socket 作为传输方式,在入站出站代理中配置的端口和 IP 地址将会失效,所有的传输由 domain socket 取代。
|
|
||||||
|
|
||||||
## DomainSocketObject
|
|
||||||
|
|
||||||
`DomainSocketObject` 对应传输配置的 `dsSettings` 项。
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"path": "/path/to/ds/file",
|
|
||||||
"abstract": false,
|
|
||||||
"padding": false
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
> `path`: string
|
|
||||||
|
|
||||||
一个合法的文件路径。
|
|
||||||
|
|
||||||
::: danger
|
|
||||||
在运行 Xray 之前,这个文件必须不存在。
|
|
||||||
:::
|
|
||||||
|
|
||||||
> `abstract`: true | false
|
|
||||||
|
|
||||||
是否为 abstract domain socket,默认值 `false`。
|
|
||||||
|
|
||||||
> `padding`: true | false
|
|
||||||
|
|
||||||
abstract domain socket 是否带 padding,默认值 `false`。
|
|
|
@ -1,74 +0,0 @@
|
||||||
# QUIC
|
|
||||||
|
|
||||||
QUIC 全称 Quick UDP Internet Connection,是由 Google 提出的使用 UDP 进行多路并发传输的协议。其主要优势是:
|
|
||||||
|
|
||||||
1. 减少了握手的延迟(1-RTT 或 0-RTT)
|
|
||||||
2. 多路复用,并且没有 TCP 的阻塞问题
|
|
||||||
3. 连接迁移,(主要是在客户端)当由 Wifi 转移到 4G 时,连接不会被断开。
|
|
||||||
|
|
||||||
QUIC 目前处于实验期,使用了正在标准化过程中的 IETF 实现,不能保证与最终版本的兼容性。
|
|
||||||
|
|
||||||
- 默认设定:
|
|
||||||
- 12 字节的 Connection ID
|
|
||||||
- 30 秒没有数据通过时自动断开连接 (可能会影响一些长连接的使用)
|
|
||||||
|
|
||||||
## QuicObject
|
|
||||||
|
|
||||||
`QuicObject` 对应传输配置的 `quicSettings` 项。
|
|
||||||
|
|
||||||
::: danger
|
|
||||||
对接的两端的配置必须完全一致,否则连接失败。
|
|
||||||
QUIC 强制要求开启 TLS,在传输配置中没有开启 TLS 时,Xray 会自行签发一个证书进行 TLS 通讯。
|
|
||||||
:::
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"security": "none",
|
|
||||||
"key": "",
|
|
||||||
"header": {
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
> `security`: "none" | "aes-128-gcm" | "chacha20-poly1305"
|
|
||||||
|
|
||||||
加密方式。
|
|
||||||
|
|
||||||
此加密是对 QUIC 数据包的加密,加密后数据包无法被探测。
|
|
||||||
|
|
||||||
默认值为不加密。
|
|
||||||
|
|
||||||
> `key`: string
|
|
||||||
|
|
||||||
加密时所用的密钥。
|
|
||||||
|
|
||||||
可以是任意字符串。当 `security` 不为 `"none"` 时有效。
|
|
||||||
|
|
||||||
> `header`: [HeaderObject](#headerobject)
|
|
||||||
|
|
||||||
数据包头部伪装设置
|
|
||||||
|
|
||||||
### HeaderObject
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"type": "none"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
> `type`: string
|
|
||||||
|
|
||||||
伪装类型,可选的值有:
|
|
||||||
|
|
||||||
- `"none"`:默认值,不进行伪装,发送的数据是没有特征的数据包。
|
|
||||||
- `"srtp"`:伪装成 SRTP 数据包,会被识别为视频通话数据(如 FaceTime)。
|
|
||||||
- `"utp"`:伪装成 uTP 数据包,会被识别为 BT 下载数据。
|
|
||||||
- `"wechat-video"`:伪装成微信视频通话的数据包。
|
|
||||||
- `"dtls"`:伪装成 DTLS 1.2 数据包。
|
|
||||||
- `"wireguard"`:伪装成 WireGuard 数据包。(并不是真正的 WireGuard 协议)
|
|
||||||
|
|
||||||
::: tip
|
|
||||||
当加密和伪装都不启用时,数据包即为原始的 QUIC 数据包,可以与其它的 QUIC 工具对接。
|
|
||||||
为了避免被探测,建议加密或伪装至少开启一项。
|
|
||||||
:::
|
|
Loading…
Reference in New Issue