Browse Source

chore: clean readme, add link to wiki (#3045)

Shishkevich D. 3 weeks ago
parent
commit
c7d315f848

+ 29 - 542
README.ar_EG.md

@@ -7,563 +7,50 @@
   </picture>
 </p>
 
-**لوحة تحكم ويب متقدمة • مبنية على Xray Core**
+[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/releases)
+[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/actions)
+[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg?style=for-the-badge)](#)
+[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/releases/latest)
+[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true&style=for-the-badge)](https://www.gnu.org/licenses/gpl-3.0.en.html)
 
-[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases)
-[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](#)
-[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#)
-[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](#)
-[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html)
+**3X-UI** — لوحة تحكم متقدمة مفتوحة المصدر تعتمد على الويب مصممة لإدارة خادم Xray-core. توفر واجهة سهلة الاستخدام لتكوين ومراقبة بروتوكولات VPN والوكيل المختلفة.
 
-> **تنبيه:** المشروع ده للتعلم الشخصي والتواصل فقط. رجاءً استخدمه بشكل قانوني.
+> [!IMPORTANT]
+> هذا المشروع مخصص للاستخدام الشخصي والاتصال فقط، يرجى عدم استخدامه لأغراض غير قانونية، يرجى عدم استخدامه في بيئة الإنتاج.
 
-**لو المشروع عجبك وساعدك، ممكن تدعمنا بعمل** :star2:
+كمشروع محسن من مشروع X-UI الأصلي، يوفر 3X-UI استقرارًا محسنًا ودعمًا أوسع للبروتوكولات وميزات إضافية.
 
-<p align="left">
-  <a href="https://buymeacoffee.com/mhsanaei" target="_blank">
-    <img src="./media/buymeacoffe.png" alt="Image">
-  </a>
-</p>
-
-- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC`
-- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A`
-- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv`
-
-## التثبيت والتحديث
-
-لتثبيت المشروع أو تحديثه، نفذ الأمر ده:
-```bash
-bash <(curl -Ls https://raw.githubusercontent.com/MHSanaei/3x-ui/refs/tags/v2.6.0/install.sh)
-```
-
-## تثبيت النسخة القديمة (مش موصى بيها)
-
-لو عايز تثبت نسخة معينة، استخدم الأمر ده، مثلاً نسخة `v1.7.9`:
-```bash
-VERSION=v1.7.9 && bash <(curl -Ls "https://raw.githubusercontent.com/mhsanaei/3x-ui/$VERSION/install.sh") $VERSION
-```
-
-## شهادة SSL
-
-<details>
-  <summary>اضغط لعرض تفاصيل شهادة SSL</summary>
+## البدء السريع
 
-### ACME
-
-عشان تدير شهادات SSL باستخدام ACME:
-
-1. تأكد إن الدومين بتاعك متربط صح بالسيرفر.
-2. شغّل أمر `x-ui` في الترمينال واختار خيار "إدارة شهادات SSL".
-3. هتلاقي الخيارات دي:
-   - **Get SSL:** الحصول على شهادة SSL.
-   - **Revoke:** إلغاء شهادة SSL موجودة.
-   - **Force Renew:** تجديد شهادة SSL بالقوة.
-   - **Show Existing Domains:** عرض كل شهادات الدومين المتوفرة على السيرفر.
-   - **Set Certificate Paths for the Panel:** تعيين مسارات الشهادة عشان البانل يستخدمها.
-
-### Certbot
-
-لتثبيت واستخدام Certbot:
-```sh
-apt-get install certbot -y
-certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com
-certbot renew --dry-run
 ```
-
-### Cloudflare
-
-السكريبت بتاع الإدارة فيه آلية مدمجة للتقديم على شهادة SSL من خلال Cloudflare. عشان تستخدمها، هتحتاج:
-- بريد إلكتروني مسجل على Cloudflare.
-- الـ Global API Key بتاع Cloudflare.
-- الدومين لازم يكون مربوط للسيرفر الحالي عن طريق Cloudflare.
-
-**كيفية الحصول على Global API Key من Cloudflare:**
-
-1. شغّل أمر `x-ui` في الترمينال واختار "Cloudflare SSL Certificate".
-2. ادخل على [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens).
-3. دوس على "View Global API Key" (شوف الصورة التوضيحية):
-   ![](media/APIKey1.PNG)
-4. يمكن تحتاج تعيد تسجيل الدخول، وبعدها هتظهر الـ API Key (شوف الصورة التوضيحية):
-   ![](media/APIKey2.png)
-
-عند الاستخدام، ادخل اسم الدومين، البريد الإلكتروني، وAPI Key. المخطط كالتالي:
-   ![](media/DetailEnter.png)
-
-</details>
-
-## التثبيت والتحديث يدويًا
-
-<details>
-  <summary>اضغط لعرض تفاصيل التثبيت اليدوي</summary>
-
-#### الاستخدام
-
-1. لتحميل أحدث نسخة من الباكدج المظغوطة مباشرة على السيرفر، نفذ الأمر التالي:
-```sh
-ARCH=$(uname -m)
-case "${ARCH}" in
-  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
-  i*86 | x86) XUI_ARCH="386" ;;
-  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
-  armv7* | armv7) XUI_ARCH="armv7" ;;
-  armv6* | armv6) XUI_ARCH="armv6" ;;
-  armv5* | armv5) XUI_ARCH="armv5" ;;
-  s390x) echo 's390x' ;;
-  *) XUI_ARCH="amd64" ;;
-esac
-
-wget https://github.com/MHSanaei/3x-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz
+$ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
 ```
 
-2. بعد تحميل الباكدج، نفذ الأوامر دي للتثبيت أو التحديث:
-```sh
-ARCH=$(uname -m)
-case "${ARCH}" in
-  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
-  i*86 | x86) XUI_ARCH="386" ;;
-  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
-  armv7* | armv7) XUI_ARCH="armv7" ;;
-  armv6* | armv6) XUI_ARCH="armv6" ;;
-  armv5* | armv5) XUI_ARCH="armv5" ;;
-  s390x) echo 's390x' ;;
-  *) XUI_ARCH="amd64" ;;
-esac
-
-cd /root/
-rm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui
-tar zxvf x-ui-linux-${XUI_ARCH}.tar.gz
-chmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh
-cp x-ui/x-ui.sh /usr/bin/x-ui
-cp -f x-ui/x-ui.service /etc/systemd/system/
-mv x-ui/ /usr/local/
-systemctl daemon-reload
-systemctl enable x-ui
-systemctl restart x-ui
-```
-
-</details>
-
-## التثبيت باستخدام Docker
-
-<details>
-  <summary>اضغط لعرض تفاصيل Docker</summary>
-
-#### الاستخدام
-
-1. **تثبيت Docker:**
-   ```sh
-   bash <(curl -sSL https://get.docker.com)
-   ```
-
-2. **نسخ مستودع المشروع:**
-   ```sh
-   git clone https://github.com/MHSanaei/3x-ui.git
-   cd 3x-ui
-   ```
-
-3. **تشغيل الخدمة:**
-   ```sh
-   docker compose up -d
-   ```
-   ممكن تضيف الخيار ```--pull always``` عشان Docker يسحب أحدث صورة لو موجودة. (راجع [مستندات Docker](https://docs.docker.com/reference/cli/docker/container/run/#pull) للمزيد من التفاصيل).
-
-   **أو**
-   ```sh
-   docker run -itd \
-      -e XRAY_VMESS_AEAD_FORCED=false \
-      -v $PWD/db/:/etc/x-ui/ \
-      -v $PWD/cert/:/root/cert/ \
-      --network=host \
-      --restart=unless-stopped \
-      --name 3x-ui \
-      ghcr.io/mhsanaei/3x-ui:latest
-   ```
-
-4. **التحديث إلى أحدث نسخة:**
-   ```sh
-   cd 3x-ui
-   docker compose down
-   docker compose pull 3x-ui
-   docker compose up -d
-   ```
-
-5. **إزالة 3x-ui من Docker:**
-   ```sh
-   docker stop 3x-ui
-   docker rm 3x-ui
-   cd --
-   rm -r 3x-ui
-   ```
-
-</details>
-
-## إعدادات Nginx
-
-<details>
-  <summary>اضغط لعرض إعدادات البروكسي العكسي (Reverse Proxy)</summary>
-
-#### Reverse Proxy باستخدام Nginx
-```nginx
-location / {
-    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header X-Forwarded-Proto $scheme;
-    proxy_set_header Host $http_host;
-    proxy_set_header X-Real-IP $remote_addr;
-    proxy_set_header Range $http_range;
-    proxy_set_header If-Range $http_if_range; 
-    proxy_redirect off;
-    proxy_pass http://127.0.0.1:2053;
-}
-```
-
-#### استخدام Nginx مع sub-path
-- تأكد إن "URI Path" في إعدادات `/sub` للبانل متطابق.
-- لازم يكون رابط `url` في إعدادات البانل منتهي بـ `/`.
-
-```nginx
-location /sub {
-    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header X-Forwarded-Proto $scheme;
-    proxy_set_header Host $http_host;
-    proxy_set_header X-Real-IP $remote_addr;
-    proxy_set_header Range $http_range;
-    proxy_set_header If-Range $http_if_range; 
-    proxy_redirect off;
-    proxy_pass http://127.0.0.1:2053;
-}
-```
-</details>
-
-## نظام التشغيل الموصى به
-
-- Ubuntu 22.04+
-- Debian 12+
-- CentOS 8+
-- OpenEuler 22.03+
-- Fedora 36+
-- Arch Linux
-- Parch Linux
-- Manjaro
-- Armbian
-- AlmaLinux 9.5+
-- Rocky Linux 9.5+
-- Oracle Linux 8+
-- OpenSUSE Tubleweed
-- Amazon Linux 2023
-- Virtuozzo Linux 8+
-- Windows x64
-
-## المعماريات والأجهزة المدعومة
-
-<details>
-  <summary>اضغط لعرض تفاصيل المعماريات والأجهزة المدعومة</summary>
-
-منصتنا بتدعم مجموعة متنوعة من المعماريات والأجهزة عشان تناسب بيئات مختلفة. أبرز المعماريات هي:
-
-- **amd64:** المعمارية القياسية للكمبيوترات الشخصية والسيرفرات.
-- **x86 / i386:** مستخدمة على نطاق واسع في أجهزة الديسكتوب واللاب توب.
-- **armv8 / arm64 / aarch64:** موجهة للأجهزة المحمولة والمضمنة زي Raspberry Pi 4, Raspberry Pi 3, Raspberry Pi Zero 2/Zero 2 W, Orange Pi 3 LTS، وغيرها.
-- **armv7 / arm / arm32:** للأجهزة المحمولة والأجهزة المضمنة القديمة، مثل Orange Pi Zero LTS, Orange Pi PC Plus, Raspberry Pi 2.
-- **armv6 / arm / arm32:** للأجهزة المضمنة القديمة جداً، زي Raspberry Pi 1, Raspberry Pi Zero/Zero W.
-- **armv5 / arm / arm32:** معمارية أقدم مرتبطة بالأنظمة المضمنة القديمة.
-- **s390x:** مستخدمة في الحواسيب الرئيسية من IBM وتوفر أداء عالي واعتمادية للمشاريع الكبيرة.
-</details>
-
-## اللغات
-
-- English (إنجليزي)  
-- Persian (فارسي)  
-- Traditional Chinese (الصيني التقليدي)  
-- Simplified Chinese (الصيني المبسط)  
-- Japanese (ياباني)  
-- Russian (روسي)  
-- Vietnamese (فيتنامي)  
-- Spanish (إسباني)  
-- Indonesian (إندونيسي)  
-- Ukrainian (أوكراني)  
-- Turkish (تركي)  
-- Português (Brazil) (برتغالي - البرازيل)
-
-## الميزات
-
-- مراقبة حالة النظام
-- البحث داخل كل الإدخالات والعملاء
-- ثيم داكن وفاتح
-- دعم تعدد المستخدمين والبروتوكولات
-- دعم بروتوكولات زي VMESS، VLESS، Trojan، Shadowsocks، Dokodemo-door، Socks، HTTP، wireguard
-- دعم بروتوكولات XTLS الأصلية مثل RPRX-Direct، Vision، REALITY
-- إحصائيات الترافيك، تحديد حد للترافيك، وتحديد فترة انتهاء الصلاحية
-- قوالب إعدادات Xray قابلة للتخصيص
-- دعم لوحة تحكم عبر HTTPS (بإستخدام الدومين الخاص وشهادة SSL)
-- دعم التقديم على شهادات SSL بلمسة واحدة والتجديد التلقائي
-- لمزيد من إعدادات التخصيص المتقدمة، راجع إعدادات البانل
-- إصلاح مسارات الـ API (سيتم إنشاء إعدادات للمستخدم مع الـ API)
-- دعم تغيير الإعدادات من خلال الخيارات المتوفرة في البانل
-- دعم تصدير/استيراد قاعدة البيانات من خلال البانل
-
-## إعدادات البانل الافتراضية
-
-<details>
-  <summary>اضغط لعرض تفاصيل الإعدادات الافتراضية</summary>
-
-### اسم المستخدم، الباسورد، البورت ومسار الويب الأساسي
-
-لو مش هتعدل الإعدادات دي، هتتولد تلقائياً (ده مش بينطبق على Docker).
-
-**الإعدادات الافتراضية لـ Docker:**
-- **اسم المستخدم:** admin
-- **الباسورد:** admin
-- **البورت:** 2053
+للحصول على الوثائق الكاملة، يرجى زيارة [ويكي المشروع](https://github.com/MHSanaei/3x-ui/wiki).
 
-### إدارة قاعدة البيانات:
+## شكر خاص إلى
 
-ممكن تعمل نسخ احتياطية واسترجاع لقاعدة البيانات مباشرة من البانل.
-
-- **مسار قاعدة البيانات:**
-  - `/etc/x-ui/x-ui.db`
-
-### المسار الأساسي للويب
-
-1. **إعادة تعيين المسار الأساسي:**
-   - افتح الترمينال.
-   - نفذ أمر `x-ui`.
-   - اختار خيار "إعادة تعيين المسار الأساسي للويب".
-
-2. **توليد أو تخصيص المسار:**
-   - المسار هيتولد تلقائياً، أو ممكن تدخل مسار مخصص.
-
-3. **عرض الإعدادات الحالية:**
-   - لمشاهدة الإعدادات الحالية، نفذ أمر `x-ui settings` في الترمينال أو استخدم خيار "عرض الإعدادات الحالية" في البانل.
-
-### توصية الأمان:
-- لتحسين الأمان، استخدم كلمة طويلة وعشوائية في مسار URL الخاص بالبانل.
-
-**مثال:**
-- `http://ip:port/*webbasepath*/panel`
-- `http://domain:port/*webbasepath*/panel`
-
-</details>
-
-## إعداد WARP
-
-<details>
-  <summary>اضغط لعرض تفاصيل إعداد WARP</summary>
-
-#### الاستخدام
-
-**لإصدارات `v2.1.0` وما بعدها:**
-
-WARP مدمج ومش محتاج تثبيت إضافي. فعل الإعدادات المطلوبة من خلال البانل.
-
-</details>
-
-## تحديد IP
-
-<details>
-  <summary>اضغط لعرض تفاصيل تحديد IP</summary>
-
-#### الاستخدام
-
-**ملحوظة:** تحديد IP ممكن مايشتغلش صح مع IP Tunnel.
-
-- **للإصدارات حتى `v1.6.1`:**
-  - تحديد IP مدمج في البانل.
-
-**للإصدارات `v1.7.0` وما بعدها:**
-
-لتفعيل وظيفة تحديد IP، هتحتاج تثبيت `fail2ban` والملفات المطلوبة من خلال الخطوات دي:
-
-1. شغل أمر `x-ui` في الترمينال واختار "إدارة تحديد IP".
-2. هتلاقي الخيارات التالية:
-   - **تغيير مدة الحظر:** لتعديل مدة الحظر.
-   - **رفع الحظر عن الجميع:** لإلغاء كل الحظر الحالي.
-   - **عرض السجلات:** لمراجعة السجلات.
-   - **حالة Fail2ban:** لمراجعة حالة fail2ban.
-   - **إعادة تشغيل Fail2ban:** لإعادة تشغيل خدمة fail2ban.
-   - **إلغاء تثبيت Fail2ban:** لإلغاء تثبيت fail2ban مع إعداداته.
-
-3. حدد مسار سجل الوصول على البانل من خلال ضبط `Xray Configs/log/Access log` على `./access.log` ثم احفظ وأعد تشغيل x-ui.
-
-- **للإصدارات قبل `v2.1.3`:**
-  - هتحتاج تضبط مسار سجل الوصول يدويًا في إعدادات Xray:
-    ```sh
-    "log": {
-      "access": "./access.log",
-      "dnsLog": false,
-      "loglevel": "warning"
-    },
-    ```
-
-- **للإصدارات `v2.1.3` وما بعدها:**
-  - في خيار لضبط `access.log` مباشرة من البانل.
-
-</details>
-
-## بوت Telegram
-
-<details>
-  <summary>اضغط لعرض تفاصيل بوت Telegram</summary>
-
-#### الاستخدام
-
-تدعم لوحة التحكم إشعارات بترافيك يومي، تسجيل الدخول للبانل، نسخ احتياطية للقاعدة، حالة النظام، معلومات العملاء، وغيرها من الوظائف عن طريق بوت Telegram. عشان تستخدم البوت، لازم تضبط معلمات البوت في البانل، ومن ضمنهم:
-- توكن Telegram
-- ID شات الأدمن (يمكن إدخال أكثر من واحد بفواصل)
-- وقت الإشعار (باستخدام صيغة cron)
-- إشعار بتاريخ انتهاء الصلاحية
-- إشعار حد الترافيك
-- نسخ احتياطية للقاعدة
-- إشعار حمل المعالج
-
-**صيغة مرجعية:**
-
-- `30 * * * * *` - إشعار عند الـ 30 ثانية من كل دقيقة.
-- `0 */10 * * * *` - إشعار عند أول ثانية من كل 10 دقايق.
-- `@hourly` - إشعار كل ساعة.
-- `@daily` - إشعار يومي (في تمام منتصف الليل).
-- `@weekly` - إشعار أسبوعي.
-- `@every 8h` - إشعار كل 8 ساعات.
-
-### ميزات بوت Telegram
-
-- تقارير دورية.
-- إشعارات عند تسجيل الدخول.
-- إشعار عند تجاوز حمل المعالج.
-- تنبيهات قبل انتهاء الصلاحية أو وصول حد الترافيك.
-- دعم قوائم تقارير العملاء لو تم إضافة اسم مستخدم Telegram للمستخدم في الإعدادات.
-- إمكانية البحث عن تقرير الترافيك باستخدام UUID (VMESS/VLESS) أو الباسورد (TROJAN) بشكل مجهول.
-- بوت يعتمد على القوائم.
-- البحث عن العملاء بالإيميل (للأدمن فقط).
-- استعراض كافة الإدخالات.
-- عرض حالة السيرفر.
-- استعراض العملاء المستنفدين.
-- استقبال النسخ الاحتياطية عند الطلب وفي التقارير الدورية.
-- بوت متعدد اللغات.
-
-### إعداد بوت Telegram
-
-- ابدأ [Botfather](https://t.me/BotFather) في حساب Telegram بتاعك:
-    ![Botfather](./media/botfather.png)
-
-- أنشئ بوت جديد باستخدام أمر /newbot: هيسألك سؤالين، اسم للبوت واسم مستخدم (لازم ينتهي بكلمة "bot").
-    ![Create new bot](./media/newbot.png)
-
-- شغل البوت اللي أنشأته. هتلاقي رابط البوت بعد كده.
-    ![token](./media/token.png)
-
-- ادخل على البانل واضبط إعدادات بوت Telegram زي ما هو موضح:
-![Panel Config](./media/panel-bot-config.png)
-
-ادخل توكن البوت في الحقل رقم 3.
-ادخل ID المستخدم في الحقل رقم 4. الحسابات اللي بالـ ID ده هيبقى ليها صلاحية الأدمن. (يمكن إدخال أكثر من واحد بفواصل)
-
-- كيفية الحصول على ID حساب Telegram؟ استخدم [هذا البوت](https://t.me/useridinfobot). شغله وهيدي الـ ID بتاعك.
-![User ID](./media/user-id.png)
-
-</details>
-
-## مسارات API
-
-<details>
-  <summary>اضغط لعرض تفاصيل مسارات API</summary>
-
-#### الاستخدام
-
-- [توثيق الـ API](https://www.postman.com/hsanaei/3x-ui/collection/q1l5l0u/3x-ui)
-- `/login` مع بيانات المستخدم باستخدام `POST`: `{username: '', password: ''}` لتسجيل الدخول.
-- المسار الأساسي لـ `/panel/api/inbounds` للعمليات التالية:
-
-| الطريقة | المسار                               | الفعل                                      |
-| :-----: | ------------------------------------ | ------------------------------------------ |
-| `GET`   | `"/list"`                           | استرجاع كل الإدخالات                      |
-| `GET`   | `"/get/:id"`                        | استرجاع إدخال بالـ id                       |
-| `GET`   | `"/getClientTraffics/:email"`       | استرجاع ترافيك عميل بالإيميل                |
-| `GET`   | `"/getClientTrafficsById/:id"`      | استرجاع ترافيك عميل بالـ id                 |
-| `GET`   | `"/createbackup"`                   | البوت بيرسل نسخة احتياطية للأدمن            |
-| `POST`  | `"/add"`                            | إضافة إدخال                               |
-| `POST`  | `"/del/:id"`                        | حذف إدخال                                 |
-| `POST`  | `"/update/:id"`                     | تحديث إدخال                               |
-| `POST`  | `"/clientIps/:email"`               | استرجاع عنوان IP للعميل                    |
-| `POST`  | `"/clearClientIps/:email"`          | مسح عنوان IP للعميل                        |
-| `POST`  | `"/addClient"`                      | إضافة عميل للإدخال                        |
-| `POST`  | `"/:id/delClient/:clientId"`        | حذف عميل باستخدام clientId\*              |
-| `POST`  | `"/updateClient/:clientId"`         | تحديث بيانات عميل باستخدام clientId\*      |
-| `POST`  | `"/:id/resetClientTraffic/:email"`   | إعادة ضبط ترافيك عميل                       |
-| `POST`  | `"/resetAllTraffics"`               | إعادة ضبط الترافيك لكل الإدخالات           |
-| `POST`  | `"/resetAllClientTraffics/:id"`     | إعادة ضبط ترافيك كل العملاء في إدخال معين    |
-| `POST`  | `"/delDepletedClients/:id"`         | حذف العملاء المستنفدين في الإدخال (-1: الكل)  |
-| `POST`  | `"/onlines"`                        | استرجاع قائمة العملاء الأونلاين (الإيميلات)   |
-
-\*- بالنسبة لحقل `clientId`:
-- استخدم `client.id` لـ VMESS و VLESS.
-- استخدم `client.password` لـ TROJAN.
-- استخدم `client.email` لـ Shadowsocks.
-
-- [![Run In Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5%26entityType%3Dcollection%26workspaceId%3Dd64f609f-485a-4951-9b8f-876b3f917124)
-</details>
-
-## المتغيرات البيئية
-
-<details>
-  <summary>اضغط لعرض تفاصيل المتغيرات البيئية</summary>
-
-#### الاستخدام
-
-| المتغير          |                    النوع                      | القيمة الافتراضية   |
-| ---------------- | :--------------------------------------------: | ------------------: |
-| XUI_LOG_LEVEL    | `"debug"` \| `"info"` \| `"warn"` \| `"error"` | `"info"`           |
-| XUI_DEBUG        |                   `boolean`                    | `false`            |
-| XUI_BIN_FOLDER   |                    `string`                    | `"bin"`            |
-| XUI_DB_FOLDER    |                    `string`                    | `"/etc/x-ui"`      |
-| XUI_LOG_FOLDER   |                    `string`                    | `"/var/log"`       |
-
-مثال:
-```sh
-XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go
-```
-
-</details>
+- [alireza0](https://github.com/alireza0/)
 
-## المعاينة
+## الاعتراف
 
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/01-overview-dark.png">
-  <img alt="3x-ui" src="./media/01-overview-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/02-inbounds-dark.png">
-  <img alt="3x-ui" src="./media/02-inbounds-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/03-add-inbound-dark.png">
-  <img alt="3x-ui" src="./media/03-add-inbound-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/04-add-client-dark.png">
-  <img alt="3x-ui" src="./media/04-add-client-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/05-settings-dark.png">
-  <img alt="3x-ui" src="./media/05-settings-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/06-configs-dark.png">
-  <img alt="3x-ui" src="./media/06-configs-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/07-bot-dark.png">
-  <img alt="3x-ui" src="./media/07-bot-light.png">
-</picture>
+- [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 محدثة تلقائيًا بناءً على بيانات النطاقات والعناوين المحظورة في روسيا._
 
-## شكر خاص لـ
+## دعم المشروع
 
-- [alireza0](https://github.com/alireza0/)
+**إذا كان هذا المشروع مفيدًا لك، فقد ترغب في إعطائه**:star2:
 
-## التحيات
+<p align="left">
+  <a href="https://buymeacoffee.com/mhsanaei" target="_blank">
+    <img src="./media/buymeacoffe.png" alt="Image">
+  </a>
+</p>
 
-- [Iran v2ray rules](https://github.com/chocolate4u/Iran-v2ray-rules) (الرخصة: **GPL-3.0**): _قواعد محدثة لتوجيهات v2ray/xray مع تضمين دومينات إيرانية وتركيز على الأمان وحجب الإعلانات._
-- [Russia v2ray rules](https://github.com/runetfreedom/russia-v2ray-rules-dat) (الرخصة: **GPL-3.0**): _المستودع ده بيحتوي على قواعد توجيه v2ray/xray محدثة تلقائيًا بناءً على بيانات الدومينات والعناوين المحظورة في روسيا._
+- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC`
+- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A`
+- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv`
 
-## عدد النجوم مع مرور الوقت
+## النجوم عبر الزمن
 
-[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui)
+[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui) 

+ 29 - 562
README.es_ES.md

@@ -7,583 +7,50 @@
   </picture>
 </p>
 
-**Un Panel Web Avanzado • Construido sobre Xray Core**
+[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/releases)
+[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/actions)
+[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg?style=for-the-badge)](#)
+[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/releases/latest)
+[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true&style=for-the-badge)](https://www.gnu.org/licenses/gpl-3.0.en.html)
 
-[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases)
-[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](#)
-[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#)
-[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](#)
-[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html)
+**3X-UI** — panel de control avanzado basado en web de código abierto diseñado para gestionar el servidor Xray-core. Ofrece una interfaz fácil de usar para configurar y monitorear varios protocolos VPN y proxy.
 
-> **Descargo de responsabilidad:** Este proyecto es solo para aprendizaje personal y comunicación, por favor no lo uses con fines ilegales, por favor no lo uses en un entorno de producción
+> [!IMPORTANT]
+> Este proyecto es solo para uso personal y comunicación, por favor no lo use para fines ilegales, por favor no lo use en un entorno de producción.
 
-**Si este proyecto te es útil, podrías considerar darle una**:star2:
+Como una versión mejorada del proyecto X-UI original, 3X-UI proporciona mayor estabilidad, soporte más amplio de protocolos y características adicionales.
 
-<p align="left">
-  <a href="https://buymeacoffee.com/mhsanaei" target="_blank">
-    <img src="./media/buymeacoffe.png" alt="Image">
-  </a>
-</p>
-
-- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC`
-- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A`
-- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv`
-
-## Instalar y Actualizar
+## Inicio Rápido
 
 ```
-bash <(curl -Ls https://raw.githubusercontent.com/MHSanaei/3x-ui/refs/tags/v2.6.0/install.sh)
+$ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
 ```
 
-## Instalar versión antigua (no recomendamos)
-
-Para instalar la versión deseada, utiliza el siguiente comando de instalación. Por ejemplo, ver `v1.7.9`:
-
-```
-VERSION=v1.7.9 && bash <(curl -Ls "https://raw.githubusercontent.com/mhsanaei/3x-ui/$VERSION/install.sh") $VERSION
-```
-
-## Certificado SSL
-
-<details>
-  <summary>Haga clic para ver los detalles del certificado SSL</summary>
-
-### ACME
-
-Para gestionar certificados SSL utilizando ACME:
-
-1. Asegúrate de que tu dominio esté correctamente resuelto al servidor.
-2. Ejecuta el comando `x-ui` en la terminal y elige `Gestión de Certificados SSL`.
-3. Se te presentarán las siguientes opciones:
-
-   - **Get SSL:** Obtener certificados SSL.
-   - **Revoke:** Revocar certificados SSL existentes.
-   - **Force Renew:** Forzar la renovación de certificados SSL.
-   - **Show Existing Domains:** Mostrar todos los certificados de dominio disponibles en el servidor.  
-   - **Set Certificate Paths for the Panel:** Especificar el certificado para tu dominio que será utilizado por el panel. 
-
-### Certbot
-
-Para instalar y usar Certbot:
-
-```sh
-apt-get install certbot -y
-certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com
-certbot renew --dry-run
-```
-
-### Cloudflare
-
-El script de gestión incluye una aplicación de certificado SSL integrada para Cloudflare. Para usar este script para solicitar un certificado, necesitas lo siguiente:
-
-- Correo electrónico registrado en Cloudflare
-- Clave API Global de Cloudflare
-- El nombre de dominio debe estar resuelto al servidor actual a través de Cloudflare
-
-**Cómo obtener la Clave API Global de Cloudflare:**
-
-1. Ejecuta el comando `x-ui` en la terminal y elige `Certificado SSL de Cloudflare`.
-2. Visita el enlace: [Tokens de API de Cloudflare](https://dash.cloudflare.com/profile/api-tokens).
-3. Haz clic en "Ver Clave API Global" (consulta la captura de pantalla a continuación):
-   ![](media/APIKey1.PNG)
-4. Es posible que necesites volver a autenticar tu cuenta. Después de eso, se mostrará la Clave API (consulta la captura de pantalla a continuación):
-   ![](media/APIKey2.png)
-
-Al utilizarlo, simplemente ingresa tu `nombre de dominio`, `correo electrónico` y `CLAVE API`. El diagrama es el siguiente:
-   ![](media/DetailEnter.png)
-
-</details>
-
-## Instalación y Actualización Manual
-
-<details>
-  <summary>Haz clic para más detalles de la instalación manual</summary>
-
-#### Uso
-
-1. Para descargar la última versión del paquete comprimido directamente en tu servidor, ejecuta el siguiente comando:
-
-```sh
-ARCH=$(uname -m)
-case "${ARCH}" in
-  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
-  i*86 | x86) XUI_ARCH="386" ;;
-  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
-  armv7* | armv7) XUI_ARCH="armv7" ;;
-  armv6* | armv6) XUI_ARCH="armv6" ;;
-  armv5* | armv5) XUI_ARCH="armv5" ;;
-  *) XUI_ARCH="amd64" ;;
-esac
-
-
-wget https://github.com/MHSanaei/3x-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz
-```
-
-2. Una vez que se haya descargado el paquete comprimido, ejecuta los siguientes comandos para instalar o actualizar x-ui:
-
-```sh
-ARCH=$(uname -m)
-case "${ARCH}" in
-  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
-  i*86 | x86) XUI_ARCH="386" ;;
-  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
-  armv7* | armv7) XUI_ARCH="armv7" ;;
-  armv6* | armv6) XUI_ARCH="armv6" ;;
-  armv5* | armv5) XUI_ARCH="armv5" ;;
-  *) XUI_ARCH="amd64" ;;
-esac
-
-cd /root/
-rm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui
-tar zxvf x-ui-linux-${XUI_ARCH}.tar.gz
-chmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh
-cp x-ui/x-ui.sh /usr/bin/x-ui
-cp -f x-ui/x-ui.service /etc/systemd/system/
-mv x-ui/ /usr/local/
-systemctl daemon-reload
-systemctl enable x-ui
-systemctl restart x-ui
-```
-
-</details>
-
-## Instalar con Docker
-
-<details>
-  <summary>Haz clic para más detalles del Docker</summary>
-
-#### Uso
-
-1. Instala Docker:
-
-   ```sh
-   bash <(curl -sSL https://get.docker.com)
-   ```
-
-2. Clona el Repositorio del Proyecto:
-
-   ```sh
-   git clone https://github.com/MHSanaei/3x-ui.git
-   cd 3x-ui
-   ```
-
-3. Inicia el Servicio
-
-   ```sh
-   docker compose up -d
-   ```
-
-   O tambien
-
-   ```sh
-   docker run -itd \
-      -e XRAY_VMESS_AEAD_FORCED=false \
-      -v $PWD/db/:/etc/x-ui/ \
-      -v $PWD/cert/:/root/cert/ \
-      --network=host \
-      --restart=unless-stopped \
-      --name 3x-ui \
-      ghcr.io/mhsanaei/3x-ui:latest
-   ```
-
-actualizar a la última versión
-
-   ```sh
-    cd 3x-ui
-    docker compose down
-    docker compose pull 3x-ui
-    docker compose up -d
-   ```
-
-eliminar 3x-ui de docker
-
-   ```sh
-    docker stop 3x-ui
-    docker rm 3x-ui
-    cd --
-    rm -r 3x-ui
-   ```
-
-</details>
-
-## Configuración de Nginx
-<details>
-  <summary>Haga clic aquí para configurar el proxy inverso</summary>
-
-#### Proxy inverso Nginx
-```nginx
-location / {
-    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header X-Forwarded-Proto $scheme;
-    proxy_set_header Host $http_host;
-    proxy_set_header X-Real-IP $remote_addr;
-    proxy_set_header Range $http_range;
-    proxy_set_header If-Range $http_if_range; 
-    proxy_redirect off;
-    proxy_pass http://127.0.0.1:2053;
-}
-```
-
-#### Nginx sub-path
-- EAsegúrese de que la "Ruta Raíz de la URL del Panel" en la configuración del panel `/sub` es la misma.
-- El `url` en la configuración del panel debe terminar con `/`.   
-
-```nginx
-location /sub {
-    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header X-Forwarded-Proto $scheme;
-    proxy_set_header Host $http_host;
-    proxy_set_header X-Real-IP $remote_addr;
-    proxy_set_header Range $http_range;
-    proxy_set_header If-Range $http_if_range; 
-    proxy_redirect off;
-    proxy_pass http://127.0.0.1:2053;
-}
-```
-</details>
-
-## SO Recomendados
-
-- Ubuntu 22.04+
-- Debian 12+
-- CentOS 8+
-- OpenEuler 22.03+
-- Fedora 36+
-- Arch Linux
-- Parch Linux
-- Manjaro
-- Armbian
-- AlmaLinux 9.5+
-- Rocky Linux 9.5+
-- Oracle Linux 8+
-- OpenSUSE Tubleweed
-- Amazon Linux 2023
-- Virtuozzo Linux 8+
-- Windows x64
-
-## Arquitecturas y Dispositivos Compatibles
-
-<details>
-  <summary>Haz clic para detalles de arquitecturas y dispositivos compatibles</summary>
-
-Nuestra plataforma ofrece compatibilidad con una amplia gama de arquitecturas y dispositivos, garantizando flexibilidad en diversos entornos informáticos. A continuación se presentan las principales arquitecturas que admitimos:
-
-- **amd64**: Esta arquitectura predominante es la estándar para computadoras personales y servidores, y admite la mayoría de los sistemas operativos modernos sin problemas.
-
-- **x86 / i386**: Ampliamente adoptada en computadoras de escritorio y portátiles, esta arquitectura cuenta con un amplio soporte de numerosos sistemas operativos y aplicaciones, incluidos, entre otros, Windows, macOS y sistemas Linux.
-
-- **armv8 / arm64 / aarch64**: Diseñada para dispositivos móviles y embebidos contemporáneos, como teléfonos inteligentes y tabletas, esta arquitectura está ejemplificada por dispositivos como Raspberry Pi 4, Raspberry Pi 3, Raspberry Pi Zero 2/Zero 2 W, Orange Pi 3 LTS, entre otros.
-
-- **armv7 / arm / arm32**: Sirve como arquitectura para dispositivos móviles y embebidos más antiguos, y sigue siendo ampliamente utilizada en dispositivos como Orange Pi Zero LTS, Orange Pi PC Plus, Raspberry Pi 2, entre otros.
-
-- **armv6 / arm / arm32**: Orientada a dispositivos embebidos muy antiguos, esta arquitectura, aunque menos común, todavía se utiliza. Dispositivos como Raspberry Pi 1, Raspberry Pi Zero/Zero W, dependen de esta arquitectura.
-
-- **armv5 / arm / arm32**: Una arquitectura más antigua asociada principalmente con sistemas embebidos tempranos, es menos común hoy en día pero aún puede encontrarse en dispositivos heredados como versiones antiguas de Raspberry Pi y algunos teléfonos inteligentes más antiguos.
-</details>
-
-## Idiomas
-
-- Arabic (Árabe)
-- English (inglés)  
-- Persian (persa)  
-- Traditional Chinese (chino tradicional)  
-- Simplified Chinese (chino simplificado)  
-- Japanese (japonés)  
-- Russian (ruso)  
-- Vietnamese (vietnamita)  
-- Spanish (español)  
-- Indonesian (indonesio)  
-- Ukrainian (ucraniano)  
-- Turkish (turco)  
-- Português (Brazil) (portugués (Brasil))  
-
-
-## Características
+Para documentación completa, visita la [Wiki del proyecto](https://github.com/MHSanaei/3x-ui/wiki).
 
-- Monitoreo del Estado del Sistema
-- Búsqueda dentro de todas las reglas de entrada y clientes
-- Tema Oscuro/Claro
-- Soporta multiusuario y multiprotocolo
-- Soporta protocolos, incluyendo VMess, VLESS, Trojan, Shadowsocks, Dokodemo-door, Socks, HTTP, wireguard
-- Soporta Protocolos nativos XTLS, incluyendo RPRX-Direct, Visión, REALITY
-- Estadísticas de tráfico, límite de tráfico, límite de tiempo de vencimiento
-- Plantillas de configuración de Xray personalizables
-- Soporta acceso HTTPS al panel (dominio proporcionado por uno mismo + certificado SSL)
-- Soporta la solicitud y renovación automática de certificados SSL con un clic
-- Para elementos de configuración más avanzados, consulta el panel
-- Corrige rutas de API (la configuración del usuario se creará con la API)
-- Soporta cambiar las configuraciones por diferentes elementos proporcionados en el panel.
-- Soporta exportar/importar base de datos desde el panel
+## Un Agradecimiento Especial a
 
+- [alireza0](https://github.com/alireza0/)
 
-## Configuración Predeterminada del Panel
-
-<details>
-  <summary>Haz clic para ver los detalles de la configuración predeterminada</summary>
-
-### Nombre de usuario, Contraseña, Puerto y Ruta Base Web
-
-Si elige no modificar estas configuraciones, se generarán aleatoriamente (esto no se aplica a Docker).
-
-**Configuraciones predeterminadas para Docker:**
-- **Nombre de usuario:** admin
-- **Contraseña:** admin
-- **Puerto:** 2053
-
-### Gestión de la Base de Datos:
-
-  Puedes realizar copias de seguridad y restauraciones de la base de datos directamente desde el panel.
-
-- **Ruta de la Base de Datos:**
-  - `/etc/x-ui/x-ui.db`
-
-### Ruta Base Web
-
-1. **Restablecer la Ruta Base Web:**
-   - Abre tu terminal.
-   - Ejecuta el comando `x-ui`.
-   - Selecciona la opción `Restablecer la Ruta Base Web`.
-
-2. **Generar o Personalizar la Ruta:**
-   - La ruta se generará aleatoriamente, o puedes ingresar una ruta personalizada.
-
-3. **Ver Configuración Actual:**
-   - Para ver tu configuración actual, utiliza el comando `x-ui settings` en el terminal o selecciona `Ver Configuración Actual` en `x-ui`.
-
-### Recomendación de Seguridad:
-- Para mayor seguridad, utiliza una palabra larga y aleatoria en la estructura de tu URL.
-
-**Ejemplos:**
-- `http://ip:port/*webbasepath*/panel`
-- `http://domain:port/*webbasepath*/panel`
-
-</details>
-
-## Configuración de WARP
-
-<details>
-  <summary>Haz clic para ver los detalles de la configuración de WARP</summary>
-
-#### Uso
-
-**Para versiones `v2.1.0` y posteriores:**
-
-WARP está integrado, no se requiere instalación adicional. Simplemente habilita la configuración necesaria en el panel.
-
-</details>
-
-## Límite de IP
-
-<details>
-  <summary>Haz clic para ver los detalles del límite de IP</summary>
-
-#### Uso
-
-**Nota:** El Límite de IP no funcionará correctamente cuando uses Túnel IP.
-
-- **Para versiones hasta `v1.6.1`:**
-  - El límite de IP está integrado en el panel.
-
-**Para versiones `v1.7.0` y posteriores:**
-
-Para habilitar la funcionalidad de límite de IP, necesitas instalar `fail2ban` y los archivos requeridos siguiendo estos pasos:
-
-1. Ejecuta el comando `x-ui` en el terminal, luego elige `Gestión de Límite de IP`.
-2. Verás las siguientes opciones:
-
-   - **Cambiar la Duración del Bloqueo:** Ajustar la duración de los bloqueos.
-   - **Desbloquear a Todos:** Levantar todos los bloqueos actuales.
-   - **Revisar los Registros:** Revisar los registros.
-   - **Estado de Fail2ban:** Verificar el estado de `fail2ban`.
-   - **Reiniciar Fail2ban:** Reiniciar el servicio `fail2ban`.
-   - **Desinstalar Fail2ban:** Desinstalar Fail2ban con la configuración.
-
-3. Agrega una ruta para el registro de acceso en el panel configurando `Xray Configs/log/Access log` a `./access.log`, luego guarda y reinicia Xray.
-
-- **Para versiones anteriores a `v2.1.3`:**
-  - Necesitas configurar manualmente la ruta del registro de acceso en tu configuración de Xray:
-
-    ```sh
-    "log": {
-      "access": "./access.log",
-      "dnsLog": false,
-      "loglevel": "warning"
-    },
-    ```
-
-- **Para versiones `v2.1.3` y posteriores:**
-  - Hay una opción para configurar `access.log` directamente desde el panel.
-
-</details>
-
-## Bot de Telegram
-
-<details>
-  <summary>Haz clic para más detalles del bot de Telegram</summary>
-
-#### Uso
-
-El panel web admite tráfico diario, inicio de sesión en el panel, copia de seguridad de la base de datos, estado del sistema, información del cliente y otras notificaciones y funciones a través del Bot de Telegram. Para usar el bot, debes establecer los parámetros relacionados con el bot en el panel, que incluyen:
-
-- Token de Telegram
-- ID de chat de administrador(es)
-- Hora de Notificación (en sintaxis cron)
-- Notificación de Fecha de Caducidad
-- Notificación de Capacidad de Tráfico
-- Copia de seguridad de la base de datos
-- Notificación de Carga de CPU
-
-
-**Sintaxis de referencia:**
-
-- `30 \* \* \* \* \*` - Notifica a los 30s de cada punto
-- `0 \*/10 \* \* \* \*` - Notifica en el primer segundo de cada 10 minutos
-- `@hourly` - Notificación por hora
-- `@daily` - Notificación diaria (00:00 de la mañana)
-- `@weekly` - Notificación semanal
-- `@every 8h` - Notifica cada 8 horas
-
-### Funcionalidades del Bot de Telegram
-
-- Reporte periódico
-- Notificación de inicio de sesión
-- Notificación de umbral de CPU
-- Umbral de Notificación para Fecha de Caducidad y Tráfico para informar con anticipación
-- Soporte para menú de reporte de cliente si el nombre de usuario de Telegram del cliente se agrega a las configuraciones de usuario
-- Soporte para reporte de tráfico de Telegram buscado con UUID (VMESS/VLESS) o Contraseña (TROJAN) - anónimamente
-- Bot basado en menú
-- Buscar cliente por correo electrónico (solo administrador)
-- Ver todas las Entradas
-- Ver estado del servidor
-- Ver clientes agotados
-- Recibir copia de seguridad bajo demanda y en informes periódicos
-- Bot multilingüe
-
-### Configuración del Bot de Telegram
-
-- Inicia [Botfather](https://t.me/BotFather) en tu cuenta de Telegram:
-    ![Botfather](./media/botfather.png)
-
-- Crea un nuevo bot usando el comando /newbot: Te hará 2 preguntas, Un nombre y un nombre de usuario para tu bot. Ten en cuenta que el nombre de usuario debe terminar con la palabra "bot".
-    ![Create new bot](./media/newbot.png)
-
-- Inicia el bot que acabas de crear. Puedes encontrar el enlace a tu bot aquí.
-    ![token](./media/token.png)
-
-- Ingresa a tu panel y configura los ajustes del bot de Telegram como se muestra a continuación:
-![Panel Config](./media/panel-bot-config.png)
-
-Ingresa el token de tu bot en el campo de entrada número 3.
-Ingresa el ID de chat de usuario en el campo de entrada número 4. Las cuentas de Telegram con esta ID serán los administradores del bot. (Puedes ingresar más de uno, solo sepáralos con ,)
-
-- ¿Cómo obtener el ID de chat de Telegram? Usa este [bot](https://t.me/useridinfobot), Inicia el bot y te dará el ID de chat del usuario de Telegram.
-![User ID](./media/user-id.png)
-
-</details>
-
-## Rutas de API
-
-<details>
-  <summary>Haz clic para más detalles de las rutas de API</summary>
-
-#### Uso
-
-- [Documentación de API](https://www.postman.com/hsanaei/3x-ui/collection/q1l5l0u/3x-ui)
-- `/login` con `POST` datos de usuario: `{username: '', password: ''}` para iniciar sesión
-- `/panel/api/inbounds` base para las siguientes acciones:
-
-| Método | Ruta                               | Acción                                                    |
-| :----: | ---------------------------------- | --------------------------------------------------------- |
-| `GET`  | `"/list"`                          | Obtener todas los Entradas                                |
-| `GET`  | `"/get/:id"`                       | Obtener Entrada con inbound.id                            |
-| `GET`  | `"/getClientTraffics/:email"`      | Obtener Tráficos del Cliente con email                    |
-| `GET`  | `"/createbackup"`                  | El bot de Telegram envía copia de seguridad a los admins  |
-| `POST` | `"/add"`                           | Agregar Entrada                                           |
-| `POST` | `"/del/:id"`                       | Eliminar Entrada                                          |
-| `POST` | `"/update/:id"`                    | Actualizar Entrada                                        |
-| `POST` | `"/clientIps/:email"`              | Dirección IP del Cliente                                  |
-| `POST` | `"/clearClientIps/:email"`         | Borrar Dirección IP del Cliente                           |
-| `POST` | `"/addClient"`                     | Agregar Cliente a la Entrada                              |
-| `POST` | `"/:id/delClient/:clientId"`       | Eliminar Cliente por clientId\*                           |
-| `POST` | `"/updateClient/:clientId"`        | Actualizar Cliente por clientId\*                         |
-| `POST` | `"/:id/resetClientTraffic/:email"` | Restablecer Tráfico del Cliente                           |
-| `POST` | `"/resetAllTraffics"`              | Restablecer tráfico de todos las Entradas                 |
-| `POST` | `"/resetAllClientTraffics/:id"`    | Restablecer tráfico de todos los clientes en una Entrada  |
-| `POST` | `"/delDepletedClients/:id"`        | Eliminar clientes agotados de la entrada (-1: todos)      |
-| `POST` | `"/onlines"`                       | Obtener usuarios en línea (lista de correos electrónicos) |
-
-\*- El campo `clientId` debe llenarse por:
-
-- `client.id` para VMESS y VLESS
-- `client.password` para TROJAN
-- `client.email` para Shadowsocks
-
-- [<img src="https://run.pstmn.io/button.svg" alt="Run In Postman" style="width: 128px; height: 32px;">](https://app.getpostman.com/run-collection/5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5%26entityType%3Dcollection%26workspaceId%3Dd64f609f-485a-4951-9b8f-876b3f917124)
-</details>
-
-## Variables de Entorno
-
-<details>
-  <summary>Haz clic para más detalles de las variables de entorno</summary>
-
-#### Uso
-
-| Variable       |                      Tipo                      | Predeterminado |
-| -------------- | :--------------------------------------------: | :------------- |
-| XUI_LOG_LEVEL  | `"debug"` \| `"info"` \| `"warn"` \| `"error"` | `"info"`       |
-| XUI_DEBUG      |                   `boolean`                    | `false`        |
-| XUI_BIN_FOLDER |                    `string`                    | `"bin"`        |
-| XUI_DB_FOLDER  |                    `string`                    | `"/etc/x-ui"`  |
-| XUI_LOG_FOLDER |                    `string`                    | `"/var/log"`   |
-
-Ejemplo:
-
-```sh
-XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go
-```
-
-</details>
-
-## Vista previa
+## Reconocimientos
 
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/01-overview-dark.png">
-  <img alt="3x-ui" src="./media/01-overview-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/02-inbounds-dark.png">
-  <img alt="3x-ui" src="./media/02-inbounds-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/03-add-inbound-dark.png">
-  <img alt="3x-ui" src="./media/03-add-inbound-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/04-add-client-dark.png">
-  <img alt="3x-ui" src="./media/04-add-client-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/05-settings-dark.png">
-  <img alt="3x-ui" src="./media/05-settings-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/06-configs-dark.png">
-  <img alt="3x-ui" src="./media/06-configs-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/07-bot-dark.png">
-  <img alt="3x-ui" src="./media/07-bot-light.png">
-</picture>
+- [Iran v2ray rules](https://github.com/chocolate4u/Iran-v2ray-rules) (Licencia: **GPL-3.0**): _Reglas de enrutamiento mejoradas para v2ray/xray y v2ray/xray-clients con dominios iraníes incorporados y un enfoque en seguridad y bloqueo de anuncios._
+- [Russia v2ray rules](https://github.com/runetfreedom/russia-v2ray-rules-dat) (Licencia: **GPL-3.0**): _Este repositorio contiene reglas de enrutamiento V2Ray actualizadas automáticamente basadas en datos de dominios y direcciones bloqueadas en Rusia._
 
-## Un agradecimiento especial a
+## Apoyar el Proyecto
 
-- [alireza0](https://github.com/alireza0/)
+**Si este proyecto te es útil, puedes darle una**:star2:
 
-## Reconocimientos
+<p align="left">
+  <a href="https://buymeacoffee.com/mhsanaei" target="_blank">
+    <img src="./media/buymeacoffe.png" alt="Image">
+  </a>
+</p>
 
-- [Iran v2ray rules](https://github.com/chocolate4u/Iran-v2ray-rules) (Licencia: **GPL-3.0**): _Reglas de enrutamiento mejoradas de v2ray/xray y v2ray/xray-clients con dominios iraníes integrados y un enfoque en seguridad y bloqueo de anuncios._
-- [Russia v2ray rules](https://github.com/runetfreedom/russia-v2ray-rules-dat) (License: **GPL-3.0**): _Este repositorio contiene reglas de enrutamiento de V2Ray actualizadas automáticamente basadas en datos de dominios y direcciones bloqueados en Rusia._
+- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC`
+- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A`
+- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv`
 
-## Estrellas a lo largo del tiempo
+## Estrellas a lo Largo del Tiempo
 
-[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui)
+[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui) 

+ 29 - 501
README.fa_IR.md

@@ -7,522 +7,50 @@
   </picture>
 </p>
 
-**یک پنل وب پیشرفته • ساخته شده بر پایه Xray Core**
+[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/releases)
+[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/actions)
+[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg?style=for-the-badge)](#)
+[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/releases/latest)
+[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true&style=for-the-badge)](https://www.gnu.org/licenses/gpl-3.0.en.html)
 
-[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases)
-[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](#)
-[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#)
-[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](#)
-[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html)
+**3X-UI** — یک پنل کنترل پیشرفته مبتنی بر وب با کد باز که برای مدیریت سرور Xray-core طراحی شده است. این پنل یک رابط کاربری آسان برای پیکربندی و نظارت بر پروتکل‌های مختلف VPN و پراکسی ارائه می‌دهد.
 
-> **سلب مسئولیت:** این پروژه صرفاً برای اهداف آموزشی و تحقیقاتی است. استفاده از آن برای مقاصد غیرقانونی یا در محیط‌های عملیاتی ممنوع است.
+> [!IMPORTANT]
+> این پروژه فقط برای استفاده شخصی و ارتباطات است، لطفاً از آن برای اهداف غیرقانونی استفاده نکنید، لطفاً از آن در محیط تولید استفاده نکنید.
 
-**اگر این پروژه برای شما مفید بوده، می‌توانید با دادن یک**:star2: از آن حمایت کنید.
+به عنوان یک نسخه بهبود یافته از پروژه اصلی X-UI، 3X-UI پایداری بهتر، پشتیبانی گسترده‌تر از پروتکل‌ها و ویژگی‌های اضافی را ارائه می‌دهد.
 
-<p align="left">
-  <a href="https://buymeacoffee.com/mhsanaei" target="_blank">
-    <img src="./media/buymeacoffe.png" alt="Image">
-  </a>
-</p>
-
-- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC`
-- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A`
-- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv`
-
-## نصب و ارتقا
-
-```
-bash <(curl -Ls https://raw.githubusercontent.com/MHSanaei/3x-ui/refs/tags/v2.6.0/install.sh)
-```
-
-## نصب نسخه‌های قدیمی (توصیه نمی‌شود)
-
-برای نصب نسخه خاصی از دستور زیر استفاده کنید. مثال برای نسخه `v1.7.9`:
-
-```
-VERSION=v1.7.9 && bash <(curl -Ls "https://raw.githubusercontent.com/mhsanaei/3x-ui/$VERSION/install.sh") $VERSION
-```
-
-## گواهی SSL
-
-<details>
-  <summary>جزئیات گواهی SSL</summary>
-
-### ACME
-
-برای مدیریت گواهی‌های SSL با استفاده از ACME:
-
-1. اطمینان حاصل کنید دامنه شما به درستی به سرور متصل است.
-2. دستور `x-ui` را در ترمینال اجرا کرده و گزینه `مدیریت گواهی SSL` را انتخاب کنید.
-3. گزینه‌های زیر نمایش داده می‌شوند:
-
-   - **دریافت SSL:** دریافت گواهی SSL
-   - **لغو:** لغو گواهی‌های موجود
-   - **تمدید اجباری:** تمدید اجباری گواهی‌ها
-   - **نمایش دامنه‌های موجود:** نمایش تمام دامنه‌های دارای گواهی  
-   - **تنظیم مسیر گواهی برای پنل:** تنظیم مسیر گواهی برای دامنه شما
-
-### Certbot
-
-نصب و استفاده از Certbot:
-
-```sh
-apt-get install certbot -y
-certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com
-certbot renew --dry-run
-```
-
-### Cloudflare
-
-اسکریپت داخلی برای دریافت گواهی SSL از Cloudflare. نیازمند:
-
-- ایمیل ثبت‌شده در Cloudflare
-- کلید API جهانی Cloudflare
-- دامنه باید از طریق Cloudflare به سرور متصل باشد
-
-**دریافت کلید API جهانی Cloudflare:**
-
-1. دستور `x-ui` را اجرا و گزینه `گواهی SSL کلادفلر` را انتخاب کنید.
-2. به لینک [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens) مراجعه کنید.
-3. روی "View Global API Key" کلیک کنید:
-   ![](media/APIKey1.PNG)
-4. پس از احراز هویت، کلید API نمایش داده می‌شود:
-   ![](media/APIKey2.png)
-
-در هنگام استفاده، نام دامنه، ایمیل و کلید API را وارد کنید:
-   ![](media/DetailEnter.png)
-
-</details>
-
-## نصب دستی و ارتقا
-
-<details>
-  <summary>جزئیات نصب دستی</summary>
+## شروع سریع
 
-#### استفاده
-
-1. دریافت آخرین نسخه از سرور:
-
-```sh
-ARCH=$(uname -m)
-case "${ARCH}" in
-  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
-  i*86 | x86) XUI_ARCH="386" ;;
-  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
-  armv7* | armv7) XUI_ARCH="armv7" ;;
-  armv6* | armv6) XUI_ARCH="armv6" ;;
-  armv5* | armv5) XUI_ARCH="armv5" ;;
-  s390x) echo 's390x' ;;
-  *) XUI_ARCH="amd64" ;;
-esac
-
-wget https://github.com/MHSanaei/3x-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz
 ```
-
-2. نصب یا ارتقا:
-
-```sh
-ARCH=$(uname -m)
-case "${ARCH}" in
-  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
-  i*86 | x86) XUI_ARCH="386" ;;
-  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
-  armv7* | armv7) XUI_ARCH="armv7" ;;
-  armv6* | armv6) XUI_ARCH="armv6" ;;
-  armv5* | armv5) XUI_ARCH="armv5" ;;
-  s390x) echo 's390x' ;;
-  *) XUI_ARCH="amd64" ;;
-esac
-
-cd /root/
-rm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui
-tar zxvf x-ui-linux-${XUI_ARCH}.tar.gz
-chmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh
-cp x-ui/x-ui.sh /usr/bin/x-ui
-cp -f x-ui/x-ui.service /etc/systemd/system/
-mv x-ui/ /usr/local/
-systemctl daemon-reload
-systemctl enable x-ui
-systemctl restart x-ui
+$ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
 ```
 
-</details>
-
-## نصب با Docker
-
-<details>
-  <summary>جزئیات Docker</summary>
-
-#### استفاده
-
-1. **نصب Docker:**
-
-   ```sh
-   bash <(curl -sSL https://get.docker.com)
-   ```
-
-2. **کلون پروژه:**
-
-   ```sh
-   git clone https://github.com/MHSanaei/3x-ui.git
-   cd 3x-ui
-   ```
-
-3. **راه‌اندازی سرویس:**
-
-   ```sh
-   docker compose up -d
-   ```
-
-   یا
-
-   ```sh
-   docker run -itd \
-      -e XRAY_VMESS_AEAD_FORCED=false \
-      -v $PWD/db/:/etc/x-ui/ \
-      -v $PWD/cert/:/root/cert/ \
-      --network=host \
-      --restart=unless-stopped \
-      --name 3x-ui \
-      ghcr.io/mhsanaei/3x-ui:latest
-   ```
-
-4. **به‌روزرسانی:**
-
-   ```sh
-   cd 3x-ui
-   docker compose down
-   docker compose pull 3x-ui
-   docker compose up -d
-   ```
-
-5. **حذف:**
-
-   ```sh
-   docker stop 3x-ui
-   docker rm 3x-ui
-   cd --
-   rm -r 3x-ui
-   ```
-
-</details>
-
-## تنظیمات Nginx
-<details>
-  <summary>پیکربندی Reverse Proxy</summary>
-
-#### Nginx Reverse Proxy
-```nginx
-location / {
-    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header X-Forwarded-Proto $scheme;
-    proxy_set_header Host $http_host;
-    proxy_set_header X-Real-IP $remote_addr;
-    proxy_set_header Range $http_range;
-    proxy_set_header If-Range $http_if_range; 
-    proxy_redirect off;
-    proxy_pass http://127.0.0.1:2053;
-}
-```
-
-#### مسیر فرعی در Nginx
-- اطمینان حاصل کنید "URI Path" در تنظیمات پنل یکسان باشد.
-- `url` در تنظیمات پنل باید با `/` پایان یابد.   
-
-```nginx
-location /sub {
-    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header X-Forwarded-Proto $scheme;
-    proxy_set_header Host $http_host;
-    proxy_set_header X-Real-IP $remote_addr;
-    proxy_set_header Range $http_range;
-    proxy_set_header If-Range $http_if_range; 
-    proxy_redirect off;
-    proxy_pass http://127.0.0.1:2053;
-}
-```
-</details>
-
-## سیستم‌عامل‌های توصیه شده
-
-- Ubuntu 22.04+
-- Debian 12+
-- CentOS 8+
-- OpenEuler 22.03+
-- Fedora 36+
-- Arch Linux
-- Parch Linux
-- Manjaro
-- Armbian
-- AlmaLinux 9.5+
-- Rocky Linux 9.5+
-- Oracle Linux 8+
-- OpenSUSE Tubleweed
-- Amazon Linux 2023
-- Virtuozzo Linux 8+
-- Windows x64
-
-## معماری‌ها و دستگاه‌های پشتیبانی شده
-
-<details>
-  <summary>جزئیات معماری‌ها و دستگاه‌ها</summary>
-
-- **amd64**: معماری استاندارد برای کامپیوترهای شخصی و سرورها
-- **x86 / i386**: سیستم‌های دسکتاپ و لپ‌تاپ
-- **armv8 / arm64 / aarch64**: دستگاه‌های موبایل و embedded مانند Raspberry Pi 4
-- **armv7 / arm / arm32**: دستگاه‌های قدیمی مانند Orange Pi Zero
-- **armv6 / arm / arm32**: دستگاه‌های بسیار قدیمی مانند Raspberry Pi 1
-- **armv5 / arm / arm32**: سیستم‌های embedded قدیمی
-- **s390x**: کامپیوترهای IBM mainframe
-</details>
-
-## زبان‌های پشتیبانی شده
-
-- انگلیسی
-- فارسی
-- چینی سنتی
-- چینی ساده‌شده
-- ژاپنی
-- روسی
-- ویتنامی
-- اسپانیایی
-- اندونزیایی
-- اوکراینی
-- ترکی
-- پرتغالی (برزیل)
-
-## ویژگی‌ها
-
-- مانیتورینگ وضعیت سیستم
-- جستجو در بین inboundها و کلاینت‌ها
-- تم تاریک/روشن
-- پشتیبانی از چند کاربر و پروتکل
-- پروتکل‌های VMESS، VLESS، Trojan، Shadowsocks، Dokodemo-door، Socks، HTTP، WireGuard
-- پشتیبانی از XTLS شامل RPRX-Direct، Vision، REALITY
-- آمار ترافیک، محدودیت ترافیک، محدودیت زمانی
-- تنظیمات سفارشی Xray
-- پشتیبانی از HTTPS برای پنل
-- دریافت خودکار گواهی SSL
-- مسیرهای API اصلاح شده
-- پشتیبانی از تغییر تنظیمات از طریق پنل
-- امکان export/import دیتابیس
+برای مستندات کامل، لطفاً به [ویکی پروژه](https://github.com/MHSanaei/3x-ui/wiki) مراجعه کنید.
 
-## تنظیمات پیش‌فرض پنل
+## تشکر ویژه از
 
-<details>
-  <summary>جزئیات تنظیمات پیش‌فرض</summary>
-
-### نام کاربری، رمز عبور، پورت و مسیر وب
-
-در صورت عدم تغییر، این موارد به صورت تصادفی ایجاد می‌شوند (به جز Docker).
-
-**تنظیمات پیش‌فرض Docker:**
-- **نام کاربری:** admin
-- **رمز عبور:** admin
-- **پورت:** 2053
-
-### مدیریت دیتابیس:
-
-  امکان Backup و Restore دیتابیس از طریق پنل.
-
-- **مسیر دیتابیس:**
-  - `/etc/x-ui/x-ui.db`
-
-### مسیر پایه وب
-
-1. **بازنشانی مسیر:**
-   - اجرای دستور `x-ui`
-   - انتخاب گزینه `Reset Web Base Path`
-
-2. **ساخت یا تنظیم مسیر:**
-   - مسیر به صورت تصادفی ساخته شده یا قابل تنظیم است
-
-3. **مشاهده تنظیمات فعلی:**
-   - استفاده از دستور `x-ui settings` یا `View Current Settings` در `x-ui`
-
-**توصیه امنیتی:**
-- استفاده از مسیرهای طولانی و تصادفی برای افزایش امنیت
-
-**مثال:**
-- `http://ip:port/*webbasepath*/panel`
-- `http://domain:port/*webbasepath*/panel`
-
-</details>
-
-## پیکربندی WARP
-
-<details>
-  <summary>جزئیات WARP</summary>
-
-#### استفاده
-
-**برای نسخه‌های `v2.1.0` و جدیدتر:**
-
-WARP به صورت داخلی پشتیبانی می‌شود. تنها نیاز به فعال‌سازی در پنل است.
-
-</details>
-
-## محدودیت IP
-
-<details>
-  <summary>جزئیات محدودیت IP</summary>
-
-#### استفاده
-
-**توجه:** محدودیت IP در صورت استفاده از IP Tunnel کار نمی‌کند.
-
-- **تا نسخه `v1.6.1`:**
-  - محدودیت IP به صورت داخلی در پنل وجود دارد
-
-**برای نسخه‌های `v1.7.0` و جدیدتر:**
-
-برای فعال‌سازی نیاز به نصب `fail2ban` است:
-
-1. اجرای دستور `x-ui` و انتخاب `مدیریت محدودیت IP`
-2. گزینه‌های موجود:
-
-   - **تغییر مدت زمان Ban**
-   - **حذف تمام Banها**
-   - **مشاهده لاگ‌ها**
-   - **وضعیت Fail2ban**
-   - **راه‌اندازی مجدد Fail2ban**
-   - **حذف Fail2ban**
-
-3. تنظیم مسیر `Access log` در پنل به `./access.log` و ذخیره و راه‌اندازی مجدد Xray
-
-- **قبل از نسخه `v2.1.3`:**
-  - تنظیم دستی `access.log` در تنظیمات Xray:
-
-    ```sh
-    "log": {
-      "access": "./access.log",
-      "dnsLog": false,
-      "loglevel": "warning"
-    },
-    ```
-
-- **از نسخه `v2.1.3`:**
-  - امکان تنظیم `access.log` از طریق پنل
-
-</details>
-
-## ربات تلگرام
-
-<details>
-  <summary>جزئیات ربات تلگرام</summary>
-
-#### استفاده
-
-ربات تلگرام برای اطلاع‌رسانی ترافیک، ورود به پنل، Backup دیتابیس و ... استفاده می‌شود. نیازمند تنظیم:
-
-- توکن تلگرام
-- Chat ID ادمین‌ها
-- زمان اطلاع‌رسانی (Cron syntax)
-- اطلاع‌رسانی انقضا
-- اطلاع‌رسانی ترافیک
-- Backup دیتابیس
-- اطلاع‌رسانی مصرف CPU
-
-**سینتکس نمونه:**
-
-- `30 \* \* \* \* \*` - اطلاع در ثانیه 30 هر دقیقه
-- `@hourly` - هر ساعت
-- `@daily` - هر روز
-
-### ویژگی‌های ربات
-
-- گزارش دوره‌ای
-- اطلاع ورود به پنل
-- اطلاع مصرف CPU
-- اطلاع پیش‌از موعد انقضا و ترافیک
-- گزارش ترافیک کلاینت‌ها
-- منوی مبتنی بر دستور
-- جستجوی کلاینت بر اساس ایمیل
-- بررسی inboundها
-- بررسی وضعیت سرور
-- دریافت Backup
-- چندزبانه
-
-### راه‌اندازی ربات
-
-- شروع [Botfather](https://t.me/BotFather) در تلگرام:
-    ![Botfather](./media/botfather.png)
-
-- ساخت ربات جدید با دستور /newbot:
-    ![Create new bot](./media/newbot.png)
-
-- شروع ربات ساخته شده:
-    ![token](./media/token.png)
-
-- تنظیمات پنل:
-![Panel Config](./media/panel-bot-config.png)
-
-وارد کردن توکن و Chat ID (دریافت از [این ربات](https://t.me/useridinfobot)):
-![User ID](./media/user-id.png)
-
-</details>
-
-## مسیرهای API
-
-<details>
-  <summary>جزئیات API</summary>
-
-#### استفاده
-
-- [مستندات API](https://www.postman.com/hsanaei/3x-ui/collection/q1l5l0u/3x-ui)
-- `/login` با `POST` داده کاربر: `{username: '', password: ''}`
-
-| Method | مسیر                               | عملکرد                                      |
-| :----: | ---------------------------------- | ------------------------------------------- |
-| `GET`  | `"/list"`                          | دریافت تمام inboundها                      |
-| `GET`  | `"/get/:id"`                       | دریافت inbound بر اساس id                  |
-| `POST` | `"/add"`                           | افزودن inbound                              |
-| `POST` | `"/del/:id"`                       | حذف inbound                                 |
-
-- [<img src="https://run.pstmn.io/button.svg" alt="Run In Postman" style="width: 128px; height: 32px;">](https://app.getpostman.com/run-collection/5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5%26entityType%3Dcollection%26workspaceId%3Dd64f609f-485a-4951-9b8f-876b3f917124)
-</details>
-
-## متغیرهای محیطی
-
-<details>
-  <summary>جزئیات متغیرها</summary>
-
-#### استفاده
-
-| متغیر         |                      نوع                      | پیش‌فرض       |
-| ------------- | :--------------------------------------------: | :------------ |
-| XUI_LOG_LEVEL | `"debug"` \| `"info"` \| `"warn"` \| `"error"` | `"info"`      |
-| XUI_DEBUG     |                   `boolean`                    | `false`       |
-| XUI_BIN_FOLDER|                    `string`                    | `"bin"`       |
-
-مثال:
-
-```sh
-XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go
-```
-
-</details>
+- [alireza0](https://github.com/alireza0/)
 
-## پیش‌نمایش
+## قدردانی
 
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/01-overview-dark.png">
-  <img alt="3x-ui" src="./media/01-overview-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/02-inbounds-dark.png">
-  <img alt="3x-ui" src="./media/02-inbounds-light.png">
-</picture>
+- [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 به‌روزرسانی شده خودکار بر اساس داده‌های دامنه‌ها و آدرس‌های مسدود شده در روسیه است._
 
-## قدردانی ویژه از
+## پشتیبانی از پروژه
 
-- [alireza0](https://github.com/alireza0/)
+**اگر این پروژه برای شما مفید است، می‌توانید به آن یک**:star2: بدهید
 
-## تشکر و قدردانی
+<p align="left">
+  <a href="https://buymeacoffee.com/mhsanaei" target="_blank">
+    <img src="./media/buymeacoffe.png" alt="Image">
+  </a>
+</p>
 
-- [Iran v2ray rules](https://github.com/chocolate4u/Iran-v2ray-rules) (مجوز: **GPL-3.0**)
-- [Russia v2ray rules](https://github.com/runetfreedom/russia-v2ray-rules-dat) (مجوز: **GPL-3.0**)
+- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC`
+- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A`
+- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv`
 
-## Stargazers over Time
+## ستاره‌ها در طول زمان
 
-[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui)
+[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui) 

+ 28 - 570
README.md

@@ -1,4 +1,4 @@
-[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) 
+[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)
 
 <p align="center">
   <picture>
@@ -7,582 +7,26 @@
   </picture>
 </p>
 
-**An Advanced Web Panel • Built on Xray Core**
+[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/releases)
+[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/actions)
+[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg?style=for-the-badge)](#)
+[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/releases/latest)
+[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true&style=for-the-badge)](https://www.gnu.org/licenses/gpl-3.0.en.html)
 
-[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases)
-[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](#)
-[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#)
-[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](#)
-[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html)
+**3X-UI** — advanced, open-source web-based control panel designed for managing Xray-core server. It offers a user-friendly interface for configuring and monitoring various VPN and proxy protocols.
 
-> **Disclaimer:** This project is only for personal learning and communication, please do not use it for illegal purposes, please do not use it in a production environment
+> [!IMPORTANT]
+> This project is only for personal using, please do not use it for illegal purposes, please do not use it in a production environment.
 
-**If this project is helpful to you, you may wish to give it a**:star2:
-
-<p align="left">
-  <a href="https://buymeacoffee.com/mhsanaei" target="_blank">
-    <img src="./media/buymeacoffe.png" alt="Image">
-  </a>
-</p>
-
-- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC`
-- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A`
-- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv`
-
-## Install & Upgrade
-
-```
-bash <(curl -Ls https://raw.githubusercontent.com/MHSanaei/3x-ui/refs/tags/v2.6.0/install.sh)
-```
-
-## Install legacy Version (we don't recommend)
-
-To install your desired version, use following installation command. e.g., ver `v1.7.9`:
-
-```
-VERSION=v1.7.9 && bash <(curl -Ls "https://raw.githubusercontent.com/mhsanaei/3x-ui/$VERSION/install.sh") $VERSION
-```
-
-## SSL Certificate
-
-<details>
-  <summary>Click for SSL Certificate details</summary>
+As an enhanced fork of the original X-UI project, 3X-UI provides improved stability, broader protocol support, and additional features.
 
-### ACME
+## Quick Start
 
-To manage SSL certificates using ACME:
-
-1. Ensure your domain is correctly resolved to the server.
-2. Run the `x-ui` command in the terminal, then choose `SSL Certificate Management`.
-3. You will be presented with the following options:
-
-   - **Get SSL:** Obtain SSL certificates.
-   - **Revoke:** Revoke existing SSL certificates.
-   - **Force Renew:** Force renewal of SSL certificates.
-   - **Show Existing Domains:** Display all domain certificates available on the server.  
-   - **Set Certificate Paths for the Panel:** Specify the certificate for your domain to be used by the panel. 
-
-### Certbot
-
-To install and use Certbot:
-
-```sh
-apt-get install certbot -y
-certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com
-certbot renew --dry-run
-```
-
-### Cloudflare
-
-The management script includes a built-in SSL certificate application for Cloudflare. To use this script to apply for a certificate, you need the following:
-
-- Cloudflare registered email
-- Cloudflare Global API Key
-- The domain name must be resolved to the current server through Cloudflare
-
-**How to get the Cloudflare Global API Key:**
-
-1. Run the `x-ui` command in the terminal, then choose `Cloudflare SSL Certificate`.
-2. Visit the link: [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens).
-3. Click on "View Global API Key" (see the screenshot below):
-   ![](media/APIKey1.PNG)
-4. You may need to re-authenticate your account. After that, the API Key will be shown (see the screenshot below):
-   ![](media/APIKey2.png)
-
-When using, just enter your `domain name`, `email`, and `API KEY`. The diagram is as follows:
-   ![](media/DetailEnter.png)
-
-
-</details>
-
-## Manual Install & Upgrade
-
-<details>
-  <summary>Click for manual install details</summary>
-
-#### Usage
-
-1. To download the latest version of the compressed package directly to your server, run the following command:
-
-```sh
-ARCH=$(uname -m)
-case "${ARCH}" in
-  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
-  i*86 | x86) XUI_ARCH="386" ;;
-  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
-  armv7* | armv7) XUI_ARCH="armv7" ;;
-  armv6* | armv6) XUI_ARCH="armv6" ;;
-  armv5* | armv5) XUI_ARCH="armv5" ;;
-  s390x) echo 's390x' ;;
-  *) XUI_ARCH="amd64" ;;
-esac
-
-
-wget https://github.com/MHSanaei/3x-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz
+```bash
+$ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
 ```
 
-2. Once the compressed package is downloaded, execute the following commands to install or upgrade x-ui:
-
-```sh
-ARCH=$(uname -m)
-case "${ARCH}" in
-  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
-  i*86 | x86) XUI_ARCH="386" ;;
-  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
-  armv7* | armv7) XUI_ARCH="armv7" ;;
-  armv6* | armv6) XUI_ARCH="armv6" ;;
-  armv5* | armv5) XUI_ARCH="armv5" ;;
-  s390x) echo 's390x' ;;
-  *) XUI_ARCH="amd64" ;;
-esac
-
-cd /root/
-rm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui
-tar zxvf x-ui-linux-${XUI_ARCH}.tar.gz
-chmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh
-cp x-ui/x-ui.sh /usr/bin/x-ui
-cp -f x-ui/x-ui.service /etc/systemd/system/
-mv x-ui/ /usr/local/
-systemctl daemon-reload
-systemctl enable x-ui
-systemctl restart x-ui
-```
-
-</details>
-
-## Install with Docker
-
-<details>
-  <summary>Click for Docker details</summary>
-
-#### Usage
-
-1. **Install Docker:**
-
-   ```sh
-   bash <(curl -sSL https://get.docker.com)
-   ```
-
-2. **Clone the Project Repository:**
-
-   ```sh
-   git clone https://github.com/MHSanaei/3x-ui.git
-   cd 3x-ui
-   ```
-
-3. **Start the Service:**
-
-   ```sh
-   docker compose up -d
-   ```
-
-  Add ```--pull always``` flag to make docker automatically recreate container if a newer image is pulled. See https://docs.docker.com/reference/cli/docker/container/run/#pull for more info.
-
-   **OR**
-
-   ```sh
-   docker run -itd \
-      -e XRAY_VMESS_AEAD_FORCED=false \
-      -v $PWD/db/:/etc/x-ui/ \
-      -v $PWD/cert/:/root/cert/ \
-      --network=host \
-      --restart=unless-stopped \
-      --name 3x-ui \
-      ghcr.io/mhsanaei/3x-ui:latest
-   ```
-
-4. **Update to the Latest Version:**
-
-   ```sh
-   cd 3x-ui
-   docker compose down
-   docker compose pull 3x-ui
-   docker compose up -d
-   ```
-
-5. **Remove 3x-ui from Docker:**
-
-   ```sh
-   docker stop 3x-ui
-   docker rm 3x-ui
-   cd --
-   rm -r 3x-ui
-   ```
-
-</details>
-
-## Nginx Settings
-<details>
-  <summary>Click for Reverse Proxy Configuration</summary>
-
-#### Nginx Reverse Proxy
-```nginx
-location / {
-    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header X-Forwarded-Proto $scheme;
-    proxy_set_header Host $http_host;
-    proxy_set_header X-Real-IP $remote_addr;
-    proxy_set_header Range $http_range;
-    proxy_set_header If-Range $http_if_range; 
-    proxy_redirect off;
-    proxy_pass http://127.0.0.1:2053;
-}
-```
-
-#### Nginx sub-path
-- Ensure that the "URI Path" in the `/sub` panel settings is the same.
-- The `url` in the panel settings needs to end with `/`.   
-
-```nginx
-location /sub {
-    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header X-Forwarded-Proto $scheme;
-    proxy_set_header Host $http_host;
-    proxy_set_header X-Real-IP $remote_addr;
-    proxy_set_header Range $http_range;
-    proxy_set_header If-Range $http_if_range; 
-    proxy_redirect off;
-    proxy_pass http://127.0.0.1:2053;
-}
-```
-</details>
-
-## Recommended OS
-
-- Ubuntu 22.04+
-- Debian 12+
-- CentOS 8+
-- OpenEuler 22.03+
-- Fedora 36+
-- Arch Linux
-- Parch Linux
-- Manjaro
-- Armbian
-- AlmaLinux 9.5+
-- Rocky Linux 9.5+
-- Oracle Linux 8+
-- OpenSUSE Tubleweed
-- Amazon Linux 2023
-- Virtuozzo Linux 8+
-- Windows x64
-
-## Supported Architectures and Devices
-
-<details>
-  <summary>Click for Supported Architectures and devices details</summary>
-
-Our platform offers compatibility with a diverse range of architectures and devices, ensuring flexibility across various computing environments. The following are key architectures that we support:
-
-- **amd64**: This prevalent architecture is the standard for personal computers and servers, accommodating most modern operating systems seamlessly.
-
-- **x86 / i386**: Widely adopted in desktop and laptop computers, this architecture enjoys broad support from numerous operating systems and applications, including but not limited to Windows, macOS, and Linux systems.
-
-- **armv8 / arm64 / aarch64**: Tailored for contemporary mobile and embedded devices, such as smartphones and tablets, this architecture is exemplified by devices like Raspberry Pi 4, Raspberry Pi 3, Raspberry Pi Zero 2/Zero 2 W, Orange Pi 3 LTS, and more.
-
-- **armv7 / arm / arm32**: Serving as the architecture for older mobile and embedded devices, it remains widely utilized in devices like Orange Pi Zero LTS, Orange Pi PC Plus, Raspberry Pi 2, among others.
-
-- **armv6 / arm / arm32**: Geared towards very old embedded devices, this architecture, while less prevalent, is still in use. Devices such as Raspberry Pi 1, Raspberry Pi Zero/Zero W, rely on this architecture.
-
-- **armv5 / arm / arm32**: An older architecture primarily associated with early embedded systems, it is less common today but may still be found in legacy devices like early Raspberry Pi versions and some older smartphones.
-
-- **s390x**: This architecture is commonly used in IBM mainframe computers and offers high performance and reliability for enterprise workloads.
-</details>
-
-## Languages
-
-- Arabic
-- English
-- Persian
-- Traditional Chinese
-- Simplified Chinese
-- Japanese
-- Russian
-- Vietnamese
-- Spanish
-- Indonesian
-- Ukrainian
-- Turkish
-- Português (Brazil)
-
-
-## Features
-
-- System Status Monitoring
-- Search within all inbounds and clients
-- Dark/Light theme
-- Supports multi-user and multi-protocol
-- Supports protocols, including VMESS, VLESS, Trojan, Shadowsocks, Dokodemo-door, Socks, HTTP, wireguard
-- Supports XTLS native Protocols, including RPRX-Direct, Vision, REALITY
-- Traffic statistics, traffic limit, expiration time limit
-- Customizable Xray configuration templates
-- Supports HTTPS access panel (self-provided domain name + SSL certificate)
-- Supports One-Click SSL certificate application and automatic renewal
-- For more advanced configuration items, please refer to the panel
-- Fixes API routes (user setting will be created with API)
-- Supports changing configs by different items provided in the panel.
-- Supports export/import database from the panel
-
-
-## Default Panel Settings
-
-<details>
-  <summary>Click for default settings details</summary>
-
-### Username, Password, Port, and Web Base Path
-
-If you choose not to modify these settings, they will be generated randomly (this does not apply to Docker).
-
-**Default Settings for Docker:**
-- **Username:** admin
-- **Password:** admin
-- **Port:** 2053
-
-### Database Management:
-
-  You can conveniently perform database Backups and Restores directly from the panel.
-
-- **Database Path:**
-  - `/etc/x-ui/x-ui.db`
-
-
-### Web Base Path
-
-1. **Reset Web Base Path:**
-   - Open your terminal.
-   - Run the `x-ui` command.
-   - Select the option to `Reset Web Base Path`.
-
-2. **Generate or Customize Path:**
-   - The path will be randomly generated, or you can enter a custom path.
-
-3. **View Current Settings:**
-   - To view your current settings, use the `x-ui settings` command in the terminal or `View Current Settings` in `x-ui`
-
-### Security Recommendation:
-- For enhanced security, use a long, random word in your URL structure.
-
-**Examples:**
-- `http://ip:port/*webbasepath*/panel`
-- `http://domain:port/*webbasepath*/panel`
-
-</details>
-
-## WARP Configuration
-
-<details>
-  <summary>Click for WARP configuration details</summary>
-
-#### Usage
-
-**For versions `v2.1.0` and later:**
-
-WARP is built-in, and no additional installation is required. Simply turn on the necessary configuration in the panel.
-
-</details>
-
-## IP Limit
-
-<details>
-  <summary>Click for IP limit details</summary>
-
-#### Usage
-
-**Note:** IP Limit won't work correctly when using IP Tunnel.
-
-- **For versions up to `v1.6.1`:**
-  - The IP limit is built-in to the panel
-
-**For versions `v1.7.0` and newer:**
-
-To enable the IP Limit functionality, you need to install `fail2ban` and its required files by following these steps:
-
-1. Run the `x-ui` command in the terminal, then choose `IP Limit Management`.
-2. You will see the following options:
-
-   - **Change Ban Duration:** Adjust the duration of bans.
-   - **Unban Everyone:** Lift all current bans.
-   - **Check Logs:** Review the logs.
-   - **Fail2ban Status:** Check the status of `fail2ban`.
-   - **Restart Fail2ban:** Restart the `fail2ban` service.
-   - **Uninstall Fail2ban:** Uninstall Fail2ban with configuration.
-
-3. Add a path for the access log on the panel by setting `Xray Configs/log/Access log` to `./access.log` then save and restart xray.
-
-- **For versions before `v2.1.3`:**
-  - You need to set the access log path manually in your Xray configuration:
-
-    ```sh
-    "log": {
-      "access": "./access.log",
-      "dnsLog": false,
-      "loglevel": "warning"
-    },
-    ```
-
-- **For versions `v2.1.3` and newer:**
-  - There is an option for configuring `access.log` directly from the panel.
-
-</details>
-
-## Telegram Bot
-
-<details>
-  <summary>Click for Telegram bot details</summary>
-
-#### Usage
-
-The web panel supports daily traffic, panel login, database backup, system status, client info, and other notification and functions through the Telegram Bot. To use the bot, you need to set the bot-related parameters in the panel, including:
-
-- Telegram Token
-- Admin Chat ID(s)
-- Notification Time (in cron syntax)
-- Expiration Date Notification
-- Traffic Cap Notification
-- Database Backup
-- CPU Load Notification
-
-
-**Reference syntax:**
-
-- `30 \* \* \* \* \*` - Notify at the 30s of each point
-- `0 \*/10 \* \* \* \*` - Notify at the first second of each 10 minutes
-- `@hourly` - Hourly notification
-- `@daily` - Daily notification (00:00 in the morning)
-- `@weekly` - weekly notification
-- `@every 8h` - Notify every 8 hours
-
-### Telegram Bot Features
-
-- Report periodic
-- Login notification
-- CPU threshold notification
-- Threshold for Expiration time and Traffic to report in advance
-- Support client report menu if client's telegram username added to the user's configurations
-- Support telegram traffic report searched with UUID (VMESS/VLESS) or Password (TROJAN) - anonymously
-- Menu-based bot
-- Search client by email (only admin)
-- Check all inbounds
-- Check server status
-- Check depleted users
-- Receive backup by request and in periodic reports
-- Multi-language bot
-
-### Setting up Telegram bot
-
-- Start [Botfather](https://t.me/BotFather) in your Telegram account:
-    ![Botfather](./media/botfather.png)
-
-- Create a new Bot using /newbot command: It will ask you 2 questions, A name and a username for your bot. Note that the username has to end with the word "bot".
-    ![Create new bot](./media/newbot.png)
-
-- Start the bot you've just created. You can find the link to your bot here.
-    ![token](./media/token.png)
-
-- Enter your panel and config Telegram bot settings like below:
-![Panel Config](./media/panel-bot-config.png)
-
-Enter your bot token in input field number 3.
-Enter the user ID in input field number 4. The Telegram accounts with this id will be the bot admin. (You can enter more than one, Just separate them with ,)
-
-- How to get Telegram user ID? Use this [bot](https://t.me/useridinfobot), Start the bot and it will give you the Telegram user ID.
-![User ID](./media/user-id.png)
-
-</details>
-
-## API Routes
-
-<details>
-  <summary>Click for API routes details</summary>
-
-#### Usage
-
-- [API Documentation](https://www.postman.com/hsanaei/3x-ui/collection/q1l5l0u/3x-ui)
-- `/login` with `POST` user data: `{username: '', password: ''}` for login
-- `/panel/api/inbounds` base for following actions:
-
-| Method | Path                               | Action                                      |
-| :----: | ---------------------------------- | ------------------------------------------- |
-| `GET`  | `"/list"`                          | Get all inbounds                            |
-| `GET`  | `"/get/:id"`                       | Get inbound with inbound.id                 |
-| `GET`  | `"/getClientTraffics/:email"`      | Get Client Traffics with email              |
-| `GET`  | `"/getClientTrafficsById/:id"`     | Get client's traffic By ID |
-| `GET`  | `"/createbackup"`                  | Telegram bot sends backup to admins         |
-| `POST` | `"/add"`                           | Add inbound                                 |
-| `POST` | `"/del/:id"`                       | Delete Inbound                              |
-| `POST` | `"/update/:id"`                    | Update Inbound                              |
-| `POST` | `"/clientIps/:email"`              | Client Ip address                           |
-| `POST` | `"/clearClientIps/:email"`         | Clear Client Ip address                     |
-| `POST` | `"/addClient"`                     | Add Client to inbound                       |
-| `POST` | `"/:id/delClient/:clientId"`       | Delete Client by clientId\*                 |
-| `POST` | `"/updateClient/:clientId"`        | Update Client by clientId\*                 |
-| `POST` | `"/:id/resetClientTraffic/:email"` | Reset Client's Traffic                      |
-| `POST` | `"/resetAllTraffics"`              | Reset traffics of all inbounds              |
-| `POST` | `"/resetAllClientTraffics/:id"`    | Reset traffics of all clients in an inbound |
-| `POST` | `"/delDepletedClients/:id"`        | Delete inbound depleted clients (-1: all)   |
-| `POST` | `"/onlines"`                       | Get Online users ( list of emails )         |
-
-\*- The field `clientId` should be filled by:
-
-- `client.id` for VMESS and VLESS
-- `client.password` for TROJAN
-- `client.email` for Shadowsocks
-
-- [<img src="https://run.pstmn.io/button.svg" alt="Run In Postman" style="width: 128px; height: 32px;">](https://app.getpostman.com/run-collection/5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5%26entityType%3Dcollection%26workspaceId%3Dd64f609f-485a-4951-9b8f-876b3f917124)
-</details>
-
-## Environment Variables
-
-<details>
-  <summary>Click for environment variables details</summary>
-
-#### Usage
-
-| Variable       |                      Type                      | Default       |
-| -------------- | :--------------------------------------------: | :------------ |
-| XUI_LOG_LEVEL  | `"debug"` \| `"info"` \| `"warn"` \| `"error"` | `"info"`      |
-| XUI_DEBUG      |                   `boolean`                    | `false`       |
-| XUI_BIN_FOLDER |                    `string`                    | `"bin"`       |
-| XUI_DB_FOLDER  |                    `string`                    | `"/etc/x-ui"` |
-| XUI_LOG_FOLDER |                    `string`                    | `"/var/log"`  |
-
-Example:
-
-```sh
-XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go
-```
-
-</details>
-
-## Preview
-
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/01-overview-dark.png">
-  <img alt="3x-ui" src="./media/01-overview-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/02-inbounds-dark.png">
-  <img alt="3x-ui" src="./media/02-inbounds-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/03-add-inbound-dark.png">
-  <img alt="3x-ui" src="./media/03-add-inbound-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/04-add-client-dark.png">
-  <img alt="3x-ui" src="./media/04-add-client-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/05-settings-dark.png">
-  <img alt="3x-ui" src="./media/05-settings-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/06-configs-dark.png">
-  <img alt="3x-ui" src="./media/06-configs-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/07-bot-dark.png">
-  <img alt="3x-ui" src="./media/07-bot-light.png">
-</picture>
+For full documentation, please visit the [project Wiki](https://github.com/MHSanaei/3x-ui/wiki).
 
 ## A Special Thanks to
 
@@ -593,6 +37,20 @@ XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go
 - [Iran v2ray rules](https://github.com/chocolate4u/Iran-v2ray-rules) (License: **GPL-3.0**): _Enhanced v2ray/xray and v2ray/xray-clients routing rules with built-in Iranian domains and a focus on security and adblocking._
 - [Russia v2ray rules](https://github.com/runetfreedom/russia-v2ray-rules-dat) (License: **GPL-3.0**): _This repository contains automatically updated V2Ray routing rules based on data on blocked domains and addresses in Russia._
 
+## Support project
+
+**If this project is helpful to you, you may wish to give it a**:star2:
+
+<p align="left">
+  <a href="https://buymeacoffee.com/mhsanaei" target="_blank">
+    <img src="./media/buymeacoffe.png" alt="Image">
+  </a>
+</p>
+
+- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC`
+- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A`
+- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv`
+
 ## Stargazers over Time
 
 [![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui)

+ 29 - 569
README.ru_RU.md

@@ -7,590 +7,50 @@
   </picture>
 </p>
 
-**Продвинутая веб-панель • Построена на основе Xray Core**
+[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/releases)
+[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/actions)
+[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg?style=for-the-badge)](#)
+[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/releases/latest)
+[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true&style=for-the-badge)](https://www.gnu.org/licenses/gpl-3.0.en.html)
 
-[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases)
-[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](#)
-[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#)
-[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](#)
-[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html)
+**3X-UI** — продвинутая панель управления с открытым исходным кодом на основе веб-интерфейса, разработанная для управления сервером Xray-core. Предоставляет удобный интерфейс для настройки и мониторинга различных VPN и прокси-протоколов.
 
-> **Отказ от ответственности:** Этот проект предназначен только для личного обучения и общения. Пожалуйста, не используйте его в незаконных целях и не применяйте в производственной среде.
+> [!IMPORTANT]
+> Этот проект предназначен только для личного использования, пожалуйста, не используйте его в незаконных целях и в производственной среде.
 
-**Если этот проект оказался полезным для вас, вы можете оценить его, поставив звёздочку** :star2:
+Как улучшенная версия оригинального проекта X-UI, 3X-UI обеспечивает повышенную стабильность, более широкую поддержку протоколов и дополнительные функции.
 
-<p align="left">
-  <a href="https://buymeacoffee.com/mhsanaei" target="_blank">
-    <img src="./media/buymeacoffe.png" alt="Image">
-  </a>
-</p>
-
-- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC`
-- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A`
-- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv`
-
-## Установка и обновление
-
-```
-bash <(curl -Ls https://raw.githubusercontent.com/MHSanaei/3x-ui/refs/tags/v2.6.0/install.sh)
-```
-
-## Установить старую версию (мы не рекомендуем)
-
-Чтобы установить желаемую версию, используйте следующую команду установки. Например, ver `v1.7.9`:
-
-```
-VERSION=v1.7.9 && bash <(curl -Ls "https://raw.githubusercontent.com/mhsanaei/3x-ui/$VERSION/install.sh") $VERSION
-```
-
-## SSL Сертификат
-
-<details>
-  <summary>Нажмите для получения информации об SSL сертификате</summary>
-
-### ACME
+## Быстрый старт
 
-Для управления SSL сертификатами с помощью ACME:
-
-1. Убедитесь, что ваш домен правильно настроен и указывает на сервер.
-2. Выполните команду `x-ui` в терминале, затем выберите `SSL Certificate Management`.
-3. Вам будут предложены следующие опции:
-
-   - **Get SSL:** Получить SSL сертификаты.
-   - **Revoke:** Отозвать существующие SSL сертификаты.
-   - **Force Renew:** Принудительно перевыпустить SSL сертификаты.
-   - **Show Existing Domains:** Отобразить все сертификаты доменов, доступные на сервере.  
-   - **Set Certificate Paths for the Panel:** Укажите сертификат для вашего домена, который будет использоваться панелью.
-
-### Certbot
-
-Для установки и использования Certbot:
-
-```sh
-apt-get install certbot -y
-certbot certonly --standalone --agree-tos --register-unsafely-without-email -d вашдомен.com
-certbot renew --dry-run
 ```
-
-### Cloudflare
-
-Скрипт управления включает встроенное приложение для получения SSL сертификата через Cloudflare. Чтобы использовать этот скрипт для запроса сертификата, вам потребуется следующее:
-
-- Email, зарегистрированный в Cloudflare
-- Глобальный API-ключ Cloudflare
-- Доменное имя должно указывать на текущий сервер через Cloudflare
-
-**Как получить глобальный API-ключ Cloudflare:**
-
-1. Выполните команду `x-ui` в терминале, затем выберите `Cloudflare SSL Certificate`.
-2. Перейдите по ссылке: [Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens).
-3. Нажмите на "View Global API Key" (см. скриншот ниже):
-   ![](media/APIKey1.PNG)
-4. Возможно, вам потребуется повторно пройти аутентификацию. После этого ключ API будет отображён (см. скриншот ниже):
-   ![](media/APIKey2.png)
-
-При использовании просто введите ваше `доменное имя`, `email` и `API-ключ`. Схема приведена ниже:
-   ![](media/DetailEnter.png)
-
-</details>
-
-## Ручная установка и обновление
-
-<details>
-  <summary>Нажмите для получения информации о ручной установке</summary>
-
-#### Использование
-
-1. Чтобы скачать последнюю версию архива напрямую на ваш сервер, выполните следующую команду:
-
-```sh
-ARCH=$(uname -m)
-case "${ARCH}" in
-  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
-  i*86 | x86) XUI_ARCH="386" ;;
-  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
-  armv7* | armv7) XUI_ARCH="armv7" ;;
-  armv6* | armv6) XUI_ARCH="armv6" ;;
-  armv5* | armv5) XUI_ARCH="armv5" ;;
-  s390x) echo 's390x' ;;
-  *) XUI_ARCH="amd64" ;;
-esac
-
-
-wget https://github.com/MHSanaei/3x-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz
+$ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
 ```
 
-2. После загрузки архива выполните следующие команды для установки или обновления x-ui:
-
-```sh
-ARCH=$(uname -m)
-case "${ARCH}" in
-  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
-  i*86 | x86) XUI_ARCH="386" ;;
-  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
-  armv7* | armv7) XUI_ARCH="armv7" ;;
-  armv6* | armv6) XUI_ARCH="armv6" ;;
-  armv5* | armv5) XUI_ARCH="armv5" ;;
-  s390x) echo 's390x' ;;
-  *) XUI_ARCH="amd64" ;;
-esac
-
-cd /root/
-rm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui
-tar zxvf x-ui-linux-${XUI_ARCH}.tar.gz
-chmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh
-cp x-ui/x-ui.sh /usr/bin/x-ui
-cp -f x-ui/x-ui.service /etc/systemd/system/
-mv x-ui/ /usr/local/
-systemctl daemon-reload
-systemctl enable x-ui
-systemctl restart x-ui
-```
-
-</details>
-
-## Установка с помощью Docker
-
-<details>
-  <summary>Нажмите для получения информации о Docker</summary>
-
-#### Использование
-
-1. **Установите Docker:**
-
-   ```sh
-   bash <(curl -sSL https://get.docker.com)
-   ```
-
-2. **Склонируйте репозиторий проекта:**
-
-   ```sh
-   git clone https://github.com/MHSanaei/3x-ui.git
-   cd 3x-ui
-   ```
-
-3. **Запустите сервис:**
-
-   ```sh
-   docker compose up -d
-   ```
-
-  Добавьте параметр ```--pull always``` для автоматического обновления контейнера, когда публикуется новый образ. Подробности: https://docs.docker.com/reference/cli/docker/container/run/#pull
-
-   **ИЛИ**
-
-   ```sh
-   docker run -itd \
-      -e XRAY_VMESS_AEAD_FORCED=false \
-      -v $PWD/db/:/etc/x-ui/ \
-      -v $PWD/cert/:/root/cert/ \
-      --network=host \
-      --restart=unless-stopped \
-      --name 3x-ui \
-      ghcr.io/mhsanaei/3x-ui:latest
-   ```
-
-4. **Обновление до последней версии:**
-
-   ```sh
-   cd 3x-ui
-   docker compose down
-   docker compose pull 3x-ui
-   docker compose up -d
-   ```
-
-5. **Удаление 3x-ui из Docker:**
-
-   ```sh
-   docker stop 3x-ui
-   docker rm 3x-ui
-   cd --
-   rm -r 3x-ui
-   ```
-
-</details>
-
-## Настройки Nginx
-<details>
-  <summary>Нажмите чтобы просмотреть конфигурацию обратного прокси-сервера</summary>
-
-#### Обратный прокси-сервер Nginx
-```nginx
-location / {
-    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header X-Forwarded-Proto $scheme;
-    proxy_set_header Host $http_host;
-    proxy_set_header X-Real-IP $remote_addr;
-    proxy_set_header Range $http_range;
-    proxy_set_header If-Range $http_if_range; 
-    proxy_redirect off;
-    proxy_pass http://127.0.0.1:2053;
-}
-```
-
-#### Nginx sub-path
-- Убедитесь, что "корневой путь URL адреса панели" в настройках панели и `/sub` совпадают.
-- В настройках панели `url` должен заканчиваться на `/`.    
-
-```nginx
-location /sub {
-    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header X-Forwarded-Proto $scheme;
-    proxy_set_header Host $http_host;
-    proxy_set_header X-Real-IP $remote_addr;
-    proxy_set_header Range $http_range;
-    proxy_set_header If-Range $http_if_range; 
-    proxy_redirect off;
-    proxy_pass http://127.0.0.1:2053;
-}
-```
-</details>
-
-## Рекомендуемые ОС
-
-- Ubuntu 22.04+
-- Debian 12+
-- CentOS 8+
-- OpenEuler 22.03+
-- Fedora 36+
-- Arch Linux
-- Parch Linux
-- Manjaro
-- Armbian
-- AlmaLinux 9.5+
-- Rocky Linux 9.5+
-- Oracle Linux 8+
-- OpenSUSE Tubleweed
-- Amazon Linux 2023
-- Virtuozzo Linux 8+
-- Windows x64
-
-## Поддерживаемые архитектуры и устройства
-
-<details>
-  <summary>Нажмите для получения информации о поддерживаемых архитектурах и устройствах</summary>
-
-Наша платформа поддерживает разнообразные архитектуры и устройства, обеспечивая гибкость в различных вычислительных средах. Вот основные архитектуры, которые мы поддерживаем:
-
-- **amd64**: Эта распространенная архитектура является стандартом для персональных компьютеров и серверов, обеспечивая беспроблемную работу большинства современных операционных систем.
-
-- **x86 / i386**: Широко используется в настольных и портативных компьютерах. Эта архитектура имеет широкую поддержку со стороны множества операционных систем и приложений, включая, но не ограничиваясь, Windows, macOS и Linux.
-
-- **armv8 / arm64 / aarch64**: Предназначена для современных мобильных и встроенных устройств, таких как смартфоны и планшеты. Эта архитектура представлена устройствами, такими как Raspberry Pi 4, Raspberry Pi 3, Raspberry Pi Zero 2/Zero 2 W, Orange Pi 3 LTS и другими.
-
-- **armv7 / arm / arm32**: Служит архитектурой для старых мобильных и встроенных устройств, оставаясь широко используемой в таких устройствах, как Orange Pi Zero LTS, Orange Pi PC Plus, Raspberry Pi 2 и других.
-
-- **armv6 / arm / arm32**: Ориентирована на очень старые встроенные устройства, эта архитектура, хотя и менее распространенная, всё ещё используется. Например, такие устройства, как Raspberry Pi 1, Raspberry Pi Zero/Zero W, полагаются на эту архитектуру.
-
-- **armv5 / arm / arm32**: Более старая архитектура, ассоциируемая с ранними встроенными системами, сегодня менее распространена, но всё ещё может быть найдена в устаревших устройствах, таких как ранние версии Raspberry Pi и некоторые старые смартфоны.
-
-- **s390x**: Эта архитектура обычно используется в мейнфреймах IBM и обеспечивает высокую производительность и надежность для корпоративных рабочих нагрузок.
-</details>
-
-## Языки
-
-- Arabic (арабский)
-- English (английский)  
-- Persian (персидский)  
-- Traditional Chinese (традиционный китайский)  
-- Simplified Chinese (упрощенный китайский)  
-- Japanese (японский)  
-- Russian (русский)  
-- Vietnamese (вьетнамский)  
-- Spanish (испанский)  
-- Indonesian (индонезийский)  
-- Ukrainian (украинский)  
-- Turkish (турецкий)  
-- Português (Brazil) (португальский (Бразилия))
-
-## Возможности
-
-- Мониторинг состояния системы
-- Поиск по всем входящим подключениям и клиентам
-- Тёмная/светлая тема
-- Поддержка нескольких пользователей и протоколов
-- Поддержка протоколов, включая VMESS, VLESS, Trojan, Shadowsocks, Dokodemo-door, Socks, HTTP, WireGuard
-- Поддержка протоколов XTLS, включая RPRX-Direct, Vision, REALITY
-- Статистика трафика, ограничение трафика, ограничение по времени истечения
-- Настраиваемые шаблоны конфигурации Xray
-- Поддержка HTTPS доступа к панели (ваше доменное имя + SSL сертификат)
-- Поддержка установки SSL-сертификата в один клик и автоматического перевыпуска
-- Для получения более продвинутых настроек обращайтесь к панели
-- Исправляет маршруты API (настройка пользователя будет создана через API)
-- Поддержка изменения конфигураций по различным элементам, предоставленным в панели
-- Поддержка экспорта/импорта базы данных из панели
+Полную документацию смотрите в [вики проекта](https://github.com/MHSanaei/3x-ui/wiki).
 
-## Настройки панели по умолчанию
-
-<details>
-  <summary>Нажмите для получения информации о настройках по умолчанию</summary>
-
-### Имя пользователя, Пароль, Порт и Web Base Path
-
-Если вы не измените эти настройки, они будут сгенерированы случайным образом (это не относится к Docker).
-
-**Настройки по умолчанию для Docker:**
-- **Имя пользователя:** admin
-- **Пароль:** admin
-- **Порт:** 2053
-
-### Управление базой данных:
-
-Вы можете удобно выполнять резервное копирование и восстановление базы данных прямо из панели.
-
-- **Путь к базе данных:**
-  - `/etc/x-ui/x-ui.db`
-
-### Webbasepath
-
-1. **Сбросить webbasepath:**
-   - Откройте терминал.
-   - Выполните команду `x-ui`.
-   - Выберите опцию `Reset Web Base Path`.
-
-2. **Генерация или настройка пути:**
-   - Путь будет сгенерирован случайным образом, или вы можете ввести собственный путь.
-
-3. **Просмотр текущих настроек:**
-   - Чтобы просмотреть текущие настройки, используйте команду `x-ui settings` в терминале или опцию `View Current Settings` в `x-ui`.
-
-### Рекомендации по безопасности:
-- Для повышения безопасности используйте длинное случайное слово в структуре вашего URL.
-
-**Примеры:**
-- `http://ip_адрес:порт/*webbasepath*/panel`
-- `http://домен:порт/*webbasepath*/panel`
-
-</details>
-
-## Настройка WARP
-
-<details>
-  <summary>Нажмите для получения информации о настройке WARP</summary>
-
-#### Использование
-
-**Для версий `v2.1.0` и новее:**
-
-WARP встроен, и дополнительная установка не требуется. Просто включите необходимую конфигурацию в панели.
-
-</details>
-
-## Ограничение IP
-
-<details>
-  <summary>Нажмите для получения информации об ограничении IP</summary>
-
-#### Использование
-
-**Примечание:** Ограничение IP не будет работать корректно при использовании IP Tunnel.
-
-- **Для версий до `v1.6.1`:**
-  - Ограничение IP встроено в панель.
-
-**Для версий `v1.7.0` и новее:**
-
-Чтобы включить функциональность ограничения IP, вам нужно установить `fail2ban` и его необходимые файлы, выполнив следующие шаги:
-
-1. Выполните команду `x-ui` в терминале, затем выберите `IP Limit Management`.
-2. Вам будут предложены следующие опции:
-
-   - **Change Ban Duration:** Отрегулировать длительность блокировок.
-   - **Unban Everyone:** Снять все текущие блокировки.
-   - **Check Logs:** Просмотреть логи.
-   - **Fail2ban Status:** Проверить статус `fail2ban`.
-   - **Restart Fail2ban:** Перезапустить службу `fail2ban`.
-   - **Uninstall Fail2ban:** Удалить Fail2ban с его конфигурацией.
-
-3. Добавьте путь к логам доступа в панели, установив `Xray Configs/log/Access log` в `./access.log`, затем сохраните и перезапустите xray.
-
-- **Для версий до `v2.1.3`:**
-  - Вам нужно вручную установить путь к логам доступа в вашей конфигурации Xray:
-
-    ```sh
-    "log": {
-      "access": "./access.log",
-      "dnsLog": false,
-      "loglevel": "warning"
-    },
-    ```
-
-- **Для версий `v2.1.3` и новее:**
-  - Есть возможность настройки `access.log` непосредственно из панели.
-
-</details>
-
-## Телеграм-бот
-
-<details>
-  <summary>Нажмите для получения информации о телеграм-боте</summary>
-
-#### Использование
-
-Веб-панель поддерживает уведомления и функции, такие как ежедневный трафик, вход в панель, резервное копирование базы данных, состояние системы, информация о клиентах и другие, через телеграм-бота. Чтобы использовать бота, вам нужно настроить параметры, связанные с ботом, в панели, включая:
-
-- Токен Telegram
-- ID чата админа(-ов)
-- Время уведомлений (в синтаксисе cron)
-- Уведомления о дате истечения
-- Уведомления о лимите трафика
-- Резервное копирование базы данных
-- Уведомления о загрузке CPU
-
-**Примеры синтаксиса:**
-
-- `30 * * * * *` - Уведомлять на 30-й секунде каждого часа
-- `0 */10 * * * *` - Уведомлять на первой секунде каждых 10 минут
-- `@hourly` - Ежечасное уведомление
-- `@daily` - Ежедневное уведомление (в 00:00)
-- `@weekly` - Еженедельное уведомление
-- `@every 8h` - Уведомлять каждые 8 часов
-
-### Возможности телеграм-бота
-
-- Периодические отчеты
-- Уведомления о входе
-- Уведомления о пороге загруженности процессора
-- Уведомления о времени истечения и трафике заранее
-- Поддерживает меню отчетов клиента, если имя пользователя телеграм клиента добавлено в конфигурации пользователя
-- Поддержка отчета о трафике через Telegram, поиск по UUID (VMESS/VLESS) или паролю (TROJAN) - анонимно
-- Бот, основанный на меню
-- Поиск клиента по email (только администратор)
-- Проверка всех входящих соединений
-- Проверка состояния сервера
-- Проверка истекших пользователей
-- Получение резервных копий по запросу и в периодических отчётах
-- Многоязычный бот
-
-### Настройка телеграм-бота
-
-- Запустите [Botfather](https://t.me/BotFather) в вашем аккаунте Telegram:
-    ![Botfather](./media/botfather.png)
-
-- Создайте нового бота с помощью команды /newbot: у вас спросят 2 вопроса: отображаемое имя и имя пользователя для вашего бота. Обратите внимание, что имя пользователя должно заканчиваться на слово "bot".
-    ![Создать нового бота](./media/newbot.png)
-
-- Запустите созданного бота. Ссылку на вашего бота можно найти здесь.
-    ![токен](./media/token.png)
-
-- Перейдите в панель и настройте параметры телеграм-бота следующим образом:
-![Настройки панели](./media/panel-bot-config.png)
-
-Введите токен вашего бота в поле ввода номер 3.
-Введите ID пользователя в поле ввода номер 4. Telegram-аккаунты с этим ID будут администраторами бота. (Вы можете ввести несколько ID, разделяя их запятой)
-
-- Как получить ID пользователя Telegram? Используйте этот [бот](https://t.me/useridinfobot). Запустите бота, и он отобразит ваш ID пользователя Telegram.
-![ID пользователя](./media/user-id.png)
-
-</details>
-
-## Маршруты API
-
-<details>
-  <summary>Нажмите для получения информации о маршрутах API</summary>
-
-#### Использование
-
-- [API документация](https://www.postman.com/hsanaei/3x-ui/collection/q1l5l0u/3x-ui)
-- `/login` с `POST`-данными: `{username: '', password: ''}` для входа
-- `/panel/api/inbounds` это базовый путь для следующих действий:
-
-| Метод  | Путь                               | Действие
-| :----: | -----------------------------------| -------------------------------------------
-| `GET`  | `"/list"`                          | Получить все входящие соединения
-| `GET`  | `"/get/:id"`                       | Получить входящее соединение с inbound.id
-| `GET`  | `"/getClientTraffics/:email"`      | Получить трафик клиента по email
-| `GET`  | `"/getClientTrafficsById/:id"`     | Получить трафик клиента по ID
-| `GET`  | `"/createbackup"`                  | Telegram-бот отправит резервную копию администраторам
-| `POST` | `"/add"`                           | Добавить входящее соединение
-| `POST` | `"/del/:id"`                       | Удалить входящее соединение
-| `POST` | `"/update/:id"`                    | Обновить входящее соединение
-| `POST` | `"/clientIps/:email"`              | IP-адрес клиента
-| `POST` | `"/clearClientIps/:email"`         | Очистить IP-адреса клиента
-| `POST` | `"/addClient"`                     | Добавить клиента к входящему соединению
-| `POST` | `"/:id/delClient/:clientId"`       | Удалить клиента по clientId\*
-| `POST` | `"/updateClient/:clientId"`        | Обновить клиента по clientId\*
-| `POST` | `"/:id/resetClientTraffic/:email"` | Сбросить трафик клиента
-| `POST` | `"/resetAllTraffics"`              | Сбросить трафик всех входящих соединений
-| `POST` | `"/resetAllClientTraffics/:id"`    | Сбросить трафик всех клиентов в входящем соединении
-| `POST` | `"/delDepletedClients/:id"`        | Удалить истекших клиентов в входящем соединении (-1: всех)
-| `POST` | `"/onlines"`                       | Получить пользователей, которые находятся онлайн (список email'ов)
-
-\*- Поле `clientId` должно быть заполнено следующим образом:
-
-- `client.id` для VMESS и VLESS
-- `client.password` для TROJAN
-- `client.email` для Shadowsocks
-
-</details>
-
-
-- [<img src="https://run.pstmn.io/button.svg" alt="Run In Postman" style="width: 128px; height: 32px;">](https://app.getpostman.com/run-collection/5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5%26entityType%3Dcollection%26workspaceId%3Dd64f609f-485a-4951-9b8f-876b3f917124)
-</details>
-
-## Переменные среды
-
-<details>
-  <summary>Нажмите для получения информации о переменных среды</summary>
-
-#### Использование
-
-| Переменная       |                      Тип                       | Значение по умолчанию |
-| ---------------- | :------------------------------------------:   | :-------------------- |
-| XUI_LOG_LEVEL    | `"debug"` \| `"info"` \| `"warn"` \| `"error"` | `"info"`             |
-| XUI_DEBUG        |                   `boolean`                    | `false`              |
-| XUI_BIN_FOLDER   |                    `string`                    | `"bin"`              |
-| XUI_DB_FOLDER    |                    `string`                    | `"/etc/x-ui"`        |
-| XUI_LOG_FOLDER   |                    `string`                    | `"/var/log"`         |
-
-Пример:
-
-```sh
-XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go
-```
+## Особая благодарность
 
-</details>
+- [alireza0](https://github.com/alireza0/)
 
-## Предварительный Просмотр
+## Благодарности
 
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/01-overview-dark.png">
-  <img alt="3x-ui" src="./media/01-overview-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/02-inbounds-dark.png">
-  <img alt="3x-ui" src="./media/02-inbounds-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/03-add-inbound-dark.png">
-  <img alt="3x-ui" src="./media/03-add-inbound-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/04-add-client-dark.png">
-  <img alt="3x-ui" src="./media/04-add-client-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/05-settings-dark.png">
-  <img alt="3x-ui" src="./media/05-settings-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/06-configs-dark.png">
-  <img alt="3x-ui" src="./media/06-configs-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/07-bot-dark.png">
-  <img alt="3x-ui" src="./media/07-bot-light.png">
-</picture>
+- [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 на основе данных о заблокированных доменах и адресах в России._
 
-## Особая благодарность
+## Поддержка проекта
 
-- [alireza0](https://github.com/alireza0/)
+**Если этот проект полезен для вас, вы можете поставить ему**:star2:
 
-## Благодарности
+<p align="left">
+  <a href="https://buymeacoffee.com/mhsanaei" target="_blank">
+    <img src="./media/buymeacoffe.png" alt="Image">
+  </a>
+</p>
 
-- [Iran v2ray rules](https://github.com/chocolate4u/Iran-v2ray-rules) (License: **GPL-3.0**): _Enhanced v2ray/xray and v2ray/xray-clients routing rules with built-in Iranian domains and a focus on security and adblocking._
-- [Russia v2ray rules](https://github.com/runetfreedom/russia-v2ray-rules-dat) (License: **GPL-3.0**): _Этот репозиторий содержит автоматически обновляемые правила маршрутизации V2Ray на основе данных о заблокированных доменах и адресах в России._
+- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC`
+- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A`
+- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv`
 
-## Число звёзд со временем
+## Звезды с течением времени
 
-[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui)
+[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui) 

+ 29 - 562
README.zh_CN.md

@@ -7,583 +7,50 @@
   </picture>
 </p>
 
-**一个更好的面板 • 基于Xray Core构建**
+[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/releases)
+[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/actions)
+[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg?style=for-the-badge)](#)
+[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg?style=for-the-badge)](https://github.com/MHSanaei/3x-ui/releases/latest)
+[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true&style=for-the-badge)](https://www.gnu.org/licenses/gpl-3.0.en.html)
 
-[![](https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg)](https://github.com/MHSanaei/3x-ui/releases)
-[![](https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg)](#)
-[![GO Version](https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg)](#)
-[![Downloads](https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg)](#)
-[![License](https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true)](https://www.gnu.org/licenses/gpl-3.0.en.html)
+**3X-UI** — 一个基于网页的高级开源控制面板,专为管理 Xray-core 服务器而设计。它提供了用户友好的界面,用于配置和监控各种 VPN 和代理协议。
 
-> **Disclaimer:** 此项目仅供个人学习交流,请不要用于非法目的,请不要在生产环境中使用。
+> [!IMPORTANT]
+> 本项目仅用于个人使用和通信,请勿将其用于非法目的,请勿在生产环境中使用。
 
-**如果此项目对你有用,请给一个**:star2:
-
-<p align="left">
-  <a href="https://buymeacoffee.com/mhsanaei" target="_blank">
-    <img src="./media/buymeacoffe.png" alt="Image">
-  </a>
-</p>
-
-- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC`
-- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A`
-- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv`
-
-## 安装 & 升级
-
-```
-bash <(curl -Ls https://raw.githubusercontent.com/MHSanaei/3x-ui/refs/tags/v2.6.0/install.sh)
-```
-
-## 安装旧版本 (我们不建议)
-
-要安装您想要的版本,请使用以下安装命令。例如,ver `v1.7.9`:
-
-```
-VERSION=v1.7.9 && bash <(curl -Ls "https://raw.githubusercontent.com/mhsanaei/3x-ui/$VERSION/install.sh") $VERSION
-```
-
-### SSL证书
-
-<details>
-  <summary>点击查看SSL证书详情</summary>
-
-### ACME
-
-使用ACME管理SSL证书:
-
-1. 确保您的域名正确解析到服务器。
-2. 在终端中运行 `x-ui` 命令,然后选择 `SSL证书管理`。
-3. 您将看到以下选项:
-
-   - **Get SSL:** 获取SSL证书。
-   - **Revoke:** 吊销现有的SSL证书。
-   - **Force Renew:** 强制更新SSL证书。
-   - **Show Existing Domains:** 显示服务器上所有可用的域证书。  
-   - **Set Certificate Paths for the Panel:** 指定用于面板的域证书。
-
-### Certbot
-
-安装并使用Certbot:
-
-```sh
-apt-get install certbot -y
-certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com
-certbot renew --dry-run
-```
-
-### Cloudflare
-
-管理脚本内置了Cloudflare的SSL证书申请。要使用此脚本申请证书,您需要以下信息:
-
-- Cloudflare注册的电子邮件
-- Cloudflare全局API密钥
-- 域名必须通过Cloudflare解析到当前服务器
-
-**如何获取Cloudflare全局API密钥:**
-
-1. 在终端中运行 `x-ui` 命令,然后选择 `Cloudflare SSL证书`。
-2. 访问链接:[Cloudflare API Tokens](https://dash.cloudflare.com/profile/api-tokens)。
-3. 点击“查看全局API密钥”(参见下图):
-   ![](media/APIKey1.PNG)
-4. 您可能需要重新验证您的账户。之后将显示API密钥(参见下图):
-   ![](media/APIKey2.png)
-
-使用时,只需输入您的 `域名`、`电子邮件` 和 `API密钥`。如下图所示:
-   ![](media/DetailEnter.png)
-
-</details>
-
-## 手动安装 & 升级
-
-<details>
-  <summary>点击查看 手动安装 & 升级</summary>
-
-#### 使用
-
-1. 若要将最新版本的压缩包直接下载到服务器,请运行以下命令:
-
-```sh
-ARCH=$(uname -m)
-case "${ARCH}" in
-  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
-  i*86 | x86) XUI_ARCH="386" ;;
-  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
-  armv7* | armv7) XUI_ARCH="armv7" ;;
-  armv6* | armv6) XUI_ARCH="armv6" ;;
-  armv5* | armv5) XUI_ARCH="armv5" ;;
-  *) XUI_ARCH="amd64" ;;
-esac
+作为原始 X-UI 项目的增强版本,3X-UI 提供了更好的稳定性、更广泛的协议支持和额外的功能。
 
+## 快速开始
 
-wget https://github.com/MHSanaei/3x-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz
 ```
-
-2. 下载压缩包后,执行以下命令安装或升级 x-ui:
-
-```sh
-ARCH=$(uname -m)
-case "${ARCH}" in
-  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
-  i*86 | x86) XUI_ARCH="386" ;;
-  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
-  armv7* | armv7) XUI_ARCH="armv7" ;;
-  armv6* | armv6) XUI_ARCH="armv6" ;;
-  armv5* | armv5) XUI_ARCH="armv5" ;;
-  *) XUI_ARCH="amd64" ;;
-esac
-
-cd /root/
-rm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui
-tar zxvf x-ui-linux-${XUI_ARCH}.tar.gz
-chmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh
-cp x-ui/x-ui.sh /usr/bin/x-ui
-cp -f x-ui/x-ui.service /etc/systemd/system/
-mv x-ui/ /usr/local/
-systemctl daemon-reload
-systemctl enable x-ui
-systemctl restart x-ui
+$ bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
 ```
 
-</details>
-
-## 通过Docker安装
-
-<details>
-  <summary>点击查看 通过Docker安装</summary>
-
-#### 使用
-
-1. 安装Docker:
-
-   ```sh
-   bash <(curl -sSL https://get.docker.com)
-   ```
-
-2. 克隆仓库:
-
-   ```sh
-   git clone https://github.com/MHSanaei/3x-ui.git
-   cd 3x-ui
-   ```
-
-3. 运行服务:
-
-   ```sh
-   docker compose up -d
-   ```
-
-   或
-
-   ```sh
-   docker run -itd \
-      -e XRAY_VMESS_AEAD_FORCED=false \
-      -v $PWD/db/:/etc/x-ui/ \
-      -v $PWD/cert/:/root/cert/ \
-      --network=host \
-      --restart=unless-stopped \
-      --name 3x-ui \
-      ghcr.io/mhsanaei/3x-ui:latest
-   ```
-
-更新至最新版本
-
-   ```sh
-    cd 3x-ui
-    docker compose down
-    docker compose pull 3x-ui
-    docker compose up -d
-   ```
-
-从Docker中删除3x-ui
-
-   ```sh
-    docker stop 3x-ui
-    docker rm 3x-ui
-    cd --
-    rm -r 3x-ui
-   ```
-
-</details>
-
-
-## Nginx 设置
-<details>
-  <summary>点击查看 反向代理配置</summary>
-
-#### Nginx反向代理
-```nginx
-location / {
-    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header X-Forwarded-Proto $scheme;
-    proxy_set_header Host $http_host;
-    proxy_set_header X-Real-IP $remote_addr;
-    proxy_set_header Range $http_range;
-    proxy_set_header If-Range $http_if_range; 
-    proxy_redirect off;
-    proxy_pass http://127.0.0.1:2053;
-}
-```
-
-#### Nginx子路径
-- 确保 `/sub` 面板设置中的"面板url根路径"一致
-- 面板设置中的 `url` 需要以 `/` 结尾   
-
-```nginx
-location /sub {
-    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header X-Forwarded-Proto $scheme;
-    proxy_set_header Host $http_host;
-    proxy_set_header X-Real-IP $remote_addr;
-    proxy_set_header Range $http_range;
-    proxy_set_header If-Range $http_if_range; 
-    proxy_redirect off;
-    proxy_pass http://127.0.0.1:2053;
-}
-```
-</details>
-
-## 建议使用的操作系统
-
-- Ubuntu 22.04+
-- Debian 12+
-- CentOS 8+
-- OpenEuler 22.03+
-- Fedora 36+
-- Arch Linux
-- Parch Linux
-- Manjaro
-- Armbian
-- AlmaLinux 9.5+
-- Rocky Linux 9.5+
-- Oracle Linux 8+
-- OpenSUSE Tubleweed
-- Amazon Linux 2023
-- Virtuozzo Linux 8+
-- Windows x64
-
-## 支持的架构和设备
-<details>
-  <summary>点击查看 支持的架构和设备</summary>
-
-我们的平台提供与各种架构和设备的兼容性,确保在各种计算环境中的灵活性。以下是我们支持的关键架构:
-
-- **amd64**: 这种流行的架构是个人计算机和服务器的标准,可以无缝地适应大多数现代操作系统。
-
-- **x86 / i386**: 这种架构在台式机和笔记本电脑中被广泛采用,得到了众多操作系统和应用程序的广泛支持,包括但不限于 Windows、macOS 和 Linux 系统。
-
-- **armv8 / arm64 / aarch64**: 这种架构专为智能手机和平板电脑等当代移动和嵌入式设备量身定制,以 Raspberry Pi 4、Raspberry Pi 3、Raspberry Pi Zero 2/Zero 2 W、Orange Pi 3 LTS 等设备为例。
-
-- **armv7 / arm / arm32**: 作为较旧的移动和嵌入式设备的架构,它仍然广泛用于Orange Pi Zero LTS、Orange Pi PC Plus、Raspberry Pi 2等设备。
-
-- **armv6 / arm / arm32**: 这种架构面向非常老旧的嵌入式设备,虽然不太普遍,但仍在使用中。Raspberry Pi 1、Raspberry Pi Zero/Zero W 等设备都依赖于这种架构。
-
-- **armv5 / arm / arm32**: 它是一种主要与早期嵌入式系统相关的旧架构,目前不太常见,但仍可能出现在早期 Raspberry Pi 版本和一些旧智能手机等传统设备中。
-</details>
-
-## Languages
-
-- Arabic (阿拉伯)
-- English(英语)  
-- Persian(波斯语)  
-- Traditional Chinese(繁体中文)  
-- Simplified Chinese(简体中文)  
-- Japanese(日语)  
-- Russian(俄语)  
-- Vietnamese(越南语)  
-- Spanish(西班牙语)  
-- Indonesian(印尼语)  
-- Ukrainian(乌克兰语)  
-- Turkish(土耳其语)  
-- Português (Brazil)(葡萄牙语(巴西))
-
-
-## Features
-
-- 系统状态监控
-- 在所有入站和客户端中搜索
-- 深色/浅色主题
-- 支持多用户和多协议
-- 支持多种协议,包括 VMess、VLESS、Trojan、Shadowsocks、Dokodemo-door、Socks、HTTP、wireguard
-- 支持 XTLS 原生协议,包括 RPRX-Direct、Vision、REALITY
-- 流量统计、流量限制、过期时间限制
-- 可自定义的 Xray配置模板
-- 支持HTTPS访问面板(自建域名+SSL证书)
-- 支持一键式SSL证书申请和自动续费
-- 更多高级配置项目请参考面板
-- 修复了 API 路由(用户设置将使用 API 创建)
-- 支持通过面板中提供的不同项目更改配置。
-- 支持从面板导出/导入数据库
+完整文档请参阅 [项目Wiki](https://github.com/MHSanaei/3x-ui/wiki)。
 
+## 特别感谢
 
-## 默认面板设置
-
-<details>
-  <summary>点击查看默认设置详情</summary>
-
-### 用户名、密码、端口和 Web Base Path
-
-如果您选择不修改这些设置,它们将随机生成(不适用于 Docker)。
-
-**Docker 的默认设置:**
-- **用户名:** admin
-- **密码:** admin
-- **端口:** 2053
-
-### 数据库管理:
-
-  您可以直接在面板中方便地进行数据库备份和还原。
-
-- **数据库路径:**
-  - `/etc/x-ui/x-ui.db`
-
-### Web 基础路径
-
-1. **重置 Web 基础路径:**
-   - 打开终端。
-   - 运行 `x-ui` 命令。
-   - 选择 `重置 Web 基础路径` 选项。
-
-2. **生成或自定义路径:**
-   - 路径将会随机生成,或者您可以输入自定义路径。
-
-3. **查看当前设置:**
-   - 要查看当前设置,请在终端中使用 `x-ui settings` 命令,或在 `x-ui` 面板中点击 `查看当前设置`。
-
-### 安全建议:
-- 为了提高安全性,建议在URL结构中使用一个长的随机词。
-
-**示例:**
-- `http://ip:port/*webbasepath*/panel`
-- `http://domain:port/*webbasepath*/panel`
-
-</details>
-
-## WARP 配置
-
-<details>
-  <summary>点击查看 WARP 配置详情</summary>
-
-#### 使用方法
-
-**对于 `v2.1.0` 及之后的版本:**
-
-WARP 已内置,无需额外安装。只需在面板中开启相关配置即可。
-
-</details>
-
-## IP 限制
-
-<details>
-  <summary>点击查看 IP 限制详情</summary>
-
-#### 使用方法
-
-**注意:** 当使用 IP 隧道时,IP 限制将无法正常工作。
-
-- **对于 `v1.6.1` 及之前的版本:**
-  - IP 限制功能已内置于面板中。
-
-**对于 `v1.7.0` 及更新的版本:**
-
-要启用 IP 限制功能,您需要安装 `fail2ban` 及其所需的文件,步骤如下:
-
-1. 在终端中运行 `x-ui` 命令,然后选择 `IP 限制管理`。
-2. 您将看到以下选项:
-
-   - **更改封禁时长:** 调整封禁时长。
-   - **解除所有封禁:** 解除当前的所有封禁。
-   - **查看日志:** 查看日志。
-   - **Fail2ban 状态:** 检查 `fail2ban` 的状态。
-   - **重启 Fail2ban:** 重启 `fail2ban` 服务。
-   - **卸载 Fail2ban:** 卸载带有配置的 Fail2ban。
-
-3. 在面板中通过设置 `Xray 配置/log/访问日志` 为 `./access.log` 添加访问日志路径,然后保存并重启 Xray。
-
-- **对于 `v2.1.3` 之前的版本:**
-  - 您需要在 Xray 配置中手动设置访问日志路径:
-
-    ```sh
-    "log": {
-      "access": "./access.log",
-      "dnsLog": false,
-      "loglevel": "warning"
-    },
-    ```
-
-- **对于 `v2.1.3` 及之后的版本:**
-  - 面板中直接提供了配置 `access.log` 的选项。
-
-</details>
-
-## Telegram 机器人
-
-<details>
-  <summary>点击查看 Telegram 机器人</summary>
-
-#### 使用
-
-Web 面板通过 Telegram Bot 支持每日流量、面板登录、数据库备份、系统状态、客户端信息等通知和功能。要使用机器人,您需要在面板中设置机器人相关参数,包括:
-
-- 电报令牌
-- 管理员聊天 ID
-- 通知时间(cron 语法)
-- 到期日期通知
-- 流量上限通知
-- 数据库备份
-- CPU 负载通知
-
-
-**参考:**
-
-- `30 \* \* \* \* \*` - 在每个点的 30 秒处通知
-- `0 \*/10 \* \* \* \*` - 每 10 分钟的第一秒通知
-- `@hourly` - 每小时通知
-- `@daily` - 每天通知 (00:00)
-- `@weekly` - 每周通知
-- `@every 8h` - 每8小时通知
-
-### Telegram Bot 功能
-
-- 定期报告
-- 登录通知
-- CPU 阈值通知
-- 提前报告的过期时间和流量阈值
-- 如果将客户的电报用户名添加到用户的配置中,则支持客户端报告菜单
-- 支持使用UUID(VMESS/VLESS)或密码(TROJAN)搜索报文流量报告 - 匿名
-- 基于菜单的机器人
-- 通过电子邮件搜索客户端(仅限管理员)
-- 检查所有入库
-- 检查服务器状态
-- 检查耗尽的用户
-- 根据请求和定期报告接收备份
-- 多语言机器人
-
-### 注册 Telegram bot
-
-- 与 [Botfather](https://t.me/BotFather) 对话:
-    ![Botfather](./media/botfather.png)
-
-- 使用 /newbot 创建新机器人:你需要提供机器人名称以及用户名,注意名称中末尾要包含“bot”
-    ![创建机器人](./media/newbot.png)
-
-- 启动您刚刚创建的机器人。可以在此处找到机器人的链接。
-    ![令牌](./media/token.png)
-
-- 输入您的面板并配置 Telegram 机器人设置,如下所示:
-    ![面板设置](./media/panel-bot-config.png)
-
-在输入字段编号 3 中输入机器人令牌。
-在输入字段编号 4 中输入用户 ID。具有此 id 的 Telegram 帐户将是机器人管理员。 (您可以输入多个,只需将它们用“ ,”分开即可)
-
-- 如何获取TG ID? 使用 [bot](https://t.me/useridinfobot), 启动机器人,它会给你 Telegram 用户 ID。
-![用户 ID](./media/user-id.png)
-
-</details>
-
-## API 路由
-
-<details>
-  <summary>点击查看 API 路由</summary>
-
-#### 使用
-
-- [API 文档](https://www.postman.com/hsanaei/3x-ui/collection/q1l5l0u/3x-ui)
-- `/login` 使用 `POST` 用户名称 & 密码: `{username: '', password: ''}` 登录
-- `/panel/api/inbounds` 以下操作的基础:
-
-|  方法  | 路径                               | 操作                              |
-| :----: | ---------------------------------- | --------------------------------- |
-| `GET`  | `"/list"`                          | 获取所有入站                      |
-| `GET`  | `"/get/:id"`                       | 获取所有入站以及inbound.id        |
-| `GET`  | `"/getClientTraffics/:email"`      | 通过电子邮件获取客户端流量        |
-| `GET`  | `"/createbackup"`                  | Telegram 机器人向管理员发送备份   |
-| `POST` | `"/add"`                           | 添加入站                          |
-| `POST` | `"/del/:id"`                       | 删除入站                          |
-| `POST` | `"/update/:id"`                    | 更新入站                          |
-| `POST` | `"/clientIps/:email"`              | 客户端 IP 地址                    |
-| `POST` | `"/clearClientIps/:email"`         | 清除客户端 IP 地址                |
-| `POST` | `"/addClient"`                     | 将客户端添加到入站                |
-| `POST` | `"/:id/delClient/:clientId"`       | 通过 clientId\* 删除客户端        |
-| `POST` | `"/updateClient/:clientId"`        | 通过 clientId\* 更新客户端        |
-| `POST` | `"/:id/resetClientTraffic/:email"` | 重置客户端的流量                  |
-| `POST` | `"/resetAllTraffics"`              | 重置所有入站的流量                |
-| `POST` | `"/resetAllClientTraffics/:id"`    | 重置入站中所有客户端的流量        |
-| `POST` | `"/delDepletedClients/:id"`        | 删除入站耗尽的客户端 (-1: all) |
-| `POST` | `"/onlines"`                       | 获取在线用户 ( 电子邮件列表 )   |
-
-\*- `clientId` 项应该使用下列数据
-
-- `client.id`  VMESS and VLESS
-- `client.password`  TROJAN
-- `client.email`  Shadowsocks
-
-- [<img src="https://run.pstmn.io/button.svg" alt="Run In Postman" style="width: 128px; height: 32px;">](https://app.getpostman.com/run-collection/5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D5146551-dda3cab3-0e33-485f-96f9-d4262f437ac5%26entityType%3Dcollection%26workspaceId%3Dd64f609f-485a-4951-9b8f-876b3f917124)
-</details>
-
-## 环境变量
-
-<details>
-  <summary>点击查看 环境变量</summary>
-
-#### Usage
-
-| 变量           |                      Type                      | 默认          |
-| -------------- | :--------------------------------------------: | :------------ |
-| XUI_LOG_LEVEL  | `"debug"` \| `"info"` \| `"warn"` \| `"error"` | `"info"`      |
-| XUI_DEBUG      |                   `boolean`                    | `false`       |
-| XUI_BIN_FOLDER |                    `string`                    | `"bin"`       |
-| XUI_DB_FOLDER  |                    `string`                    | `"/etc/x-ui"` |
-| XUI_LOG_FOLDER |                    `string`                    | `"/var/log"`  |
-
-例子:
-
-```sh
-XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go
-```
-
-</details>
+- [alireza0](https://github.com/alireza0/)
 
-## 预览
+## 致谢
 
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/01-overview-dark.png">
-  <img alt="3x-ui" src="./media/01-overview-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/02-inbounds-dark.png">
-  <img alt="3x-ui" src="./media/02-inbounds-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/03-add-inbound-dark.png">
-  <img alt="3x-ui" src="./media/03-add-inbound-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/04-add-client-dark.png">
-  <img alt="3x-ui" src="./media/04-add-client-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/05-settings-dark.png">
-  <img alt="3x-ui" src="./media/05-settings-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/06-configs-dark.png">
-  <img alt="3x-ui" src="./media/06-configs-light.png">
-</picture>
-<picture>
-  <source media="(prefers-color-scheme: dark)" srcset="./media/07-bot-dark.png">
-  <img alt="3x-ui" src="./media/07-bot-light.png">
-</picture>
+- [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 路由规则。_
 
-## 特别感谢
+## 支持项目
 
-- [alireza0](https://github.com/alireza0/)
+**如果这个项目对您有帮助,您可以给它一个**:star2:
 
-## 致谢
+<p align="left">
+  <a href="https://buymeacoffee.com/mhsanaei" target="_blank">
+    <img src="./media/buymeacoffe.png" alt="Image">
+  </a>
+</p>
 
-- [Iran v2ray rules](https://github.com/chocolate4u/Iran-v2ray-rules) (License: **GPL-3.0**): _Enhanced v2ray/xray and v2ray/xray-clients routing rules with built-in Iranian domains and a focus on security and adblocking._
-- [Russia v2ray rules](https://github.com/runetfreedom/russia-v2ray-rules-dat) (License: **GPL-3.0**): _This repository contains automatically updated V2Ray routing rules based on data on blocked domains and addresses in Russia._
+- USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC`
+- MATIC (polygon): `0x41C9548675D044c6Bfb425786C765bc37427256A`
+- LTC (Litecoin): `ltc1q2ach7x6d2zq0n4l0t4zl7d7xe2s6fs7a3vspwv`
 
-## Star趋势
+## 随时间变化的星标数
 
-[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui)
+[![Stargazers over time](https://starchart.cc/MHSanaei/3x-ui.svg?variant=adaptive)](https://starchart.cc/MHSanaei/3x-ui) 

BIN
media/01-overview-dark.png


BIN
media/01-overview-light.png


BIN
media/02-inbounds-dark.png


BIN
media/02-inbounds-light.png


BIN
media/05-settings-dark.png


BIN
media/05-settings-light.png


BIN
media/06-configs-dark.png


BIN
media/06-configs-light.png


+ 16 - 3
web/html/index.html

@@ -226,8 +226,21 @@
                 </a-col>
                 <a-col :sm="24" :lg="12">
                   <a-card title='3X-UI' hoverable>
-                    <a rel="noopener" href="https://github.com/MHSanaei/3x-ui/releases" target="_blank"><a-tag color="green">v{{ .cur_ver }}</a-tag></a>
-                    <a rel="noopener" href="https://t.me/XrayUI" target="_blank"><a-tag color="green">@XrayUI</a-tag></a>
+                    <a rel="noopener" href="https://github.com/MHSanaei/3x-ui/releases" target="_blank">
+                      <a-tag color="green">
+                        <span>v{{ .cur_ver }}</span>
+                      </a-tag>
+                    </a>
+                    <a rel="noopener" href="https://t.me/XrayUI" target="_blank">
+                      <a-tag color="green">
+                        <span>@XrayUI</span>
+                      </a-tag>
+                    </a>
+                    <a rel="noopener" href="https://github.com/MHSanaei/3x-ui/wiki" target="_blank">
+                      <a-tag>
+                        <span>{{ i18n "pages.index.documentation" }}</span>
+                      </a-tag>
+                    </a>
                   </a-card>
                 </a-col>
                 <a-col :sm="24" :lg="12">
@@ -303,7 +316,7 @@
                 <a-col :sm="24" :lg="12">
                   <a-card title='{{ i18n "pages.index.ipAddresses" }}' hoverable>
                     <template #extra>
-                      <a-tooltip>
+                      <a-tooltip :placement="isMobile ? 'topRight' : 'top'">
                         <template #title>
                           {{ i18n "pages.index.toggleIpVisibility" }}
                         </template>

+ 1 - 0
web/translation/translate.ar_EG.toml

@@ -126,6 +126,7 @@
 "totalData" = "إجمالي البيانات"
 "sent" = "مرسل"
 "received" = "مستقبل"
+"documentation" = "التوثيق"
 "xraySwitchVersionDialog" = "هل تريد حقًا تغيير إصدار Xray؟"
 "xraySwitchVersionDialogDesc" = "سيؤدي هذا إلى تغيير إصدار Xray إلى #version#."
 "xraySwitchVersionPopover" = "تم تحديث Xray بنجاح"

+ 1 - 0
web/translation/translate.en_US.toml

@@ -126,6 +126,7 @@
 "totalData" = "Total Data"
 "sent" = "Sent"
 "received" = "Received"
+"documentation" = "Documentation"
 "xraySwitchVersionDialog" = "Do you really want to change the Xray version?"
 "xraySwitchVersionDialogDesc" = "This will change the Xray version to #version#."
 "xraySwitchVersionPopover" = "Xray updated successfully"

+ 1 - 0
web/translation/translate.es_ES.toml

@@ -128,6 +128,7 @@
 "totalData" = "Datos totales"
 "sent" = "Enviado"
 "received" = "Recibido"
+"documentation" = "Documentación"
 "xraySwitchVersionDialog" = "¿Realmente deseas cambiar la versión de Xray?"
 "xraySwitchVersionDialogDesc" = "Esto cambiará la versión de Xray a #version#."
 "xraySwitchVersionPopover" = "Xray se actualizó correctamente"

+ 1 - 0
web/translation/translate.fa_IR.toml

@@ -128,6 +128,7 @@
 "totalData" = "داده‌های کل"
 "sent" = "ارسال شده"
 "received" = "دریافت شده"
+"documentation" = "مستندات"
 "xraySwitchVersionDialog" = "آیا واقعاً می‌خواهید نسخه Xray را تغییر دهید؟"
 "xraySwitchVersionDialogDesc" = "این کار نسخه Xray را به #version# تغییر می‌دهد."
 "xraySwitchVersionPopover" = "Xray با موفقیت به‌روز شد"

+ 1 - 0
web/translation/translate.id_ID.toml

@@ -128,6 +128,7 @@
 "totalData" = "Total data"
 "sent" = "Dikirim"
 "received" = "Diterima"
+"documentation" = "Dokumentasi"
 "xraySwitchVersionDialog" = "Apakah Anda yakin ingin mengubah versi Xray?"
 "xraySwitchVersionDialogDesc" = "Ini akan mengubah versi Xray ke #version#."
 "xraySwitchVersionPopover" = "Xray berhasil diperbarui"

+ 1 - 0
web/translation/translate.ja_JP.toml

@@ -128,6 +128,7 @@
 "totalData" = "総データ量"
 "sent" = "送信"
 "received" = "受信"
+"documentation" = "ドキュメント"
 "xraySwitchVersionDialog" = "Xrayのバージョンを本当に変更しますか?"
 "xraySwitchVersionDialogDesc" = "Xrayのバージョンが#version#に変更されます。"
 "xraySwitchVersionPopover" = "Xrayの更新が成功しました"

+ 1 - 0
web/translation/translate.pt_BR.toml

@@ -128,6 +128,7 @@
 "totalData" = "Dados totais"
 "sent" = "Enviado"
 "received" = "Recebido"
+"documentation" = "Documentação"
 "xraySwitchVersionDialog" = "Você realmente deseja alterar a versão do Xray?"
 "xraySwitchVersionDialogDesc" = "Isso mudará a versão do Xray para #version#."
 "xraySwitchVersionPopover" = "Xray atualizado com sucesso"

+ 1 - 0
web/translation/translate.ru_RU.toml

@@ -128,6 +128,7 @@
 "totalData" = "Общий объем трафика"
 "sent" = "Отправлено"
 "received" = "Получено"
+"documentation" = "Документация"
 "xraySwitchVersionDialog" = "Переключить версию Xray"
 "xraySwitchVersionDialogDesc" = "Вы точно хотите сменить версию Xray?"
 "xraySwitchVersionPopover" = "Xray успешно обновлён"

+ 1 - 0
web/translation/translate.tr_TR.toml

@@ -128,6 +128,7 @@
 "totalData" = "Toplam veri"
 "sent" = "Gönderilen"
 "received" = "Alınan"
+"documentation" = "Dokümantasyon"
 "xraySwitchVersionDialog" = "Xray sürümünü gerçekten değiştirmek istiyor musunuz?"
 "xraySwitchVersionDialogDesc" = "Bu işlem Xray sürümünü #version# olarak değiştirecektir."
 "xraySwitchVersionPopover" = "Xray başarıyla güncellendi"

+ 1 - 0
web/translation/translate.uk_UA.toml

@@ -128,6 +128,7 @@
 "totalData" = "Загальний обсяг даних"
 "sent" = "Відправлено"
 "received" = "Отримано"
+"documentation" = "Документація"
 "xraySwitchVersionDialog" = "Ви дійсно хочете змінити версію Xray?"
 "xraySwitchVersionDialogDesc" = "Це змінить версію Xray на #version#."
 "xraySwitchVersionPopover" = "Xray успішно оновлено"

+ 1 - 0
web/translation/translate.vi_VN.toml

@@ -128,6 +128,7 @@
 "totalData" = "Tổng dữ liệu"
 "sent" = "Đã gửi"
 "received" = "Đã nhận"
+"documentation" = "Tài liệu"
 "xraySwitchVersionDialog" = "Bạn có chắc chắn muốn thay đổi phiên bản Xray không?"
 "xraySwitchVersionDialogDesc" = "Hành động này sẽ thay đổi phiên bản Xray thành #version#."
 "xraySwitchVersionPopover" = "Xray đã được cập nhật thành công"

+ 1 - 0
web/translation/translate.zh_CN.toml

@@ -128,6 +128,7 @@
 "totalData" = "总数据"
 "sent" = "已发送"
 "received" = "已接收"
+"documentation" = "文档"
 "xraySwitchVersionDialog" = "您确定要更改Xray版本吗?"
 "xraySwitchVersionDialogDesc" = "这将把Xray版本更改为#version#。"
 "xraySwitchVersionPopover" = "Xray 更新成功"

+ 1 - 0
web/translation/translate.zh_TW.toml

@@ -128,6 +128,7 @@
 "totalData" = "總數據"
 "sent" = "已發送"
 "received" = "已接收"
+"documentation" = "文件"
 "xraySwitchVersionDialog" = "您確定要變更Xray版本嗎?"
 "xraySwitchVersionDialogDesc" = "這將會把Xray版本變更為#version#。"
 "xraySwitchVersionPopover" = "Xray 更新成功"