开启 3 天免费试用
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。


本篇 Trojan 代理服务器搭建采用 Xray-core v26.3.27、你控制的域名和有效 TLS 证书。先建立受限测试入口,再分别验证代理转发、TLS 可用性、错误凭据、撤销和恢复;作者未完成端到端部署实验。
关键要点
- 无合法域名、匹配证书或独立管理通道就停止。
- 固定一种实现,不把 Trojan-gfw 或 Trojan-rs 命令混入 Xray。
- 保持证书校验,本地 SOCKS 只监听回环地址。
- 回落网站有响应不代表代理认证成功。
- 续期、重启、凭据撤销和回退需要分别验收。
预留服务器前,先读自建网络责任指南。参考环境是专用且未使用的 Ubuntu 24.04 LTS 主机,独立授权客户端运行同一 Xray 版本。示例只转发明确配置的 TCP 应用,不证明全设备 DNS、IPv6、UDP 或 TUN 覆盖。
Trojan 协议说明另讲机制。协议将密码派生的认证值及请求放在 TLS 内。[1]固定版本支持以下字段,但对 Trojan 发出弃用警告;固定版本用于说明示例,不代表可以忽略维护或未来移除。[3]需求或客户端支持不同,可先比较 VLESS/REALITY 与 Trojan 的取舍。
文档匹配不能称作实测兼容。本例客户端是同版本官方 Xray core,避免猜测第三方应用导入格式。换客户端前核对其官方协议、传输、TLS 名称和认证字段,再自行完成验收。
使用自有或明确获授权运营的域名,经既有获准 DNS 流程指向服务器。通过授权签发机构或 ACME 流程取得该名称的有效证书。签发方式随服务商而变,是部署前提,不能借用第三方网站身份或内容。
开放监听前检查 Trojan TLS 证书链、有效期、私钥配对和续期负责人。域名或证书缺失、过期或不匹配就停止,不能用 insecure、跳过校验、网上共享秘密或无关名称证书补救。
盘点监听、服务、安装路径、防火墙管理器和恢复控制台。预留服务器 TCP 18443 与客户端回环 TCP 10808。高端口避免特权端口需求,但仍要审查运行 capabilities。Xray、安装路径、服务身份或端口已属于其他任务时,停止全新安装路线,另行审查迁移。
维护期间保留独立管理。服务商及主机初始入站只允许授权测试客户端地址。无限制出站能访问宿主可达目标,因此使用没有敏感内部路由的隔离主机,或先部署经审查的目标访问策略;认证本身不限制目的地。
官方 tag 为 v26.3.27。[5]先把官方安装脚本下载为文件,审查下载、文件写入、服务和用户变更及移除行为,记录上游修订。安装脚本独立于核心 tag 滚动更新;shell 语法通过不代表可信。[6]
以下是专用主机上的读者操作,不是作者已执行结果。审查脚本、确认路径和身份未占用后,才进行特权安装:
curl --fail --location --proto '=https' --proto-redir '=https' \
--output install-release.sh \
https://raw.githubusercontent.com/XTLS/Xray-install/main/install-release.sh
less install-release.sh
bash -n install-release.sh
sudo adduser --system --group --no-create-home xray-lab
sudo bash install-release.sh install --version v26.3.27 --install-user xray-lab
sudo systemctl disable --now xray.service
sudo systemctl is-enabled xray.service
/usr/local/bin/xray version
sudo systemctl cat xray.service
全新安装会启动并启用服务。disable --now 停止且取消开机启用,检查应显示 disabled。从实际单元确认 /usr/local/bin/xray、/usr/local/etc/xray/config.json 和运行用户 xray-lab。路径异常、root 运行或版本不同都是停止条件,不能凭默认值继续。
私密终端生成唯一高熵临时密码,例如 openssl rand -hex 32。只存受保护配置,不放 shell 参数、截图或工单。以后每设备单独凭据,便于撤销。此 tag 入站为 clients[].password,不能混入 VLESS UUID、Vision flow 或 REALITY 密钥。[3]
替换服务端 JSON 全部大写占位符。SERVER_LISTEN_IPV4 必须实际分配在本机,服务商 NAT 公网地址未必可绑定。把证书链和私钥放在所列私有路径,允许 xray-lab 读取,目录 root:xray-lab、750,文件 640。不要全局放宽签发工具目录,应由续期负责人部署专用受保护副本。
{
"log": {"access": "none", "loglevel": "warning"},
"inbounds": [{
"tag": "trojan-lab", "listen": "SERVER_LISTEN_IPV4", "port": 18443,
"protocol": "trojan",
"settings": {"clients": [{"password": "DISPOSABLE_PASSWORD", "email": "lab-device"}]},
"streamSettings": {
"network": "raw", "security": "tls",
"tlsSettings": {"certificates": [{
"certificateFile": "/usr/local/etc/xray/tls/fullchain.pem",
"keyFile": "/usr/local/etc/xray/tls/privkey.pem"
}]}
}
}],
"outbounds": [{"protocol": "freedom", "tag": "direct"}]
}
配置文件同样设 root:xray-lab、640,目录 750。用 sudo -u xray-lab /usr/local/bin/xray run -test -config /usr/local/etc/xray/config.json 校验,再只启动专用 xray.service 并检查 ss -lntp。语法通过不证明监听、认证或转发;只开放经审查 TCP 入站规则,保留管理策略。
入站文档说明 Trojan 与可选回落行为。[2]本最小示例没有回落。固定传输解析器支持 raw、TLS 证书路径及客户端 serverName。[4]不要混入其他实现字段,也不要为压下错误关闭信任校验。
独立授权客户端保存以下私有 client.json,替换端点域名和相同密码。PROXY_DOMAIN 必须匹配证书。回环 SOCKS 仅 TCP;共享机其他本地用户可能访问无认证回环入口,因此用隔离客户端或经审查的本地访问控制。[8]
{
"log": {"access": "none", "loglevel": "warning"},
"inbounds": [{
"listen": "127.0.0.1", "port": 10808, "protocol": "socks",
"settings": {"auth": "noauth", "udp": false}
}],
"outbounds": [{
"protocol": "trojan",
"settings": {"address": "PROXY_DOMAIN", "port": 18443, "password": "DISPOSABLE_PASSWORD"},
"streamSettings": {
"network": "raw", "security": "tls",
"tlsSettings": {"serverName": "PROXY_DOMAIN"}
}
}]
}
client.json 仅所有者可读写,权限 600;确认 xray version,执行 xray run -test -config client.json,再在私密前台终端运行 xray run -config client.json。其他网络客户端保持原样。10808 已占用时不能终止其负责人,应在本次配置与请求中一致改为空闲端口。
授权客户端替换真实域名做证书检查。OpenSSL 文档支持主机名校验及遇校验错误返回失败。[7]这里只建立 TLS 证据,不是 Trojan 认证:
openssl s_client -connect PROXY_DOMAIN:18443 -servername PROXY_DOMAIN \
-verify_hostname PROXY_DOMAIN -verify_return_error </dev/null
检查证书链、名称、日期与验证结果。信任或名称失败就停止,修复授权证书部署,不使用免校验选项。代理转发验证时,把下列授权任务主机及路径换成自有或允许访问目标,关联目标自己的请求证据:
curl --fail --socks5-hostname 127.0.0.1:10808 https://AUTHORIZED_TASK_HOST/task
--socks5-hostname 请求 SOCKS 侧解析目标名称,不改变全设备 DNS。[9]有意验证互联网出口时,通过明确配置的测试应用检查可见出口地址,另查 DNS、IPv6 和失败策略。TCP 示例不能证明全设备接管。
| 检查 | 读者方法 | 预期现象,不是实测结果 |
|---|---|---|
| 正确身份 | 匹配密码、有效 TLS 下发起新请求 | 授权任务经预定代理到达目标 |
| 错误密码 | 仅改临时客户端密码,重启此前台客户端再请求 | 不得认证转发该任务 |
| 错误证书名称 | 恢复密码,仅将客户端 serverName 改为无关名称,重启测试客户端并发起新请求 | TLS 校验拒绝,不转发任务 |
| 恢复基线 | 恢复正确名称、密码并重启测试客户端 | 原许可任务再次可用 |
| 另配回落时 | 独立检查自有回落响应及代理任务证据 | 网站可用不能计为代理登录 |
每次修改客户端配置后,只停止本次测试启动的前台 Xray 进程,用 xray run -test -config client.json 校验,再用 xray run -config client.json 重新启动并发起新任务请求。编辑文件不会让运行进程重新载入配置。[10]错误名称案例要从私有客户端输出确认证书名称校验错误;仅有超时或认证失败,不能据此得出结论。
错误名称无需联系该域名:端点保持不变,只改 TLS 验证身份。负面案例仍转发时,关闭本次新增暴露,检查活动配置和客户端接管后再继续。不得通过接受无效证书“修复”失败案例。
指定续期负责人,记录到期监控及获准续期演练。签发成功后以相同受限权限部署匹配链与私钥,由服务身份校验,再通过专用单元应用。客户端独立检查实际提供的证书并复测新授权任务;磁盘文件已续期不证明在线服务已使用。
正负案例通过后才启用开机启动,核对启用状态,并在获准重启窗口检查版本、路径、身份、监听和新转发。没有重启授权就保留启动持久性未经验证;理解本文不需要实际重启。
撤销设备时,从持久服务端配置移除其密码项,校验,在获准中断窗口重启专用实例。重启会终止此实例所有会话,不只被移除设备。旧密码新连接必须不能转发。后续测试生成新临时密码,同时确认新密码接受、旧密码拒绝。删客户端文件或订阅不等于服务端撤销。
续期、重启或配置变更失败时,只关闭新增入站暴露,还原上一组兼容二进制、配置及仍有效证书私钥。不能从备份恢复泄露密码或已撤销私钥。独立确认原管理路径和原服务,再做尝试;没有有效证书则保持代理不可用,先修复信任。
决定谁持续维护证书与服务时,比较VPS 运维与托管 VPN 服务,不暗示托管应用可导入 Trojan 或管理此服务器。有限失败证据用Xray 服务端日志处理,结束后恢复临时日志设置。
一次性部署实验结束后,撤销测试凭据,只停止并禁用其单元,移除所属入站规则及初始盘点允许的资源。使用保留安装脚本移除前先审查其行为;共享路径即停止条件。独立确认实验前服务和管理,不能把停止命令当作清理成功。
不能按本路线部署。开放前先有合法域名和有效匹配证书。无关网站名、insecure 选项和公开共享凭据都不满足前提,应停止并另选受支持方案。
不能。本例两端固定 Xray-core v26.3.27,路径、字段和服务行为属于该实现。其他客户端官方文档先匹配协议及 TLS 要求,再另做兼容测试。
不能。TLS 或网页响应可独立于代理认证存在。需要明确客户端请求和授权目标证据。本最小服务端没有回落;添加回落会新增一条需另审的路径。
新请求不得经代理转发授权任务。只改临时密码、重启测试客户端,区分拒绝与回落响应;仍转发就停止暴露并检查活动状态,再继续。
不可以。保持验证,检查名称、链、日期、密钥配对和实际提供证书。证书错误是停止条件,错误名称测试用于证明拒绝,不是绕过理由。
不会。移除服务端客户端条目、校验,了解全会话中断后重启专用实例,再用旧身份新连接复测。回退备份不能带回泄露凭据。
保持代理不可用,通过授权签发流程修复信任。旧证书私钥只在仍有效且未泄露时才能恢复。重新检查运行服务证书和新转发,磁盘有文件并不足够。
免责声明: 本文是基于文档的操作流程,不是作者实测部署或兼容保证。仅操作授权资源及目标,遵守法律和服务商条款;域名归属、证书信任、范围或恢复无法确认时停止。
来源:
Sources checked 2026 年 10 月 11 日。
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。