安装 Trojan Go
方法 1: 从源代码编译
-
下载源代码
- 运行以下命令安装 Go:
sudo apt-get install golang
- 克隆 Trojan Go 仓库:
git clone https://github.com/gotrojan/trojan-go.git cd trojan-go
- 运行以下命令安装 Go:
-
编译
- 运行以下命令编译 Trojan Go:
CGO_ENABLED= GOOS=linux go build -X main.App.Name=trojan -X main.App.Version=1.2.3
- 生成的可执行文件位于
bin/trojan。
- 运行以下命令编译 Trojan Go:
方法 2: 使用二进制包
-
下载二进制包
- 运行以下命令安装 Trojan Go:
sudo apt-get install wget wget https://github.com/gotrojan/trojan-go/releases/download/v2.2./trojan-go_2.2._linux_amd64.gz
- 运行以下命令安装 Trojan Go:
-
解压并执行
- 解压二进制包:
gzip -d trojan-go_2.2._linux_amd64.gz chmod +x trojan-go
- 解压二进制包:
配置 Trojan Go 服务器
启动服务器
./trojan-go server -c config.json
创建配置文件 (config.json)
{
"in": {
"listen": "...:808",
"tls": {
"cert_file": "cert.pem",
"key_file": "key.pem",
"sni": "yourdomain.com"
}
},
"out": {
"listen": "...:8443",
"tls": {
"cert_file": "cert.pem",
"key_file": "key.pem",
"sni": "yourdomain.com"
}
},
"log_level": "debug",
"metrics": true,
"hot_reload": true,
"Version": "2.2."
}
生成 SSL 证书
-
创建私密密钥
openssl genrsa -out key.pem
-
生成证书签名请求(CSR)
openssl req -new -out csr.pem -key key.pem -days 365
-
签名 CSR
openssl x509 -req -signkey key.pem -out cert.pem -in csr.pem -days 365
运行服务器
./trojan-go server -c config.json
访问服务器
- HTTP 服务器:
http://localhost:808 - HTTPS 服务器:
https://localhost:8443
配置优化
设置并发连接数
在 config.json 中调整 in 和 out 的 conns 值:
{
"in": {
"listen": "...:808",
"conns": 100,
"tls": {
"cert_file": "cert.pem",
"key_file": "key.pem",
"sni": "yourdomain.com"
}
},
"out": {
"listen": "...:8443",
"conns": 100,
"tls": {
"cert_file": "cert.pem",
"key_file": "key.pem",
"sni": "yourdomain.com"
}
}
}
设置缓存
{
"in": {
"cache": {
"enabled": true,
"max_size": "1G",
"max_keys": "100",
"expires": "1h"
}
}
}
设置负载均衡
{
"in": {
"lb": {
"enabled": true,
"method": "轮询",
"weight": [
1,
1,
1
],
"balance": {
"source": "IP",
"weight": 1
}
}
}
}
设置限流
{
"in": {
"flow": {
"enabled": true,
"limit": {
"rate": "100M",
"burst": "100"
}
}
}
}
进一步优化
使用压缩
{
"in": {
"compress": {
"enabled": true,
"types": ["html", "css", "js", "png", "jpg"]
}
}
}
启用 Gzip
{
"in": {
"gzip": {
"enabled": true,
"level": 9
}
}
}
故障排除
配置错误
- 检查
config.json格式是否正确。 - 确保所有路径正确,特别是证书文件。
证书问题
- 确保证书文件权限正确。
- 检查证书是否过期。
权限问题
- 服务器运行用户必须有足够的权限访问端口和文件。
依赖问题
- 确保安装了所有依赖项,包括
libpcre、zlib和openssl。
进一步优化
使用第三方库
- 集成 Redis 或其他缓存库。
- 使用第三方压缩库。
集成插件
- 使用
trojan-go的插件系统,扩展功能。
集成到应用
- 将
trojan-go集成到你的应用中,作为反向代理。
高级配置
集群部署
- 使用
traefik或其他负载均衡工具,前端代理到trojan-go。
动态配置
- 使用
hot-reload功能,动态重新加载配置。
安全设置
- 启用 IP 白名单,限制访问。
- 配置最大并发连接和速率限制。
通过以上步骤,你可以配置和优化 Trojan Go 服务器以满足你的需求。




