banner
约 1,200 字
4 分钟

TrustTunnel 服务端完整部署教程

摘要

基于 AdGuard 开源的新一代代理协议,流量与标准 HTTPS 完全无法区分。本文记录从零开始部署 TrustTunnel 服务端,并接入 mihomo v1.19.21 客户端的完整过程。

一、TrustTunnel 简介

TrustTunnel 是 AdGuard 于 2026 年初开源的现代代理协议,核心设计目标是让代理流量与普通 HTTPS 流量完全无法区分。自 mihomo v1.19.21 起已原生支持该协议的入站与出站。

主要特点:

  • 流量伪装极强:基于 HTTP/2 / HTTP/3 over TLS,DPI 无法有效识别

  • 原生 UDP 支持:同时监听 TCP/UDP 443 端口,适合游戏、视频等场景

  • 连接复用:多路复用设计,减少握手延迟,在移动网络下表现稳定

  • 标准 TLS 1.3:支持 Let's Encrypt 证书自动申请,无需自定义加密方案


二、部署前准备

开始前请确认以下条件:

  • 一台具有公网 IP 的 Linux 服务器(Ubuntu / Debian 均可)

  • 一个解析到该服务器公网 IP 的域名(用于 TLS 证书申请)

  • 防火墙 / 安全组已放行 80 端口(ACME 验证)和 443 端口(代理服务)

验证域名解析是否正确

bash
# 查看服务器公网 IP
curl -4 https://icanhazip.com

# 查看域名解析结果(两者应一致)
nslookup 你的域名

⚠️ 注意:如域名解析 IP 与服务器 IP 不一致,请先在 DNS 服务商处修改 A 记录,等待生效后再继续。


三、安装 TrustTunnel

使用官方一键安装脚本(需要 root 权限):

bash
curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh

安装完成后,程序文件位于 /opt/trusttunnel/ 目录下:

  • trusttunnel_endpoint — 主程序

  • setup_wizard — 交互式配置向导

  • trusttunnel.service.template — systemd 服务模板


四、运行配置向导

root 用户 home 目录下运行配置向导:

bash
/opt/trusttunnel/setup_wizard

向导会依次询问以下内容,按下表填写:

配置项

推荐填写

说明

监听地址

0.0.0.0:443(默认)

直接回车即可

凭据文件路径

credentials.toml(默认)

直接回车即可

用户名

自定义,如 admin

记住,客户端连接要用

密码

强密码

建议用 openssl rand -base64 16 生成

规则文件路径

rules.toml(默认)

直接回车即可

是否配置过滤规则

no

个人使用无需配置,允许所有连接

主配置文件路径

vpn.toml(默认)

直接回车即可

证书获取方式

Let's Encrypt

有公网域名选此项

域名

你的域名

需已解析到服务器 IP

邮箱

你的邮箱

用于证书到期通知

验证方式

HTTP-01

80 端口可访问时选此项

使用测试环境

no

直接申请正式有效证书

备用 SNI

no

无需配置

TLS 配置文件路径

hosts.toml(默认)

直接回车即可

向导完成后,在当前目录生成以下文件:

  • vpn.toml — 主配置文件

  • hosts.toml — TLS 配置文件

  • credentials.toml — 用户凭据

  • rules.toml — 过滤规则

  • certs/cert.pem — TLS 证书

  • certs/key.pem — TLS 私钥


五、导出客户端 URI

向导完成后,导出客户端连接 URI(部分客户端可直接导入):

bash
# 将 admin 替换为你的用户名,vpn.xxx.com 替换为你的域名
/opt/trusttunnel/trusttunnel_endpoint vpn.toml hosts.toml -c admin -a vpn.xxx.com

输出结果类似:

纯文本
tt://?AQ90bi54aWFvYmFvMDMudGsFBWFkbWluBgthZG1pbjEy...

💡 提示:请妥善保存这段 URI,AdGuard 官方 Flutter 客户端及部分支持 TrustTunnel 的工具可直接使用。


六、配置 systemd 开机自启

由于 systemd 服务模板中 WorkingDirectory 指向 /opt/trusttunnel/,需先将配置文件移动过去:

bash
mv ~/vpn.toml ~/hosts.toml ~/credentials.toml ~/rules.toml /opt/trusttunnel/
mv ~/certs /opt/trusttunnel/

复制服务文件并启动:

bash
cp /opt/trusttunnel/trusttunnel.service.template /etc/systemd/system/trusttunnel.service
systemctl daemon-reload
systemctl enable --now trusttunnel

验证服务状态:

bash
systemctl status trusttunnel

看到以下输出即表示运行正常:

纯文本
Active: active (running) ...
Listening to TCP 0.0.0.0:443
Listening to UDP 0.0.0.0:443

✅ 服务已设置为开机自启,重启服务器后无需手动启动。


七、mihomo 客户端配置

在 mihomo 的 config.yaml 中添加以下内容:

YAML
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info

dns:
  enable: true
  listen: 0.0.0.0:1053
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
  fallback:
    - 8.8.8.8
    - 1.1.1.1

proxies:
  - name: "TrustTunnel"
    type: trusttunnel
    server: 你的域名
    port: 443
    username: 你的用户名
    password: 你的密码
    tls: true
    sni: 你的域名

proxy-groups:
  - name: "Proxy"
    type: select
    proxies:
      - TrustTunnel
      - DIRECT

rules:
  - DOMAIN-SUFFIX,cn,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,Proxy

⚠️ 注意:TrustTunnel 在 mihomo 中的支持于 v1.19.21 刚刚加入,配置字段以 wiki.metacubex.one 更新后的官方文档为准。


八、常用管理命令

服务管理

bash
systemctl start trusttunnel      # 启动
systemctl stop trusttunnel       # 停止
systemctl restart trusttunnel    # 重启
systemctl status trusttunnel     # 查看状态
journalctl -fu trusttunnel       # 实时查看日志

添加新用户

bash
# 编辑凭据文件
nano /opt/trusttunnel/credentials.toml

# 新增用户后重启服务使配置生效
systemctl restart trusttunnel

九、配置信息汇总

配置项

说明

服务端域名

你的域名

监听端口

443(TCP + UDP)

用户名

你设置的用户名

密码

你设置的密码

证书路径

/opt/trusttunnel/certs/cert.pem

私钥路径

/opt/trusttunnel/certs/key.pem

开机自启

✅ 已通过 systemd 配置

mihomo 最低版本

v1.19.21

END

相关文章

暂无相关文章

© 2026 作者. All Rights Reserved. / RSS / Sitemap
Powered by Tanstack Start & Flare Stack Blog