Cuty的碎片空间
28 subscribers
3 photos
8 files
10 links
会发些奇怪的东西
Download Telegram
整理了一套适配 Clash Verge Rev / Mihomo 的分流规则,分为完整版和轻量版。完整版适合喜欢细分策略组、单独控制常见服务流量的人;轻量版更适合日常稳定使用,分组更少、更省心。整体重点放在 DNS 防泄露、常用场景分流稳定,以及节点地区识别优化上,尽量做到规则清晰、行为可预期、后续也方便自己维护。
DNS Switcher Pro,一个轻量级 Windows 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
Cuty的碎片空间 pinned «新增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…»
Cuty的碎片空间
https://github.com/Chunlion/VPS-Optimize
VPS-Optimize 的 443 端口复用已经做成完整单入口方案了。
公网只开放 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 入站仍按本地监听填写。第一次使用时先运行 主菜单 [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 不会也不能靠它判断路径。
https://github.com/Chunlion/Clash_Rule-Set
新增
新增 家宽节点 策略组,同步到完整版与 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
1
Cuty的碎片空间
https://github.com/Chunlion/Clash_Rule-Set 新增 新增 家宽节点 策略组,同步到完整版与 Lite 版的 YAML / JS。 AI Services 优先选择 家宽节点,其次再走美区相关节点。 家宽节点 图标使用 home icon。 README 新增完整版与 Lite 版节点分组对比表,并补充 emoji 标识。 调整 家宽节点 放在欧洲分组下面、其他分组上面。 家宽节点可同时存在于对应地区分组和家宽分组。 家宽匹配仅按家宽关键词过滤,不再把美国节点作为家宽组回落。…
新增 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
猫猫TProxy_Go.js
442.4 KB
Go 语言重构版,兼容性更好
BUG 反馈@cuty_contact_bot
项目地址:欢迎 Star
Chunlion_Rule-Set_DNS-Leak_Lite.js
20.4 KB
🚀 Clash Rule-Set v8(07.28)已发布
新增全局均衡
优化地区节点识别
增强 DNS、hosts 与嗅探兼容
优化规则源及自动校验
详细更新内容:点击此处
猫猫TProxy.js
521.2 KB
📦 猫猫TProxy 更新
主要更新:
• Go 辅助内核正常时优先使用 Go 加速
• Go 不可用时自动切回 Shell,不影响基础代理
• Go helper 更新到本地内置 0.3.2,体积降至约 2.56 MB
• 初次安装优先使用本地包
• 更新优先从 Gitee 下载,失败再用本地包
• 只安装比设备当前版本更高的 helper
• 不绑定固定版本、文件大小或 SHA256
• 安装后自动显示 Go helper 版本并点亮按钮
• helper 异常时显示“Shell模式”
• Web 面板密码增加显示/隐藏按钮
• 取消 yq 固定指纹限制
• 优化冷启动恢复、启动快照和故障转移

8.14更新:修复面板更新不加载问题

BUG 反馈@cuty_contact_bot
项目地址:欢迎 Star