
字
字节笔记本
2026年6月20日
TrustTunnel:AdGuard VPN 开源的 HTTPS 混淆 VPN 协议
API中转
¥120
TrustTunnel 是 AdGuard VPN 原来使用的 VPN 协议,最近正式开源。它的特点是 traffic 看起来和普通 HTTPS 几乎无法区分,既能绕过深度包检测和限速,又保持了较强的隐私保护。项目包含服务端、客户端库、CLI 和 GUI 应用,服务端用 Rust 写成,目前已经有 3.3k stars。
项目简介
TrustTunnel 是一个现代开源 VPN 协议, originally developed by AdGuard VPN。它的设计目标是在不牺牲速度和稳定性的前提下,让 VPN 流量看起来就像普通 HTTPS 流量,从而绕过基于 DPI 的识别和封锁。
项目包含三个主要部分:
- TrustTunnel Endpoint:服务端(本仓库)
- TrustTunnel Client:CLI 客户端和客户端库
- TrustTunnel Flutter Client:官方 GUI 应用
核心特性
服务端
- 协议兼容 HTTP/1.1、HTTP/2 和 QUIC:模拟常规 HTTPS 流量,难以被检测和封锁
- 多种流量隧道:支持 TCP、UDP、ICMP 流量转发
- 跨平台:服务端支持 Linux 和 macOS
- 灵活部署:原生、Docker、systemd 都支持
- 自动 TLS 证书:内置 Let's Encrypt ACME 支持
- 连接过滤规则:可按客户端 IP、TLS random prefix、TLS random with mask 过滤连接
客户端
- 系统级 VPN 或 SOCKS5 代理:可任选一种模式
- Split Tunneling:支持按域名或 IP 排除/仅代理特定流量
- 自定义 DNS Upstream:支持普通 DNS、DoH、DoT、DoQ
- Kill Switch:断线时阻断流量
- 多平台:Linux、macOS、Windows、Android、iOS
技术栈
- 服务端语言:Rust(占比 91.2%)
- 客户端:Rust 核心 + Flutter GUI
- 协议:基于 HTTP/HTTPS/QUIC 的自定义 VPN 协议
- 证书:Let's Encrypt ACME 或自签名证书
- 部署方式:systemd、Docker、Docker Compose
安装指南
安装服务端
bash
curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh -s -默认安装到 /opt/trusttunnel,支持 linux-x86_64、linux-aarch64、macos-universal。安装指定版本:
bash
curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh -s - -V <version>更新服务端
bash
sudo systemctl stop trusttunnel
curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh | sh -s -
sudo systemctl start trusttunnel安装 CLI 客户端
bash
curl -fsSL https://raw.githubusercontent.com/TrustTunnel/TrustTunnelClient/refs/heads/master/scripts/install.sh | sh -s -默认安装到 /opt/trusttunnel_client。
快速开始
1. 配置服务端
进入安装目录并运行配置向导:
bash
cd /opt/trusttunnel/
sudo ./setup_wizard向导会询问:
- 监听地址(原生部署用
0.0.0.0:443) - 用户名/密码
- 连接过滤规则
- 证书来源(Let's Encrypt / 自签名 / 现有证书)
2. 启动服务端
bash
cd /opt/trusttunnel/
cp trusttunnel.service.template /etc/systemd/system/trusttunnel.service
sudo systemctl daemon-reload
sudo systemctl enable --now trusttunnel3. 导出客户端配置
生成 deep-link(适合移动端和 QR 码):
bash
cd /opt/trusttunnel/
./trusttunnel_endpoint vpn.toml hosts.toml -c <client_name> -a <address>生成 TOML(适合 CLI 客户端):
bash
./trusttunnel_endpoint vpn.toml hosts.toml -c <client_name> -a <public_ip> --format toml4. 启动客户端
bash
cd /opt/trusttunnel_client/
sudo ./trusttunnel_client -c trusttunnel_client.tomlWindows 需要以管理员身份运行。
使用示例
自定义服务器显示名和 DNS
bash
./trusttunnel_endpoint vpn.toml hosts.toml -c phone -a vpn.example.com \
--name "Home VPN" \
--dns-upstream 1.1.1.1 \
--dns-upstream tls://8.8.8.8自动续期 Let's Encrypt 证书
如果用 Certbot 管理证书,参考仓库里的 CERT_RENEWAL.md 配置自动续期和重载服务。
Docker 部署
仓库提供 Dockerfile 和 docker-compose.yml:
bash
docker compose up -d客户端选择
| 类型 | 项目 | 平台 |
|---|---|---|
| 官方 CLI | TrustTunnel Client | Linux、macOS、Windows |
| 官方 GUI | TrustTunnel Flutter Client | iOS、Android |
| 社区 GUI | Trusty | Windows 稳定,macOS alpha |
| 社区 GUI | TrustTunnel-GUI-Client | Windows |
| 网络工具 | Surge | macOS、iOS(商业,实验性支持) |
| 社区 GUI | FireTunnel | 跨平台 QT |
注意事项
- 目前 Flutter GUI 客户端还不支持自签名证书,测试时建议用 Let's Encrypt 或 CLI 客户端。
- 服务端需要 root/sudo 权限来管理 TLS 证书和 TUN 接口。
- 如果 Let’s Encrypt 申请失败,检查 80 端口是否对外开放,或者 DNS TXT 记录是否正确配置。
- 社区客户端非官方维护,功能和安全性需自行评估。
- 项目还在活跃开发中,路线图包括客户端之间的 peer-to-peer 通信。
项目链接
- GitHub 仓库:https://github.com/TrustTunnel/TrustTunnel
- 官方网站:https://trusttunnel.org/
- 服务端安装脚本:https://raw.githubusercontent.com/TrustTunnel/TrustTunnel/refs/heads/master/scripts/install.sh
- 客户端仓库:https://github.com/TrustTunnel/TrustTunnelClient
- 配置文档:CONFIGURATION.md
- 协议规范:PROTOCOL.md
分享: