Trojan服务器搭建与配置
一、整体架构(先对齐认知)
Clash Meta (PC / iOS / Android)
↓ TLS
Trojan Server (443)
↓
Internet
Trojan 的核心是:
TLS + HTTPS 流量伪装
看起来像正常网站
非常适合 EU / US VPS
二、服务器端(Ubuntu 24.04)
1. 准备条件
Ubuntu 24.04(干净系统)
一个域名(必须!)
域名 A 记录指向 VPS IP
开放端口:80 / 443
ufw allow 80
ufw allow 443
ufw reload
2. 安装基础环境
apt update && apt upgrade -y
apt install -y nginx curl socat
3. 申请 TLS 证书(Let’s Encrypt)
使用 certbot(推荐)
apt install -y certbot python3-certbot-nginx
确保 nginx 正常运行:
systemctl start nginx
申请证书:
certbot --nginx -d yourdomain.com
成功后你会得到:
/etc/letsencrypt/live/yourdomain.com/fullchain.pem
/etc/letsencrypt/live/yourdomain.com/privkey.pem
4. 安装 Trojan(推荐:trojan-go)
下载 trojan-go
cd /usr/local/bin
wget https://github.com/p4gefau1t/trojan-go/releases/latest/download/trojan-go-linux-amd64.zip
unzip trojan-go-linux-amd64.zip
chmod +x trojan-go
5. 配置 Trojan
创建配置文件:
mkdir -p /etc/trojan-go
nano /etc/trojan-go/config.json
示例配置(稳定通用版)
{
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 443,
"remote_addr": "127.0.0.1",
"remote_port": 80,
"password": [
"your-strong-password"
],
"ssl": {
"cert": "/etc/letsencrypt/live/yourdomain.com/fullchain.pem",
"key": "/etc/letsencrypt/live/yourdomain.com/privkey.pem",
"sni": "yourdomain.com"
}
}
说明:
remote_port: 80→ 流量伪装到 nginxpassword 就是 Clash 里用的
6. 配置 nginx(伪装网站)
nano /etc/nginx/sites-available/default
简单示例:
server {
listen 80;
server_name yourdomain.com;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
放个页面:
echo "<h1>Welcome</h1>" > /var/www/html/index.html
systemctl restart nginx
7. 设置 Trojan-Go 为系统服务
nano /etc/systemd/system/trojan-go.service
[Unit]
Description=Trojan-Go Service
After=network.target
[Service]
ExecStart=/usr/local/bin/trojan-go -config /etc/trojan-go/config.json
Restart=always
[Install]
WantedBy=multi-user.target
启动:
systemctl daemon-reexec
systemctl enable trojan-go
systemctl start trojan-go
检查:
systemctl status trojan-go
三、客户端(Clash Meta)
Trojan 节点配置(示例)
proxies:
- name: "Trojan-EU"
type: trojan
server: yourdomain.com
port: 443
password: your-strong-password
sni: yourdomain.com
udp: true
Clash Meta 特别注意:
必须有 sni
server 用域名,不要用 IP
Proxy Group 示例
proxy-groups:
- name: Proxy
type: select
proxies:
- Trojan-EU
- DIRECT
四、验证是否成功
服务器端
ss -lntp | grep 443
客户端
Clash Meta → 测试延迟