Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

基于 Docker 容器架构的 Trojan/VLESS/VMess TCP/WS TLS 分流部署&管理脚本

License

NotificationsYou must be signed in to change notification settings

h31105/deployX.sh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub top languageGitHub release (latest by date)FOSSA StatusCodacy BadgeChat on Telegram

基于 Docker 容器架构的 Trojan-Go/VLESS/VMess-TCP/WS-TLS 分流部署&管理脚本

本方案采用 TSP 进行 TLS 前置分流,后端使用 Trojan-Go、V2Ray 容器与 WatchTower、Portainer 维护组件配合,实现快速部署、易用易维护的极致体验。

特别提示 在脚本部署过程中,除引用必要的官方源外,其他所有配置操作、数据处理皆为本地执行无任何外部连接参与数据交换

使用简介

  1. 安装 Wget(当检测到已经安装时,会跳过,请继续执行第二步)

Centos 7+

command -v wget>/dev/null2>&1|| sudo yum -y install wget

Debian 9+ | Ubuntu 16+

command -v wget>/dev/null2>&1|| sudo apt -y install wget
  1. 下载并执行脚本
wget -N --no-check-certificate -q https://raw.githubusercontent.com/h31105/deployX.sh/master/deploy.sh&& \chmod +x deploy.sh&& bash deploy.sh

提醒 由于 1.10+ 版本改动较多,使用 1.00 以前版本脚本部署的环境,与新版脚本存在配置兼容性问题,请在脚本升级后,根据提示重新安装 TLS-Shunt-Proxy 来完成新版本的配置适配。(更新内容详见 Release 页面)

    ——————————————————————部署管理——————————————————————    1.  安装 TLS-Shunt-Proxy(网站&自动管理证书)    2.  安装 Trojan-Go TCP/WS 代理(容器)    3.  安装 V2Ray TCP/WS 代理(容器)    4.  安装 WatchTower(自动更新容器)    5.  安装 Portainer(Web管理容器)    ——————————————————————配置修改——————————————————————    6.  修改 TLS 端口/域名    7.  修改 Trojan-Go 代理配置    8.  修改 V2Ray 代理配置    ——————————————————————查看信息——————————————————————    9.  查看 配置信息    10. 查看 分享/订阅 链接    ——————————————————————杂项管理——————————————————————    11. 升级 TLS-Shunt-Proxy/Docker 基础平台    12. 卸载 已安装的所有组件    13. 安装 4合1 BBR 锐速脚本    14. 运行 SuperSpeed 测速脚本    0.  退出脚本     ————————————————————————————————————————————————————

协议、CDN 及客户端支持状况

ProtocolTransportMUXDirectCDNQv2ray①ShadowrocketClashv2rayN(G)
VLESSTCP-TLS
VLESSWS-TLS
VMessTCP-TLS
VMessWS-TLS
Trojan②TCP-TLS
Trojan-GoTCP-TLS
Trojan-GoWS-TLS

✅完全支持 ❌不支持

Qv2Ray 客户端需根据协议类型安装对应插件及核心,才能正常使用。

Trojan-Go 兼容原版 Trojan 协议。

可同时部署 Trojan-Go 和 V2Ray 服务端,最大支持共用分流 2 种 WS-TLS 和 2 种 TCP-TLS(协议类型按需自由组合)

部署建议

脚本部署的完整架构拓扑如下图所示:

  • TLS-Shunt-Proxy 负责证书全自动管理和网站服务(HTTPS 默认 443 HTTP 80 自动跳转)

  • Trojan-Go 容器化部署 (支持 WebSocket)

  • V2Ray 容器化部署(VLESS/VMess 协议)

  • 容器的镜像由 WatchTower 监控并自动更新(建议安装)

    *WatchTower 无需额外配置,已配置为自动更新容器并清理过期镜像

  • Portainer 基于 Web 的 Docker 管理服务(可选)

    *Portainer 安装后,请尽快访问管理地址设置管理帐号和密码。HTTP://ServerDomainName:9080(非 HTTPS)

  • 由于 TSP 的 SNI 分流特性,若需配置 CDN 建议使用 A 记录方式,CNAME 方式不被支持。

    CDN 配置:域名 -- A 记录 --> VPS IP#这里的域名与脚本部署时填写的 TLS 域名相同

注意 本脚本为单用户配置,部署后可以自行按需修改代理配置文件内容,但修改后不要使用脚本菜单中的修改选项,否则将会重置相关配置信息。

注意 请根据部署情况调整开启防火墙端口,例如 HTTP 80、9080 及 HTTPS 443 端口。

开启 CDN 加速需要注意

  1. 仅需在直连线路状况不太理想的情况下开启,否则开启 CDN并不一定会带来加速效果。

  2. CDN 加速开启后,TSP 所管理的证书可能无法完成自动续签,应对办法:

    *请在证书过期前 30 天内,手动暂停 CDN 加速后重启 TSP 完成证书续签。

    #重启 TSP 触发证书续签systemctl restart tls-shunt-proxy#查看日志,观察证书续签结果journalctl -u tls-shunt-proxy.service --since today

    *如果您的域名解析服务支持分线路设置 DNS 记录(例如 Aliyun、DNSpod),可通过设置境外线路解析为 VPS IP,其他线路解析为 CDN 记录来解决此问题。

  3. 由于 CDN仅支持 加速 WebSocket 模式代理,在开启 CDN 加速后,为确保所有模式代理均可正常使用,客户端需要根据脚本生成的配置信息相应调整

    通过客户端服务器地址的不同配置,来控制是否通过 CDN 加速:

    *TCP 模式代理客户端(不通过 CDN 加速)服务器地址 (ServerAddress) 设置为VPS IP 地址任意指向该 IP 地址的域名(其他配置不变)

    *WebSocket 模式代理客户端(通过 CDN 加速)服务器地址 (ServerAddress) 设置为域名任意支持 Anycast 的 CDN 节点 IP(其他配置不变)

日志查看

TLS-Shunt-Proxy 日志查看

  • 查看所有日志:journalctl -u tls-shunt-proxy.service
  • 查看当天日志:journalctl -u tls-shunt-proxy.service --since today

容器日志查看

  • 查看 Trojan-Go 日志

    最近 30 分钟日志:docker logs --since 30m Trojan-Go

  • 查看 V2Ray 日志

    最近 100 行日志:docker logs --tail=100 V2Ray

  • 查看 WatchTower 日志

    指定时间后日志:docker logs --since="2020-09-01T10:10:00" WatchTower

  • 查看 Portainer 日志

    指定时间段日志:docker logs --since="2020-09-05T10:10:00" --until "2020-09-05T12:00:00" Portainer

自定义配置以及容器重启

在某些情况下,我们可能需要自定义修改代理配置文件(非脚本方式修改配置),我们需要在修改后,重启代理容器使配置生效。

例如:重启 V2Ray 容器:docker restart V2Ray

注意 请确认您对 TLS-Shunt-Proxy 以及 Trojan-Go/V2Ray 代理的配置方式、工作原理足够了解,否则不要自定义修改相关配置文件。

配置文件

  • WebSite:/home/wwwroot/
  • TLS-Shunt-Proxy:/etc/tls-shunt-proxy/config.yaml
  • Trojan-Go:/etc/trojan-go/config.json
  • V2Ray:/etc/v2ray/config.json

致谢

Stargazers over time

Stargazers over time


[8]ページ先頭

©2009-2025 Movatter.jp