实现细节和开发指南 on Trojan-Go Docs https://p4gefau1t.github.io/trojan-go/developer/ Recent content in 实现细节和开发指南 on Trojan-Go Docs Hugo -- gohugo.io zh-CN 基本介绍 https://p4gefau1t.github.io/trojan-go/developer/overview/ Mon, 01 Jan 0001 00:00:00 +0000 https://p4gefau1t.github.io/trojan-go/developer/overview/ Trojan-Go的核心部分有 protocol 各个协议具体实现 proxy 代理核心,使用protocol的协议实现,处理入站和出站流量 conf 配置解析模块 shadow 主动检测欺骗模 编译和自定义Trojan-Go https://p4gefau1t.github.io/trojan-go/developer/build/ Mon, 01 Jan 0001 00:00:00 +0000 https://p4gefau1t.github.io/trojan-go/developer/build/ 编译需要Go版本号高于1.14.x,请在编译前确认你的编译器版本。推荐使用snap安装和更新go。 编译过程非常简单 go build -tags "full" #编译完整版本 bu Trojan协议 https://p4gefau1t.github.io/trojan-go/developer/trojan/ Mon, 01 Jan 0001 00:00:00 +0000 https://p4gefau1t.github.io/trojan-go/developer/trojan/ Trojan-Go遵循原始的trojan协议,具体格式可以参考Trojan文档,这里不再赘述。 默认情况下,trojan协议使用TLS来承载, 多路复用 https://p4gefau1t.github.io/trojan-go/developer/mux/ Mon, 01 Jan 0001 00:00:00 +0000 https://p4gefau1t.github.io/trojan-go/developer/mux/ Trojan-Go使用smux实现多路复用。同时实现了simplesocks协议用于进行代理传输。 当启用多路复用时,客户端首先发起TLS连接 Websocket https://p4gefau1t.github.io/trojan-go/developer/websocket/ Mon, 01 Jan 0001 00:00:00 +0000 https://p4gefau1t.github.io/trojan-go/developer/websocket/ 由于使用CDN中转时,HTTPS对CDN透明,CDN可以审查Websocket传输内容,而Trojan协议明文的头部特征过于明显,而TLS握 SimpleSocks协议 https://p4gefau1t.github.io/trojan-go/developer/simplesocks/ Mon, 01 Jan 0001 00:00:00 +0000 https://p4gefau1t.github.io/trojan-go/developer/simplesocks/ SimpleSocks协议是无认证机制的简单代理协议,本质上是去除了sha224的Trojan协议。使用该协议的目的是减少多路复用时的ove API https://p4gefau1t.github.io/trojan-go/developer/api/ Mon, 01 Jan 0001 00:00:00 +0000 https://p4gefau1t.github.io/trojan-go/developer/api/ Trojan-Go基于gRPC实现了API,使用protobuf交换数据。客户端可获取流量和速度信息;服务端可获取各用户流量,速度,在线情况