VPS-Optimize 最近完成了一轮功能增强,重点优化了 3x-ui / Caddy / REALITY / 订阅服务 的整体部署逻辑。
这次新增的核心能力是:443 单入口分流方案。
新的架构下:
公网 443 仅由 Nginx stream 监听
按 SNI 分流到面板、展示站或 REALITY
Caddy 仅负责本地 TLS 终止与反代
3x-ui 面板、订阅服务、REALITY inbound 默认全部只监听本地
不再依赖 Xray fallback 分流网站
面板与订阅外链会统一生成标准 https://域名/ 和 https://域名/sub/
这样做的优势很明确:
结构更清晰:面板、节点、展示站的入口职责彻底分离
安全性更高:公网暴露面更小,面板和本地服务不再直接裸露
兼容性更好:避免 Caddy、3x-ui、REALITY 互相抢占 443
排障更方便:访问链路固定,问题定位更直接
除 443 单入口外,这次也同步补充了几项实用功能:
SublinkPro Docker 一键部署,支持自定义端口
新增 233boy Sing-box / 233boy Xray 一键脚本入口
dog.sh 端口流量统计支持区分:
用户单向实际用量
端口双向统计
VPS 商家整机流量口径
对于需要同时维护 3x-ui、REALITY、反代、订阅转换 的场景,这套 443 单入口分流方案会更稳,也更适合长期维护。
这次新增的核心能力是:443 单入口分流方案。
新的架构下:
公网 443 仅由 Nginx stream 监听
按 SNI 分流到面板、展示站或 REALITY
Caddy 仅负责本地 TLS 终止与反代
3x-ui 面板、订阅服务、REALITY inbound 默认全部只监听本地
不再依赖 Xray fallback 分流网站
面板与订阅外链会统一生成标准 https://域名/ 和 https://域名/sub/
这样做的优势很明确:
结构更清晰:面板、节点、展示站的入口职责彻底分离
安全性更高:公网暴露面更小,面板和本地服务不再直接裸露
兼容性更好:避免 Caddy、3x-ui、REALITY 互相抢占 443
排障更方便:访问链路固定,问题定位更直接
除 443 单入口外,这次也同步补充了几项实用功能:
SublinkPro Docker 一键部署,支持自定义端口
新增 233boy Sing-box / 233boy Xray 一键脚本入口
dog.sh 端口流量统计支持区分:
用户单向实际用量
端口双向统计
VPS 商家整机流量口径
对于需要同时维护 3x-ui、REALITY、反代、订阅转换 的场景,这套 443 单入口分流方案会更稳,也更适合长期维护。
整理了一套适配 Clash Verge Rev / Mihomo 的分流规则,分为完整版和轻量版。完整版适合喜欢细分策略组、单独控制常见服务流量的人;轻量版更适合日常稳定使用,分组更少、更省心。整体重点放在 DNS 防泄露、常用场景分流稳定,以及节点地区识别优化上,尽量做到规则清晰、行为可预期、后续也方便自己维护。
Cuty的碎片空间
https://github.com/Chunlion/VPS-Optimize
新增TCP Peek + Splice 分流引擎
- 保留 nginx_stream 作为默认稳定 443 单入口引擎
- 新增 experimental tcp_peek 引擎设计
- 引入 vpso-mux 作为独立 TCP SNI 分流器
- 使用 MSG_PEEK 读取 TLS ClientHello,避免消费首包
- 按 SNI 分流到 Caddy 或 Xray 本地后端
- 支持按路由配置 IPv4/IPv6/CIDR 白名单
- 支持 splice 零拷贝转发,并在失败时回退到普通 copy
- 使用 8444 作为 vpso-mux 测试入口端口
- 保留 8443 作为 Caddy 本地 HTTPS 后端端口
- 保留 1443 作为 Xray/REALITY 本地后端端口
- 增加 dry-run、测试模式、端口占用检查和回滚设计
- 补充 openssl、curl --connect-to 和 REALITY 客户端测试流程
对系统性能的占用会更小,暂未实际测试,可能会有未知BUG
- 保留 nginx_stream 作为默认稳定 443 单入口引擎
- 新增 experimental tcp_peek 引擎设计
- 引入 vpso-mux 作为独立 TCP SNI 分流器
- 使用 MSG_PEEK 读取 TLS ClientHello,避免消费首包
- 按 SNI 分流到 Caddy 或 Xray 本地后端
- 支持按路由配置 IPv4/IPv6/CIDR 白名单
- 支持 splice 零拷贝转发,并在失败时回退到普通 copy
- 使用 8444 作为 vpso-mux 测试入口端口
- 保留 8443 作为 Caddy 本地 HTTPS 后端端口
- 保留 1443 作为 Xray/REALITY 本地后端端口
- 增加 dry-run、测试模式、端口占用检查和回滚设计
- 补充 openssl、curl --connect-to 和 REALITY 客户端测试流程
对系统性能的占用会更小,
Cuty的碎片空间
https://github.com/Chunlion/VPS-Optimize
VPS-Optimize 的 443 端口复用已经做成完整单入口方案了。
公网只开放
也就是说,不再让 3x-ui、Caddy、订阅工具、网站、REALITY 一起抢公网 443。
当前支持三种入口模式:
Nginx Stream:默认稳定模式,基于 SNI 四层分流
TCP Peek + Splice:进阶模式,自研
Xray Fallback:特殊场景使用,只适合面板中只有一个443端口入站,由 Xray 接管公网 443 后 fallback 到 Caddy
脚本还集成了:
443 链路体检
网络访问测试
Caddy / 证书维护
域名 IP 白名单
网站/反代域名管理
备份与回滚
更新 sha256 校验
公网只开放
443,脚本按 SNI 自动分流:panel.example.com -> Caddy -> 3x-ui 面板
sub.example.com -> Caddy -> 订阅服务
site.example.com -> Caddy -> 网站/反代
REALITY SNI -> Xray / 3x-ui REALITY
未知 SNI -> 默认 REALITY 后端
也就是说,不再让 3x-ui、Caddy、订阅工具、网站、REALITY 一起抢公网 443。
当前支持三种入口模式:
Nginx Stream:默认稳定模式,基于 SNI 四层分流
TCP Peek + Splice:进阶模式,自研
vpso-mux,读取 ClientHello SNI,不消费首包,优先 splice 零拷贝转发,性能更好,对服务器负担更小Xray Fallback:特殊场景使用,只适合面板中只有一个443端口入站,由 Xray 接管公网 443 后 fallback 到 Caddy
脚本还集成了:
443 链路体检
网络访问测试
Caddy / 证书维护
域名 IP 白名单
网站/反代域名管理
备份与回滚
更新 sha256 校验
❤1
TCP Peek + Splice / vpso-mux 实现原理
TCP Peek + Splice / vpso-mux 和 Nginx Stream 使用同一套 443 单入口配置。Web 域名、证书、Web 反代引擎后端、Web 白名单和 Xray SNI 分流记录都不需要另起一套;3x-ui 面板、订阅和 Xray 入站仍按本地监听填写。第一次使用时先运行
TCP Peek 的连接生命周期
一次客户端连接进入
这里最关键的是
所以 TCP Peek 不是 TLS 终止,也不是中间人解密:
它不持有、不选择、不签发证书。
它不读取 HTTP 路径、Header、WebSocket 内容或 TLS 加密后的应用层数据。
证书和 HTTP 反代仍由当前 Web 反代引擎负责;Xray/REALITY 节点流量仍由 Xray/3x-ui 本地入站负责。
它只依赖 TLS 握手明文阶段里的 SNI 来做四层分流。
ClientHello 里到底看什么
TLS 连接开始时,客户端会先发送 ClientHello。ClientHello 仍是明文结构,其中通常包含
实现上会先 peek 约 4 KiB 数据。如果 ClientHello 没收完整,会继续扩大 peek 缓冲,最多到 16 KiB,并受
这也是为什么本方案适合 HTTPS/TLS/SNI 流量,不适合按 HTTP path 或明文协议内容分流。到了 TLS 握手之后,应用层内容已经加密,
TCP Peek + Splice / vpso-mux 和 Nginx Stream 使用同一套 443 单入口配置。Web 域名、证书、Web 反代引擎后端、Web 白名单和 Xray SNI 分流记录都不需要另起一套;3x-ui 面板、订阅和 Xray 入站仍按本地监听填写。第一次使用时先运行
主菜单 [19 443 单入口管理中心] -> [16] 查看 TCP Peek + Splice 状态 / 8444 预检,确认 vpso-mux 能在 8444 启动并转发;再运行 [17] TCP Peek 分流规则校验。只有用户随后执行 [5] 切换到 TCP Peek + Splice 模式,公网 443 才会从 Nginx Stream 切到 vpso-mux。vpso-mux 使用 MSG_PEEK 查看 TLS ClientHello 中的 SNI,不消费首包;后端收到的 ClientHello 仍与客户端原始数据一致。转发优先使用 splice,失败或不可用时回退普通 copy。TCP Peek 的连接生命周期
一次客户端连接进入
vpso-mux 后,大致按下面的顺序处理:客户端 TCP 连接
-> vpso-mux accept
-> recv(MSG_PEEK) 只查看接收缓冲区里的 ClientHello
-> 从 ClientHello 扩展里解析 SNI
-> 按 SNI 和源 IP 白名单选择 backend
-> dial 后端本地端口
-> 双向转发原始 TCP 字节流
这里最关键的是
MSG_PEEK。普通 recv 会把数据从 socket 接收缓冲区取走,后续转发时需要把已经读走的首包重新写给后端;MSG_PEEK 只是“看一眼”,不会移动读取位置。因此 vpso-mux 解析完 SNI 后,客户端发来的 TLS ClientHello 仍然留在原 socket 缓冲区里。后端连接建立后,第一批被转发过去的字节仍是客户端原始 ClientHello。所以 TCP Peek 不是 TLS 终止,也不是中间人解密:
它不持有、不选择、不签发证书。
它不读取 HTTP 路径、Header、WebSocket 内容或 TLS 加密后的应用层数据。
证书和 HTTP 反代仍由当前 Web 反代引擎负责;Xray/REALITY 节点流量仍由 Xray/3x-ui 本地入站负责。
它只依赖 TLS 握手明文阶段里的 SNI 来做四层分流。
ClientHello 里到底看什么
TLS 连接开始时,客户端会先发送 ClientHello。ClientHello 仍是明文结构,其中通常包含
server_name 扩展,也就是浏览器或代理客户端想访问的域名。vpso-mux 只解析这部分字段:TLS record
-> record type = handshake
-> handshake type = ClientHello
-> extensions
-> server_name extension
-> hostname SNI
实现上会先 peek 约 4 KiB 数据。如果 ClientHello 没收完整,会继续扩大 peek 缓冲,最多到 16 KiB,并受
timeouts.peek 控制,脚本默认写入 3s。解析出的 SNI 会统一转成小写,并去掉末尾的点,例如 Panel.Example.COM. 会变成 panel.example.com。如果数据不是 TLS ClientHello、ClientHello 不完整、没有 SNI,或者协议本身不带 SNI,就不会命中特定域名规则,后续按默认后端处理。这也是为什么本方案适合 HTTPS/TLS/SNI 流量,不适合按 HTTP path 或明文协议内容分流。到了 TLS 握手之后,应用层内容已经加密,
vpso-mux 不会也不能靠它判断路径。GitHub
GitHub - Chunlion/Clash_Rule-Set: Mihomo内核分流规则
Mihomo内核分流规则. Contribute to Chunlion/Clash_Rule-Set development by creating an account on GitHub.
https://github.com/Chunlion/Clash_Rule-Set
新增
新增
README 新增完整版与 Lite 版节点分组对比表,并补充 emoji 标识。
调整
家宽节点可同时存在于对应地区分组和家宽分组。
家宽匹配仅按家宽关键词过滤,不再把美国节点作为家宽组回落。
README 中服务策略组、区域策略组说明已同步当前配置。
新增
新增
家宽节点 策略组,同步到完整版与 Lite 版的 YAML / JS。AI Services 优先选择 家宽节点,其次再走美区相关节点。家宽节点 图标使用 home icon。README 新增完整版与 Lite 版节点分组对比表,并补充 emoji 标识。
调整
家宽节点 放在欧洲分组下面、其他分组上面。家宽节点可同时存在于对应地区分组和家宽分组。
家宽匹配仅按家宽关键词过滤,不再把美国节点作为家宽组回落。
README 中服务策略组、区域策略组说明已同步当前配置。
TProxy_F50.js
345 KB
7.14更新:这一版本修了一下上传模板会出现Failed to fetch的问题,问题最少的版本👍
7.18更新:解决了更新订阅耗时很长以及控制API响应慢的问题,真正的问题最少的版本
BUG反馈:@cuty_contact_bot
7.18更新:解决了更新订阅耗时很长以及控制API响应慢的问题,
BUG反馈:
❤1
Cuty的碎片空间
https://github.com/Chunlion/Clash_Rule-Set 新增 新增 家宽节点 策略组,同步到完整版与 Lite 版的 YAML / JS。 AI Services 优先选择 家宽节点,其次再走美区相关节点。 家宽节点 图标使用 home icon。 README 新增完整版与 Lite 版节点分组对比表,并补充 emoji 标识。 调整 家宽节点 放在欧洲分组下面、其他分组上面。 家宽节点可同时存在于对应地区分组和家宽分组。 家宽匹配仅按家宽关键词过滤,不再把美国节点作为家宽组回落。…
新增
Lite 版新增
Lite 版已补齐完整分流组,如有需要可以自行修改Yaml文件启用。
注意
原
Crypto 加密货币分流组,使用独立图标与加密货币规则集。Lite 版新增
PayPal 金融分流组。Lite 版已补齐完整分流组,如有需要可以自行修改Yaml文件启用。
Wise 分流组调整为 PayPal 金融分流。PayPal 现在覆盖 PayPal、Wise 及其他金融平台规则。注意
原
Wise 策略组已移除;升级后请在客户端中重新选择 PayPal 分组的节点。Crypto 可单独选择节点,不影响其他金融平台流量。猫猫TProxy.js
410.1 KB
7.21优化:精简策略设置,规则统一由配置模板管理;重整网络规则、设备直连及故障修复分类;保留旧配置兼容,继续支持 iptables/ip6tables 的 legacy/nft 后端。
7.22更新:精简约 12.8% 冗余代码,修复潜在隐患并全面优化策略与订阅性能。
7.27更新:修复误判核心带来的 Tproxy 规则黑洞问题。
BUG反馈:@cuty_contact_bot
项目地址:欢迎 Star
7.22更新:精简约 12.8% 冗余代码,修复潜在隐患并全面优化策略与订阅性能。
7.27更新:修复误判核心带来的 Tproxy 规则黑洞问题。
BUG反馈:
项目地址:欢迎 Star