Sign inSign up

jonnyan404/trusttunnel

By jonnyan404

Updated 16 days ago

Image
2

4.5K

jonnyan404/trusttunnel repository overview

VPS推荐

https://app.cloudcone.com/?ref=13965

项目地址

https://github.com/TrustTunnel/TrustTunnel

  • 默认运行服务端,支持证书变更后自动重启
  • 支持客户端(仅socks模式),启用需打开TRUSTTUNNEL_MODE注释
change log
  • 2026年09月05日 更新版本v1.1.0,其它日志请看页面底部

caddy示例

# docker-compose.yml
services:
  trusttunnel:
    image: jonnyan404/trusttunnel:latest
    container_name: trusttunnel
    restart: always
    ports:
      - "19444:19444"
      - "19444:19444/udp" # quic需要
      - "19445:19445" # 客户端socks5代理端口
      - "19445:19445/udp" # 客户端socks5代理端口UDP
      - "80:80" # caddy
      - "443:443" # caddy
    environment:
      CADDY_DOMAINS: "" # 非空则启用容器内 Caddy 并自动申请证书;支持多个域名用空格分割,支持CF CDN域名
      NAIVE_USER_MM: "admin 123" # Caddy的naive协议用户名和密码(用空格分割),可选
      TROJAN_MM: "" # Trojan协议的密码,支持CF CDN域名,可选
      SS_MM: "" # ss协议的密码,支持CF CDN域名,可选
      #SS_PATH: "" # ss路径,默认值:"showtime-sleep"

      ### 下面是TT服务端和客户端共用配置
      FAKE_HOSTNAME: "" # fake域名,不懂可忽略
      ### 下面是TT服务端相关配置
      TRUSTTUNNEL_LISTEN_HOST: "[::]" # 默认值`[::]`,同时监听v4和v6
      TRUSTTUNNEL_LISTEN_PORT: "19444"
      CERT_WATCH_PATHS: "/certs/caddy/certificates/acme-v02.api.letsencrypt.org-directory/xxx.example.com" # 证书监控,变更会自动重启服务端(默认/certs)
      TRUSTTUNNEL_HOSTNAME: "xxx.example.com"
      TRUSTTUNNEL_CERT_CHAIN_PATH: "/certs/caddy/certificates/acme-v02.api.letsencrypt.org-directory/xxx.example.com/xxx.example.com.crt"
      TRUSTTUNNEL_PRIVATE_KEY_PATH: "/certs/caddy/certificates/acme-v02.api.letsencrypt.org-directory/xxx.example.com/xxx.example.com.key"
      TRUSTTUNNEL_CLIENTS: "alice:123,bob:456" # 用户名:密码 多个用逗号分隔
      TRUSTTUNNEL_ARGS: "vpn.toml hosts.toml" # 自定义配置文件
      ### 下面是TT客户端相关配置,服务端模式下可留空
      #TRUSTTUNNEL_MODE: "client" # "server" 或 "client"(默认值server)
      TRUSTTUNNEL_CLIENT_ENDPOINT_HOSTNAME: "" # 服务端域名
      TRUSTTUNNEL_CLIENT_ENDPOINT_ADDRESSES: "" # 服务端IP地址+端口,例:1.2.3.4:19444
      TRUSTTUNNEL_CLIENT_ENDPOINT_USERNAME: "" # 服务端用户名
      TRUSTTUNNEL_CLIENT_ENDPOINT_PASSWORD: "" # 服务端密码
      TRUSTTUNNEL_CLIENT_SOCKS_ADDRESS: "" # 客户端socks5代理地址,默认值:0.0.0.0:19445,监听0.0.0.0时必须设置用户名和密码
      TRUSTTUNNEL_CLIENT_SOCKS_USERNAME: "" # 客户端socks5代理用户名,默认值:jonnyan404
      TRUSTTUNNEL_CLIENT_SOCKS_PASSWORD: "" # 客户端socks5代理密码,默认值:jonnyan404
      #TRUSTTUNNEL_CLIENT_CONFIG_PATH: "" # 客户端配置文件路径,默认值:/app/config/client.toml
    volumes:
      - ./caddy:/certs: # 持久化caddy证书
      - ./config:/app/config # 配置持久化(容器会在 /app/config 下生成/修改 vpn.toml、hosts.toml、credentials.toml)

外部certbot示例

# docker-compose.yml
services:
  trusttunnel:
    image: jonnyan404/trusttunnel:latest
    container_name: trusttunnel
    restart: always
    ports:
      - "19444:19444"
      - "19444:19444/udp" # quic需要
      - "19445:19445" # 客户端socks5代理端口
      - "19445:19445/udp" # 客户端socks5代理端口UDP
    environment:
      ### 下面是TT服务端和客户端共用配置
      FAKE_HOSTNAME: "" # fake域名,不懂可忽略
      ### 下面是TT服务端相关配置
      TRUSTTUNNEL_LISTEN_HOST: "[::]" # 默认值`[::]`,同时监听v4和v6
      TRUSTTUNNEL_LISTEN_PORT: "19444"
      CERT_WATCH_PATHS: "/certs/live/xxx.example.com" # 证书监控,变更会自动重启服务端(默认/certs)
      TRUSTTUNNEL_HOSTNAME: "xxx.example.com" # 域名和证书需要自己外部维护,下面示例使用certbot路径
      TRUSTTUNNEL_CERT_CHAIN_PATH: "/certs/live/xxx.example.com/fullchain.pem"
      TRUSTTUNNEL_PRIVATE_KEY_PATH: "/certs/live/xxx.example.com/privkey.pem"
      TRUSTTUNNEL_CLIENTS: "alice:123,bob:456" # 用户名:密码 多个用逗号分隔
      TRUSTTUNNEL_ARGS: "vpn.toml hosts.toml" # 自定义配置文件
      ### 下面是TT客户端相关配置,服务端模式下可留空
      #TRUSTTUNNEL_MODE: "client" # "server" 或 "client"(默认值server)
      TRUSTTUNNEL_CLIENT_ENDPOINT_HOSTNAME: "" # 服务端域名
      TRUSTTUNNEL_CLIENT_ENDPOINT_ADDRESSES: "" # 服务端IP地址+端口,例:1.2.3.4:19444
      TRUSTTUNNEL_CLIENT_ENDPOINT_USERNAME: "" # 服务端用户名
      TRUSTTUNNEL_CLIENT_ENDPOINT_PASSWORD: "" # 服务端密码
      TRUSTTUNNEL_CLIENT_SOCKS_ADDRESS: "" # 客户端socks5代理地址,默认值:0.0.0.0:19445,监听0.0.0.0时必须设置用户名和密码
      TRUSTTUNNEL_CLIENT_SOCKS_USERNAME: "" # 客户端socks5代理用户名,默认值:jonnyan404
      TRUSTTUNNEL_CLIENT_SOCKS_PASSWORD: "" # 客户端socks5代理密码,默认值:jonnyan404
      #TRUSTTUNNEL_CLIENT_CONFIG_PATH: "" # 客户端配置文件路径,默认值:/app/config/client.toml
    volumes:
      - /etc/letsencrypt:/certs:ro # 证书目录:宿主机下存放证书的目录certbot示例
      - ./config:/app/config # 配置持久化(容器会在 /app/config 下生成/修改 vpn.toml、hosts.toml、credentials.toml)

FAQ

Q: TT服务端不启动 A: 检查证书相关路径,如果有自定义配置,一样检查证书路径是否正确

history

2026年03月06日
- 升级TT服务端->1.0.13,客户端->1.0.19,之后无功能变更将不在更新日志,默认升级各组件版本

2026年03月04日
- 升级tt服务端到1.0.12,客户端到1.0.17版本并合并测试版功能

2026年03月01日
- 1. test版本增加`SS_MM`和`SS_PATH`变量设置ss密码和ss路径(可忽略,默认值为:showtime-sleep),明文URI链接参考:`ss://aes-256-gcm:你的密码@域名(支持cf cdn域名):443/?plugin=v2ray-plugin;path=showtime-sleep;host=你的域名;tls`

2026年02月27日 
- 1. 新增tt的URI链接打印和fake域名支持,升级caddy版本. 
- 2. 监听地址变更为同时支持v4和v6,注意参考示例配置设置相关变量或者注释相关变量

2026年02月17日 
- 1. 集成caddy自动申请证书和naive/trojan,可通过docker日志查看uri链接

2026年02月13日
- 1. 启动前进行证书检测,没有证书会拒绝启动
- 2. 修复证书监控的bug

Tag summary

Content type

Image

Digest

sha256:18d77f115

Size

115.7 MB

Last updated

16 days ago

docker pull jonnyan404/trusttunnel