mirror of
https://github.com/p4gefau1t/trojan-go.git
synced 2024-04-21 12:21:34 +00:00
fix docs
This commit is contained in:
@@ -53,9 +53,9 @@ Trojan-Go将所有协议抽象为隧道,每个隧道可能提供客户端,
|
||||
|
||||
出站,只能有一条路径
|
||||
|
||||
- freedom
|
||||
- router->freedom
|
||||
|
||||
对于入站,你可以描述一条链,一棵树或者一个有向无环图(DAG),对于出站,你只能描述一个链。**注意,每条路径,必须以不需要下层提供流或包的隧道开始(transport/tproxy/dokodemo等),必须以能向上层提供包和流的隧道终止(trojan/simplesocks/freedom),且必须确认对应隧道是否可作为出站/入站**
|
||||
对于入站,从根开始描述多条路径,组成一棵**多叉树**(也可以退化为一条链),不满足树性质的图将导致未定义的行为;对于出站,必须描述一条链。**注意,每条路径,必须以不需要下层提供流或包的隧道开始(transport/tproxy/dokodemo等),必须以能向上层提供包和流的隧道终止(trojan/simplesocks/freedom),且必须确认对应隧道是否可作为出站/入站**
|
||||
|
||||
要启用自定义协议栈,将```run_type```指定为custom,此时除```inbound```和```outbound```之外的其他选项将被忽略。
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ Trojan-Go将所有协议(包括路由功能等)抽象为隧道(tunnel.Tunnel
|
||||
|
||||
- 隧道C: freedom
|
||||
|
||||
实际上的隧道堆叠的情况会比这个更复杂一些。通常的入站的隧道是一棵树(或有向无环图)的形式,而非一条链。具体解释参考下文。
|
||||
实际上的隧道堆叠的情况会比这个更复杂一些。通常的入站的隧道是一棵多叉树的形式,而非一条链。具体解释参考下文。
|
||||
|
||||
## proxy.Proxy代理核心
|
||||
|
||||
@@ -98,7 +98,7 @@ Trojan-Go将所有协议(包括路由功能等)抽象为隧道(tunnel.Tunnel
|
||||
- http (终端节点)
|
||||
- socks(终端节点)
|
||||
|
||||
- 出站(列表)
|
||||
- 出站(链)
|
||||
- transport (根)
|
||||
- tls
|
||||
- websocket
|
||||
@@ -119,7 +119,7 @@ Trojan-Go将所有协议(包括路由功能等)抽象为隧道(tunnel.Tunnel
|
||||
- mux
|
||||
- simplesocks (终端节点)
|
||||
|
||||
- 出站(列表)
|
||||
- 出站(链)
|
||||
- freedom
|
||||
|
||||
注意,代理核心只从隧道构成的树的终端节点抽取流和包,并转送到唯一的出站上。多个终端节点的设计的目的,是使Trojan-Go同时兼容Websocket和Trojan协议入站连接,开启/未开启Mux的入站连接,以及HTTP/Socks5自动识别的功能。每个拥有多个儿子的树上节点,具有精确识别和分发流和包给不同的儿子节点的能力。这符合我们假定每个协议了解其上层承载协议的假设。
|
||||
|
||||
Reference in New Issue
Block a user