From fae74f958ee878e43bc7c3ecf7a5e3c333158d8b 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, 3 Sep 2024 10:28:59 +0000 Subject: [PATCH] Goodby QUIC & UDS May the Kobe be with you --- docs/.vuepress/config/sidebar/zh.ts | 2 - docs/config/transports/domainsocket.md | 43 --------------- docs/config/transports/quic.md | 74 -------------------------- 3 files changed, 119 deletions(-) delete mode 100644 docs/config/transports/domainsocket.md delete mode 100644 docs/config/transports/quic.md diff --git a/docs/.vuepress/config/sidebar/zh.ts b/docs/.vuepress/config/sidebar/zh.ts index 283a87839..1e023a1a7 100755 --- a/docs/.vuepress/config/sidebar/zh.ts +++ b/docs/.vuepress/config/sidebar/zh.ts @@ -63,11 +63,9 @@ export const sidebarZh: SidebarConfig = { { text: '底层传输', children: [ - '/config/transports/domainsocket.md', '/config/transports/grpc.md', '/config/transports/h2.md', '/config/transports/mkcp.md', - '/config/transports/quic.md', '/config/transports/tcp.md', '/config/transports/websocket.md', '/config/transports/httpupgrade.md', diff --git a/docs/config/transports/domainsocket.md b/docs/config/transports/domainsocket.md deleted file mode 100644 index 80c8a0eb2..000000000 --- a/docs/config/transports/domainsocket.md +++ /dev/null @@ -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`。 diff --git a/docs/config/transports/quic.md b/docs/config/transports/quic.md deleted file mode 100644 index 984eb3929..000000000 --- a/docs/config/transports/quic.md +++ /dev/null @@ -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 工具对接。 -为了避免被探测,建议加密或伪装至少开启一项。 -:::