2026-04-21 20:20:43 +02: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 )
2025-02-03 20:30:42 +01: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>
2025-09-19 10:29:34 +02: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 16:25:23 +02:00
[](https://pkg.go.dev/github.com/mhsanaei/3x-ui/v3)
[](https://goreportcard.com/report/github.com/mhsanaei/3x-ui/v3)
2025-02-03 20:30:42 +01:00
2025-06-05 18:56:33 +07:00
**3X-UI** — یک پنل کنترل پیشرفته مبتنی بر وب با کد باز که برای مدیریت سرور Xray-core طراحی شده است. این پنل یک رابط کاربری آسان برای پیکربندی و نظارت بر پروتکلهای مختلف VPN و پراکسی ارائه میدهد.
2025-02-03 20:30:42 +01:00
2025-06-05 18:56:33 +07:00
> [!IMPORTANT]
> این پروژه فقط برای استفاده شخصی و ارتباطات است، لطفاً از آن برای اهداف غیرقانونی استفاده نکنید، لطفاً از آن در محیط تولید استفاده نکنید.
2025-02-03 20:30:42 +01:00
2025-06-05 18:56:33 +07:00
به عنوان یک نسخه بهبود یافته از پروژه اصلی X-UI، 3X-UI پایداری بهتر، پشتیبانی گستردهتر از پروتکلها و ویژگیهای اضافی را ارائه میدهد.
2025-02-03 20:30:42 +01:00
2025-06-05 18:56:33 +07:00
## شروع سریع
2025-02-03 20:30:42 +01:00
```
2025-06-10 19:17:31 +03:30
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
2025-02-03 20:30:42 +01:00
```
2025-06-05 18:56:33 +07:00
برای مستندات کامل، لطفاً به [ویکی پروژه ](https://github.com/MHSanaei/3x-ui/wiki ) مراجعه کنید.
2025-02-03 20:30:42 +01:00
2025-06-05 18:56:33 +07:00
## تشکر ویژه از
2025-02-03 20:30:42 +01:00
2025-06-05 18:56:33 +07:00
- [alireza0 ](https://github.com/alireza0/ )
2025-02-03 20:30:42 +01:00
2025-06-05 18:56:33 +07:00
## قدردانی
2025-02-03 20:30:42 +01:00
2025-06-05 18:56:33 +07: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 بهروزرسانی شده خودکار بر اساس دادههای دامنهها و آدرسهای مسدود شده در روسیه است. _
2025-02-03 20:30:42 +01:00
2025-06-05 18:56:33 +07:00
## پشتیبانی از پروژه
2025-02-03 20:30:42 +01:00
2025-06-05 18:56:33 +07:00
**اگر این پروژه برای شما مفید است، میتوانید به آن یک**:star2: بدهید
2025-02-03 20:30:42 +01:00
2025-09-18 20:08:56 +02: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>
2025-02-03 20:30:42 +01:00
2025-06-05 18:56:33 +07:00
## ستارهها در طول زمان
2025-02-03 20:30:42 +01:00
2026-04-21 20:20:43 +02:00
[](https://starchart.cc/MHSanaei/3x-ui)