当前位置:首页 > 工具 > 正文内容

Trojan服务器搭建与配置

代码老兵 工具 2026年2月28日 45

一、整体架构(先对齐认知)

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 → 流量伪装到 nginx

  • password 就是 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 → 测试延迟


相关文章

Tailscale 的详细用法

Tailscale 是一种基于 WireGuard 协议 的 零配置 VPN(虚拟私有网络)服务,让设备之间能够 安全、加密地直接连接,就像它们在同一个本地网络一样。它的核心特点是 简单、安全、跨平台。Tailscale 非常适合 没有公网 IP、两台电脑不在同一局域网 的场景。 简单来说,Tailscale 是什么?Tailscale 是一款让你的各种设备(电脑、服务器、手机...

Clash Tun 模式 导致 爱快(iKuai SD-Wan)内网域名无法访问

一、Clash  DNS 配置dns:  enable: true  listen: 0.0.0.0:53  ipv6: true  enhanced-mode: redir-host  nameserver:    - 223.5.5.5    - 223.6.6.6iKuai 内网域名 ...

深入解析Node.js运行环境与异步I/O架构

深入解析Node.js运行环境与异步I/O架构

核心定义与价值Node.js本质上是一个JavaScript运行环境,而非编程语言或应用框架。它赋予了JavaScript脱离浏览器在服务端、命令行工具及网络应用中执行的能力。其核心意义在于:用单一语言打通前后端开发壁垒。基于事件驱动与非阻塞I/O的架构特性,Node.js在处理API网关、实时通信及微服务等I/O密集型场景时表现卓越,已成为现代后端工程的主流选择。浏览器沙箱限制1995年Java...

ADO.NET SQL参数化查询的最佳实践

在 ADO.NET 中执行 SQL 查询时,参数化查询是一种关键的安全措施和性能优化手段。它通过将 SQL 命令和用户提供的数据分开处理,有效防止了 SQL 注入攻击,并有助于数据库缓存执行计划。下面总结了几种常用的参数化查询方式。 1. 使用 SqlParameter 对象(推荐) 这是最推荐的参数化查询方式。通过显式创建 SqlParameter 对象,您可以精确控制参数的类...

基于ELK的日志集中化分析系统搭建

构建统一日志管理平台的必要性 在分布式架构中,各服务节点独立运行,日志分散存储于不同主机。传统通过命令行工具如grep、awk逐个检索日志的方式,在数据量庞大时效率极低,难以实现快速定位问题。为提升运维效率,需建立集中式日志处理体系,具备日志采集、传输、存储、分析与告警能力。 ELK技术栈核心组件解析 Elasticsearch:分布式搜索引擎,支持全文检索、实时数据分析和高可用集群部署,...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。