一、简介
熟悉的筒子们可以直接跳过第一部分
Trojan-Go 使用 Go 实现的完整 Trojan 代理,与 Trojan 协议以及 Trojan 版本的配置文件格式兼容。安全,高效,轻巧,易用。
支持使用多路复用提升并发性能,使用路由模块实现国内直连。
支持 CDN 流量中转(基于 WebSocket over TLS/SSL)
支持使用 AEAD 对 Trojan 流量二次加密(基于Shadowsocks AEAD)。
支持可插拔的传输层插件,允许替换 TLS,使用其他加密隧道传输 Trojan 协议流量。
完整配置教程和配置介绍参见 Trojan-Go文档。
Trojan-Go 官方发行包
下载 Trojan-Go 二进制包,以 CentOS 为例
二、安装环境
- 服务器一台(本文以 CentOS 7 为例)
- 域名一个(本文以 trojan-go.domain.com 为例)
- 域名对应的 SSL 证书(如何获取 SSL 证书,请点击这里)
- Trojan-Go 官方发行包 (本文以 v0.10.6 为例)
三、开始吧
# 下载依赖包 yum install vim wget curl unzip -y # 创建安装目录 mkdir -p /usr/local/trojan-go && cd /usr/local/trojan-go # 下载二进制包 curl -LO https://github.com/p4gefau1t/trojan-go/releases/download/v0.10.6/trojan-go-linux-amd64.zip # 解压安装包 unzip trojan-go-linux-amd64.zip
编辑 Trojan-go 服务端主配置文件
vim /usr/local/trojan-go/config.json
{ "run_type": "server", "local_addr": "::", "local_port": 443, "remote_addr": "127.0.0.1", "remote_port": 80, "password": [ "rfha9342@#30ds", "-adA5^s23ej", "sc8)-1e%ER.PscU" ], "ssl": { "cert": "/root/.acme.sh/trojan-go.domain.com/fullchain.cer", "key": "/root/.acme.sh/trojan-go.domain.com/trojan-go.domain.com.key", "sni": "trojan-go.domain.com", "alpn": [ "http/1.1" ], "session_ticket": true, "reuse_session": true, "fallback_addr": "127.0.0.1", "fallback_port": 80 }, "tcp": { "no_delay": true, "keep_alive": true, "prefer_ipv4": false }, "mux": { "enabled": false, "concurrency": 8, "idle_timeout": 60 }, "websocket": { "enabled": true, "path": "/dHs7P", "host": "trojan-go.domain.com" }, "mysql": { "enabled": false, "server_addr": "localhost", "server_port": 3306, "database": "", "username": "", "password": "", "check_rate": 60 } }
守护进程脚本 /etc/systemd/system/trojan-go.service
[Unit] Description=Trojan-Go - An unidentifiable mechanism that helps you bypass GFW Documentation=https://p4gefau1t.github.io/trojan-go/ After=network.target nss-lookup.target [Service] CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE NoNewPrivileges=true ExecStart=/usr/local/trojan-go/trojan-go -config /usr/local/trojan-go/config.json Restart=on-failure RestartSec=10s LimitNOFILE=infinity [Install] WantedBy=multi-user.target
重载脚本,并将脚本添加至开机启动
systemctl daemon-reload systemctl start trojan-go.service systemctl enable trojan-go.service systemctl status trojan-go.service