2026-04-21 18:20:43 +00:00
|
|
|
|
[English](/README.md) | [فارسی](/README.fa_IR.md) | [العربية](/README.ar_EG.md) | [中文](/README.zh_CN.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md)
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2024-11-21 17:18:30 +00:00
|
|
|
|
<p align="center">
|
|
|
|
|
|
<picture>
|
|
|
|
|
|
<source media="(prefers-color-scheme: dark)" srcset="./media/3x-ui-dark.png">
|
|
|
|
|
|
<img alt="3x-ui" src="./media/3x-ui-light.png">
|
|
|
|
|
|
</picture>
|
|
|
|
|
|
</p>
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-09-19 08:29:34 +00:00
|
|
|
|
[](https://github.com/MHSanaei/3x-ui/releases)
|
|
|
|
|
|
[](https://github.com/MHSanaei/3x-ui/actions)
|
|
|
|
|
|
[](#)
|
|
|
|
|
|
[](https://github.com/MHSanaei/3x-ui/releases/latest)
|
|
|
|
|
|
[](https://www.gnu.org/licenses/gpl-3.0.en.html)
|
feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes
- Traffic-writer single-consumer queue (web/service/traffic_writer.go)
serialises every DB write that touches up/down/all_time/last_online
(AddTraffic, SetRemoteTraffic, Reset*, UpdateClientTrafficByEmail) so
overlapping goroutines can no longer clobber each other's column-scoped
Updates with a stale tx.Save.
- DB pool: WAL + busy_timeout=10s + synchronous=NORMAL + _txlock=
immediate, MaxOpenConns=8 / MaxIdleConns=4. The immediate-tx PRAGMA
fixes residual "database is locked [0ms]" cases where deferred-tx
writer-upgrade conflicts bypass busy_timeout.
- SetRemoteTraffic full-mirrors node-authoritative state into central:
settings JSON, remark, listen, port, total, expiry, all_time, enable,
plus per-client total/expiry/reset/all_time. Inbounds and
client_traffics rows present on node but missing from central are
created; rows missing from snap are deleted (with cascading
client_traffics removal).
- NodeTrafficSyncJob detects structural changes from the mirror and
broadcasts invalidate(inbounds) so open central UIs re-fetch via REST
on node-side add/del/edit without manual refresh.
- XrayTrafficJob broadcasts invalidate(inbounds) when auto-disable flips
client_traffics.enable so the per-client toggle reflects depletion
without manual refresh.
- Frontend: inbounds page now subscribes to the BroadcastInbounds 'inbounds'
WS event (full-list pushes from add/del/update controllers were silently
dropped). Fixes invalidate payload field (dataType -> type). Restart-
panel modal switched from Promise-wrap to onOk-only so Cancel actually
cancels.
- Node files trimmed of stale prose-comments; cron cadence dropped
10s -> 5s to match the inbounds page UX.
- README badges and Go module path bumped v2 -> v3 to match module rename.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 14:25:23 +00:00
|
|
|
|
[](https://pkg.go.dev/github.com/mhsanaei/3x-ui/v3)
|
|
|
|
|
|
[](https://goreportcard.com/report/github.com/mhsanaei/3x-ui/v3)
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-06-05 11:56:33 +00:00
|
|
|
|
**3X-UI** — 一个基于网页的高级开源控制面板,专为管理 Xray-core 服务器而设计。它提供了用户友好的界面,用于配置和监控各种 VPN 和代理协议。
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-06-05 11:56:33 +00:00
|
|
|
|
> [!IMPORTANT]
|
|
|
|
|
|
> 本项目仅用于个人使用和通信,请勿将其用于非法目的,请勿在生产环境中使用。
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-06-05 11:56:33 +00:00
|
|
|
|
作为原始 X-UI 项目的增强版本,3X-UI 提供了更好的稳定性、更广泛的协议支持和额外的功能。
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-06-05 11:56:33 +00:00
|
|
|
|
## 快速开始
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
|
|
|
|
|
```
|
2025-06-10 15:47:31 +00:00
|
|
|
|
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
|
2024-08-28 09:30:49 +00:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-06-05 11:56:33 +00:00
|
|
|
|
完整文档请参阅 [项目Wiki](https://github.com/MHSanaei/3x-ui/wiki)。
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-06-05 11:56:33 +00:00
|
|
|
|
## 特别感谢
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-06-05 11:56:33 +00:00
|
|
|
|
- [alireza0](https://github.com/alireza0/)
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-06-05 11:56:33 +00:00
|
|
|
|
## 致谢
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-06-05 11:56:33 +00:00
|
|
|
|
- [Iran v2ray rules](https://github.com/chocolate4u/Iran-v2ray-rules) (许可证: **GPL-3.0**): _增强的 v2ray/xray 和 v2ray/xray-clients 路由规则,内置伊朗域名,专注于安全性和广告拦截。_
|
|
|
|
|
|
- [Russia v2ray rules](https://github.com/runetfreedom/russia-v2ray-rules-dat) (许可证: **GPL-3.0**): _此仓库包含基于俄罗斯被阻止域名和地址数据自动更新的 V2Ray 路由规则。_
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-06-05 11:56:33 +00:00
|
|
|
|
## 支持项目
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-06-05 11:56:33 +00:00
|
|
|
|
**如果这个项目对您有帮助,您可以给它一个**:star2:
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-09-18 18:08:56 +00:00
|
|
|
|
<a href="https://www.buymeacoffee.com/MHSanaei" target="_blank">
|
|
|
|
|
|
<img src="./media/default-yellow.png" alt="Buy Me A Coffee" style="height: 70px !important;width: 277px !important;" >
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
|
|
|
|
</br>
|
|
|
|
|
|
<a href="https://nowpayments.io/donation/hsanaei" target="_blank" rel="noreferrer noopener">
|
|
|
|
|
|
<img src="./media/donation-button-black.svg" alt="Crypto donation button by NOWPayments">
|
|
|
|
|
|
</a>
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2025-06-05 11:56:33 +00:00
|
|
|
|
## 随时间变化的星标数
|
2024-08-28 09:30:49 +00:00
|
|
|
|
|
2026-04-21 18:20:43 +00:00
|
|
|
|
[](https://starchart.cc/MHSanaei/3x-ui)
|