|
|
7 hours ago | |
|---|---|---|
| .github | 19 hours ago | |
| .vscode | 1 month ago | |
| deploy | 3 weeks ago | |
| docs | 12 hours ago | |
| frontend | 20 hours ago | |
| internal | 7 hours ago | |
| media | 3 months ago | |
| tools | 1 week ago | |
| windows_files | 8 months ago | |
| .dockerignore | 2 months ago | |
| .env.example | 2 months ago | |
| .gitattributes | 1 month ago | |
| .gitignore | 2 weeks ago | |
| .golangci.yml | 2 weeks ago | |
| .nvmrc | 1 month ago | |
| CLAUDE.md | 19 hours ago | |
| CONTRIBUTING.md | 1 week ago | |
| DockerEntrypoint.sh | 2 months ago | |
| DockerInit.sh | 1 month ago | |
| Dockerfile | 1 week ago | |
| LICENSE | 3 years ago | |
| Makefile | 23 hours ago | |
| README.ar_EG.md | 12 hours ago | |
| README.es_ES.md | 12 hours ago | |
| README.fa_IR.md | 12 hours ago | |
| README.md | 12 hours ago | |
| README.ru_RU.md | 12 hours ago | |
| README.tr_TR.md | 12 hours ago | |
| README.zh_CN.md | 12 hours ago | |
| REVIEW.md | 19 hours ago | |
| SECURITY.md | 2 weeks ago | |
| bot_context_test.go | 2 days ago | |
| docker-compose.yml | 1 week ago | |
| go.mod | 1 day ago | |
| go.sum | 1 day ago | |
| install.sh | 1 day ago | |
| main.go | 2 weeks ago | |
| update.sh | 1 day ago | |
| x-ui.rc | 3 months ago | |
| x-ui.service.arch | 1 month ago | |
| x-ui.service.debian | 1 month ago | |
| x-ui.service.rhel | 1 month ago | |
| x-ui.sh | 1 day ago |
English | فارسی | العربية | 中文 | Español | Русский | Türkçe
3X-UI هي لوحة تحكم ويب متقدمة ومفتوحة المصدر لإدارة خوادم Xray-core. توفّر واجهة نظيفة ومتعددة اللغات لنشر وتكوين ومراقبة مجموعة واسعة من بروتوكولات الوكيل وVPN — من خادم VPS واحد إلى عمليات النشر متعددة العقد.
تم بناء 3X-UI كنسخة محسّنة (fork) من مشروع X-UI الأصلي، وتضيف دعمًا أوسع للبروتوكولات، واستقرارًا محسّنًا، ومحاسبة للترافيك لكل عميل، والعديد من ميزات تحسين تجربة الاستخدام.
[!IMPORTANT] هذا المشروع مخصص للاستخدام الشخصي فقط. يرجى عدم استخدامه لأغراض غير قانونية أو في بيئة إنتاجية.
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
لتثبيت إصدار محدد، أضِف وسمه (مثل v3.7.0):
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v3.7.0
لتثبيت بنية dev المتجددة (أحدث إصدار أولي لكل التزام (commit) من main، وليس إصدارًا مستقرًا)، مرّر dev-latest:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) dev-latest
أثناء التثبيت، يتم إنشاء اسم مستخدم وكلمة مرور ومسار وصول عشوائية. بعد التثبيت، شغّل x-ui لفتح قائمة الإدارة، حيث يمكنك بدء/إيقاف الخدمة، وعرض أو إعادة تعيين بيانات تسجيل الدخول، وإدارة شهادات SSL، والمزيد.
يُنشر مع كل ملف إصدار مجموع تحقق .sha256 بجانبه، ويتحقق كل من install.sh وأداة التحديث من الأرشيف مقابل هذا المجموع ويتوقفان عند عدم التطابق.
للحصول على الوثائق الكاملة — التثبيت والإعداد والتشغيل ومرجع API الكامل — قم بزيارة docs.sanaei.dev.
يعمل المثبِّت أيضًا بشكل غير تفاعلي لـ cloud-init.
عيّن XUI_NONINTERACTIVE=1 (أو مرّره عبر أنبوب دون TTY) وسيتولى التثبيت من البداية إلى النهاية
دون أي مطالبات، مُنشئًا بيانات اعتماد عشوائية وكاتبًا إياها في
/etc/x-ui/install-result.env. راجع deploy/ لـ:
أنظمة التشغيل: Ubuntu، Debian، Armbian، Fedora، CentOS، RHEL، AlmaLinux، Rocky Linux، Oracle Linux، Amazon Linux، Virtuozzo، Arch، Manjaro، Parch، openSUSE (Tumbleweed / Leap)، Alpine و Windows.
المعماريات: amd64 · 386 · arm64 (aarch64) · armv7 · armv6 · armv5 · s390x.
يدعم 3X-UI خلفيتين (backends) يتم اختيارهما أثناء التثبيت:
/etc/x-ui/x-ui.db. بدون إعداد، مثالي لعمليات النشر الصغيرة والمتوسطة.في وقت التشغيل، يتم اختيار الخلفية عبر متغيرات البيئة (يكتبها المثبِّت لك في /etc/default/x-ui):
XUI_DB_TYPE=postgres
XUI_DB_DSN=postgres://xui:[email protected]:5432/xui?sslmode=disable
x-ui migrate-db --dsn "postgres://xui:[email protected]:5432/xui?sslmode=disable"
# ثم عيّن XUI_DB_TYPE و XUI_DB_DSN في /etc/default/x-ui وأعد التشغيل:
systemctl restart x-ui
يبقى ملف SQLite الأصلي دون تغيير؛ احذفه يدويًا بعد التحقق من الخلفية الجديدة.
يستمر الأمر الافتراضي docker compose up -d في استخدام SQLite. للتشغيل مع خدمة PostgreSQL المرفقة، أزِل التعليق عن سطري متغيرات البيئة XUI_DB_* في docker-compose.yml وشغّل باستخدام البروفايل:
docker compose --profile postgres up -d
تتضمن الصورة Fail2ban (مُفعَّل افتراضيًا) لفرض حدود IP لكل عميل. يحظر Fail2ban المخالفين باستخدام iptables، الذي يتطلب صلاحية NET_ADMIN. يمنح docker-compose.yml هذه الصلاحية مسبقًا عبر cap_add؛ إذا شغّلت الحاوية باستخدام docker run بدلاً من ذلك، فأضِف الصلاحيات بنفسك، وإلا فسيتم تسجيل عمليات الحظر دون تطبيقها أبدًا:
docker run -d --cap-add=NET_ADMIN --cap-add=NET_RAW ... ghcr.io/mhsanaei/3x-ui
| المتغير | الوصف | الافتراضي |
|---|---|---|
XUI_DB_TYPE |
خلفية قاعدة البيانات: sqlite أو postgres |
sqlite |
XUI_DB_DSN |
سلسلة اتصال PostgreSQL (عندما XUI_DB_TYPE=postgres) |
— |
XUI_DB_FOLDER |
مجلد ملف قاعدة بيانات SQLite | /etc/x-ui |
XUI_DB_MAX_OPEN_CONNS |
الحد الأقصى للاتصالات المفتوحة (تجمّع PostgreSQL) | — |
XUI_DB_MAX_IDLE_CONNS |
الحد الأقصى للاتصالات الخاملة (تجمّع PostgreSQL) | — |
XUI_INIT_WEB_BASE_PATH |
مسار URI الأولي للوحة الويب | / |
XUI_ENABLE_FAIL2BAN |
تفعيل فرض حدود IP المعتمد على Fail2ban | true |
XUI_LOG_LEVEL |
مستوى السجل (debug، info، warning، error) |
info |
XUI_DEBUG |
تفعيل وضع التصحيح | false |
XUI_TUNNEL_HEALTH_MONITOR |
تفعيل مراقب صحة النفق (يفحص عنوان URL ويعيد تشغيل xray بعد فشل متكرر؛ إعادة التشغيل تقطع جميع العملاء) | false |
XUI_TUNNEL_HEALTH_PROXY |
الوكيل الذي يُرسَل عبره الفحص؛ وجّهه إلى اتصال xray وارد محلي ليختبر الفحص النفق (مثل socks5://127.0.0.1:1080). القيمة الفارغة تعني أن الفحص يتحقق فقط من اتصال المضيف |
— |
XUI_TUNNEL_HEALTH_URL |
عنوان URL الذي يُفحَص لمعرفة صحة النفق | https://www.cloudflare.com/cdn-cgi/trace |
XUI_TUNNEL_HEALTH_INTERVAL |
الفترة بين عمليات الفحص | 30s |
XUI_TUNNEL_HEALTH_TIMEOUT |
مهلة كل عملية فحص | 10s |
XUI_TUNNEL_HEALTH_FAILURES |
عدد حالات الفشل المتتالية قبل تشغيل إعادة التشغيل | 3 |
XUI_TUNNEL_HEALTH_COOLDOWN |
الحد الأدنى للتأخير بين عمليات إعادة التشغيل المتتالية | 5m |
NODE_TOKEN_ENCRYPTION |
تشفير رموز API الخاصة بالعقد أثناء التخزين: off أو migration أو required (بدون البادئة XUI_) |
off |
XUI_NODE_TOKEN_KEY_FILE |
حلقة مفاتيح JSON (بأذونات 0600) تضم معرّف المفتاح النشط ومفاتيح 32 بايت بترميز base64 |
/etc/x-ui/node_token_key.json |
XUI_NODE_TOKEN_KEY |
مفتاح واحد بطول 32 بايت بترميز base64، يُستخدم فقط عند تعذّر تحميل ملف المفاتيح | — |
القائمة الكاملة متوفرة في مرجع متغيرات البيئة.
تتوفر واجهة اللوحة بـ 13 لغة:
English · فارسی · العربية · 中文(简体) · 中文(繁體) · Español · Русский · Українська · Türkçe · Tiếng Việt · 日本語 · Bahasa Indonesia · Português (Brasil)
المساهمات مرحب بها. يرجى قراءة دليل المساهمة قبل فتح مشكلة (issue) أو طلب سحب (pull request).
أدوات وتكاملات بناها المجتمع حول 3x-ui.
إذا كان هذا المشروع مفيدًا لك، فقد ترغب في إعطائه:star2: