Trojan 节点搭建详细教程

Trojan 是一款开源的代理工具,专注于抗封锁和隐蔽流量特征,基于 HTTPS 协议实现流量代理,能够伪装成正常的 HTTPS 流量,适用于科学上网。以下教程将指导您如何在 VPS 上搭建 Trojan 节点。


1. 准备工作

1.1 购买 VPS 服务器

在搭建 Trojan 节点前,首先需要购买一台支持的 VPS 服务器。推荐选择稳定且可靠的服务提供商,例如 Vultr、DigitalOcean 或 Bandwagonhost,建议选择以下配置:

  • 操作系统:Debian 10/11 或 Ubuntu 20.04
  • 最低配置:1GB 内存、1核 CPU

选择服务器时,最好选择海外的节点(如美国、日本、香港),以获得更好的网络表现。

1.2 域名准备

Trojan 使用 HTTPS 加密流量,需要为 VPS 服务器绑定一个域名,确保流量的隐蔽性。因此,您需要准备一个域名,并通过域名服务商解析到 VPS 服务器的 IP 地址。

  • 搭建过程繁琐?:试试推荐机场,一键连接,50+节点任选!前往购买订阅

2. 搭建 Trojan

2.1 更新系统并安装依赖

在 VPS 上执行以下命令,更新系统并安装必要的依赖:

1
2
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl gnupg2 ca-certificates lsb-release ubuntu-keyring

2.2 安装 Nginx

Trojan 通过伪装成正常的 HTTPS 流量,通常需要 Nginx 作为 Web 服务器。使用以下命令安装 Nginx:

1
sudo apt install -y nginx

安装完成后,启动并设置 Nginx 随系统启动:

1
2
sudo systemctl start nginx
sudo systemctl enable nginx

2.3 申请 SSL 证书

为了使用 Trojan,必须为您的域名申请一个免费的 SSL 证书。这里使用 Let’s Encrypt 的 certbot 工具申请证书。首先安装 certbot:

1
sudo apt install certbot python3-certbot-nginx -y

使用以下命令申请 SSL 证书,替换 yourdomain.com 为您的实际域名:

1
sudo certbot --nginx -d yourdomain.com

按照提示操作,成功后证书会被自动配置到 Nginx 中。

2.4 安装 Trojan

首先,下载并安装 Trojan:

1
2
sudo bash -c "$(curl -fsSL https://github.com/trojan-gfw/trojan/releases/download/v1.16.0/trojan-linux-amd64.tar.xz | tar -JxO trojan/trojan > /usr/local/bin/trojan)"
sudo chmod +x /usr/local/bin/trojan

然后,创建 Trojan 的配置文件:

1
2
sudo mkdir /etc/trojan
sudo nano /etc/trojan/config.json

config.json 中填入以下内容,替换 yourpassword 为您自定义的密码,yourdomain.com 为您的域名:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
    "run_type": "server",
    "local_addr": "127.0.0.1",
    "local_port": 443,
    "remote_addr": "127.0.0.1",
    "remote_port": 80,
    "password": [
        "yourpassword"
    ],
    "ssl": {
        "cert": "/etc/letsencrypt/live/yourdomain.com/fullchain.pem",
        "key": "/etc/letsencrypt/live/yourdomain.com/privkey.pem",
        "key_password": "",
        "cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256",
        "prefer_server_cipher": true,
        "alpn": [
            "http/1.1"
        ],
        "reuse_session": true,
        "session_ticket": false,
        "curves": "",
        "dhparam": ""
    },
    "tcp": {
        "no_delay": true,
        "keep_alive": true,
        "fast_open": false,
        "reuse_port": false,
        "tcp_fast_open": false
    }
}

保存并退出编辑器。

2.5 配置 Nginx 反向代理

编辑 Nginx 配置文件 /etc/nginx/sites-available/default

1
sudo nano /etc/nginx/sites-available/default

将配置修改为以下内容,替换 yourdomain.com 为您的域名:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
server {
    listen 80;
    server_name yourdomain.com;
    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl http2;
    server_name yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
    
    location / {
        proxy_pass http://127.0.0.1:80;
    }
}

保存并退出编辑器,然后重启 Nginx:

1
sudo systemctl restart nginx

2.6 启动 Trojan

创建 Trojan 服务文件 /etc/systemd/system/trojan.service

1
sudo nano /etc/systemd/system/trojan.service

将以下内容粘贴到服务文件中:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
[Unit]
Description=Trojan
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/trojan -c /etc/trojan/config.json
Restart=on-failure

[Install]
WantedBy=multi-user.target

保存并退出,然后启用和启动 Trojan:

1
2
sudo systemctl enable trojan
sudo systemctl start trojan

使用以下命令检查 Trojan 是否成功启动:

1
sudo systemctl status trojan

3. 配置客户端

在客户端设备上,您需要配置 Trojan 客户端,使用服务器的域名和密码连接。以下是一个简单的客户端配置示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
{
    "run_type": "client",
    "local_addr": "127.0.0.1",
    "local_port": 1080,
    "remote_addr": "yourdomain.com",
    "remote_port": 443,
    "password": [
        "yourpassword"
    ],
    "ssl": {
        "verify": true,
        "verify_hostname": true,
        "cert": "",
        "cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256",
        "sni": "yourdomain.com",
        "alpn": [
            "http/1.1"
        ]
    }
}

客户端成功连接后,您可以通过本地代理 127.0.0.1:1080 使用 Trojan 节点上网。


4. 常见问题

4.1 如何查看 Trojan 运行状态?

可以使用以下命令查看 Trojan 的运行状态:

1
sudo systemctl status trojan

4.2 如何更新 Trojan?

Trojan 的更新非常简单,只需下载最新版本并替换原有的二进制文件即可:

1
2
3
sudo bash -c "$(curl -fsSL https://github.com/trojan-gfw/trojan/releases/download/v1.16.0/trojan-linux-amd64.tar.xz | tar -JxO trojan/trojan > /usr/local/bin/trojan)"
sudo chmod +x /usr/local/bin/trojan
sudo systemctl restart trojan

5. 结论

通过以上步骤,您已经成功搭建了一个 Trojan 节点。Trojan 的强大之处在于它能够通过 HTTPS 隐藏流量,使其难以被检测和封锁。希望本教程对您有所帮助。