MHSanaei/3x-ui v3.10.2
本次版本以“Shadowsocks 客户端热更新(不再断连)、节点同步负载优化、vmess 链接完整导入”为核心,同时修复 Xray 崩溃日志、Clash Hysteria2 订阅与订阅路由泄漏问题,并更换 Windows 可执行文件名以降低杀软误报。
新增能力
- MTProto 握手限制:MTProto inbound 现在暴露 sidecar 的“每 IP 待处理握手数上限”,当某地址已持有该数量的未认证握手时,拒绝其新连接,避免单一 IP 饿死其他客户端(
b177b98c)。仅在设置为大于 0 时才会写入配置。
- Windows 可执行文件改名:由
x-ui.exe 改为 3x-ui.exe,附带版本信息、manifest 与 3X 图标,降低启发式杀毒检测(db8b01b8)。
- 赞助商页面重做:Sponsors 页面只列出真实赞助商并使用更大卡片,侧边栏赞助位被移除(
6f1dd0d7)。
性能与体验改进
- Shadowsocks 热更新:多用户 Shadowsocks inbound(含 2022 ciphers)上新增、编辑、续期、重置、自动禁用客户端,改为原地应用,不再重启 inbound、不再断掉该端口上所有活跃连接(
a66b360c)。
- 节点同步负载:5 秒一次的节点流量合并现在只写入真正发生变化的行,并停止在多个 inbound 之间反复翻转共享客户端字段;大规模多节点环境下续期一个客户端不再因同步写入而变慢或超时(
f8b72de9)。
- Windows 内置 OpenSSL 更新至 4.0.3(MSI installer)(
c45ffcda)。
- 降低面板指纹:面板获取赞助数据的请求不再通过 TLS SNI 暴露服务器运行 3x-ui,改用广泛共享的主机名、路径放在 TLS 内部(
35b5e098)。
- 赞助商长标题与描述现在会在卡片内换行,不再溢出到相邻卡片(
319e6932)。
修复
- Xray 崩溃报告:崩溃日志现在保存完整的 panic 与 traceback,不再是 7 字节的占位内容;每份报告使用唯一文件名;面板日志中普通提到 “panic” 的日志行不再被吞掉(
760f428c)。
- vmess 链接导入(XHTTP):链接中的 XHTTP 设置(session/sequence placement、padding obfuscation、xmux 等)现在能正常导入,来自订阅或外部链接的 XHTTP outbound 可以连接(#6808,@jayhemnani9910)。
- vmess 链接导入(mKCP):现在会导入 mKCP 的 header、seed、MTU/TTI 与 finalmask,来自订阅、外部链接或链接导入的 mKCP outbound 可以连接(#6809,@jayhemnani9910)。
- Clash 订阅:Hysteria2 Gecko 混淆现在导出其 packet-size range,而非单纯的 salamander,使这类客户端能完成握手(
cb4f2ec9)。
- 订阅路由泄漏:客户端专属订阅路由不再把一个客户端 App 的 routing headers 泄漏到另一个客户端的响应中,共享 JSON routing profile 仍会同时下发(#6810,@mvanhorn)。
Breaking Change / 升级注意事项
- ⚠️ 需要手动操作:Windows 发布 zip 现在提供的是
3x-ui.exe 而非 x-ui.exe。请更新任何启动 x-ui.exe 的 service definition、计划任务、快捷方式或脚本,替换文件后删除旧的可执行文件。
- 无需操作:已有 MTProto inbound 生成的配置字节级一致、不会被重启;面板侧边栏不再显示赞助卡片,赞助商只在 Sponsors 页面出现。
- 依赖要求:Go 1.27.2 · Xray-core v26.10.10。
- 完整变更对比:v3.10.0...v3.10.2。
▸ Release Notes 英文原文(4907 字符)
## 🚀 Live Shadowsocks Client Edits, Lighter Node Sync & Complete vmess Link Import
- 🔄 **Shadowsocks hot apply** — Client changes on multi-user Shadowsocks inbounds no longer drop every live connection on the port.
- 🗄️ **Node sync load** — The 5-second node traffic merge now writes only rows that actually changed, ending slow or timed-out client renews on large multi-node setups.
- 🔗 **vmess link import** — XHTTP, mKCP and finalmask settings in vmess links now survive import, so imported outbounds connect.
- 🛡️ **MTProto handshake limit** — A new per-IP cap on pending handshakes keeps one address from starving other clients.
- 💥 **Core crash reports** — Xray crash logs now contain the full panic and traceback instead of a 7-byte stub.
- 🪟 **Windows build** — The Windows executable is now `3x-ui.exe` with version info and an icon, reducing antivirus false positives.
- 🕵️ **Less panel fingerprinting** — Sponsor data is fetched from a shared hostname that no longer identifies a server as running the panel.
---
## ⚠️ Before you upgrade
### Action required
- The Windows release zip now ships `3x-ui.exe` instead of `x-ui.exe` — **do this:** update any service definition, scheduled task, shortcut or script that launches `x-ui.exe`, and remove the old executable after replacing the files.
### Automatic — no action needed
- Existing MTProto inbounds render a byte-identical config and are not restarted; the new handshake limit is written only when set above 0.
- The panel sidebar no longer shows a sponsor card; sponsors appear only on the Sponsors page.
### Requirements
Go 1.27.2 · Xray-core v26.10.10
---
### 🔐 Security
- The panel's sponsor-data fetch no longer reveals in the TLS SNI that a server is running 3x-ui; it now uses a widely shared hostname with the path kept inside TLS ([`35b5e098`](https://github.com/MHSanaei/3x-ui/commit/35b5e098))
### 🆕 New
- MTProto inbounds expose the sidecar's per-IP pending-handshake limit, closing new connections from an address that already holds that many unauthenticated handshakes ([`b177b98c`](https://github.com/MHSanaei/3x-ui/commit/b177b98c))
- The Windows executable is renamed to `3x-ui.exe` and carries version info, a manifest and the 3X icon, which lowers heuristic antivirus detections ([`db8b01b8`](https://github.com/MHSanaei/3x-ui/commit/db8b01b8))
- The Sponsors page lists only real sponsors in larger cards, and the sidebar sponsor slot is removed ([`6f1dd0d7`](https://github.com/MHSanaei/3x-ui/commit/6f1dd0d7))
### ⚡ Improved
- The bundled OpenSSL for Windows is updated to 4.0.3 (MSI installer) ([`c45ffcda`](https://github.com/MHSanaei/3x-ui/commit/c45ffcda))
### 🐞 Fixed
**Xray & inbounds**
- Adding, editing, renewing, resetting or auto-disabling a client on a multi-user Shadowsocks inbound (including 2022 ciphers) is applied in place instead of restarting the inbound and dropping live connections ([`a66b360c`](https://github.com/MHSanaei/3x-ui/commit/a66b360c))
- Xray crash reports capture the whole panic and traceback, each report gets a unique file name, and ordinary log lines mentioning "panic" are no longer swallowed from the panel log ([`760f428c`](https://github.com/MHSanaei/3x-ui/commit/760f428c))
**Nodes**
- The node traffic merge skips unchanged client rows and stops flipping shared client fields between inbounds, so renewing a client on many inbounds no longer times out behind sync writes ([`f8b72de9`](https://github.com/MHSanaei/3x-ui/commit/f8b72de9))
**Links & subscriptions**
- vmess links now import their XHTTP settings (session/sequence placement, padding obfuscation, xmux and more), so XHTTP outbounds from subscriptions or external links connect ([#6808](https://github.com/MHSanaei/3x-ui/pull/6808)) @jayhemnani9910
- vmess links now import the mKCP header, seed, MTU/TTI and finalmask, so mKCP outbounds from subscriptions, external links or the link import connect ([#6809](https://github.com/MHSanaei/3x-ui/pull/6809)) @jayhemnani9910
- Clash subscriptions export Hysteria2 Gecko obfuscation with its packet-size range instead of plain salamander, so those clients can complete the handshake ([`cb4f2ec9`](https://github.com/MHSanaei/3x-ui/commit/cb4f2ec9))
- Client-specific subscription routing no longer leaks one client app's routing headers into another's response, while the shared JSON routing profile is still sent to both ([#6810](https://github.com/MHSanaei/3x-ui/pull/6810)) @mvanhorn
**Panel**
- Long sponsor titles and descriptions wrap inside their card instead of spilling onto neighbouring cards ([`319e6932`](https://github.com/MHSanaei/3x-ui/commit/319e6932))
---
### Reports

**Full Changelog**: https://github.com/MHSanaei/3x-ui/compare/v3.10.0...v3.10.2