mirror of
https://github.com/p4gefau1t/trojan-go.git
synced 2024-04-21 12:21:34 +00:00
769 B
769 B
title, draft, weight
| title | draft | weight |
|---|---|---|
| 多路复用 | false | 3 |
Trojan-Go使用smux实现多路复用。同时实现了mux协议用于进行代理传输。
当启用多路复用时,客户端首先发起TLS连接,使用正常trojan协议格式,但协议Command部分填入0x7f(protocol.Mux),标识此连接为复用连接(类似于http的upgrade),之后连接交由smux客户端管理。服务器收到请求头部后,交由smux服务器解析该连接的所有流量。在每条分离出的smux连接上,使用simplesocks协议(去除认证部分的trojan协议)标明代理目的地。自顶向下的协议栈如下:
| 协议 |
|---|
| 真实流量 |
| simplesocks |
| smux |
| trojan(只有头部,仅用于校验) |
| TLS |
| TCP |