كيفية تثبيت لوحة 3X-UI على VPS
دليل كامل موجّه للإنتاج لتثبيت لوحة 3X-UI لـ Xray على Ubuntu، وتأمين واجهة الويب، وإصدار TLS، وإنشاء وارد VLESS Reality، وإدارة المستخدمين، وربط العملاء على سطح المكتب والجوال.

3X-UI لوحة ويب لـ Xray-core. تتيح لك إدارة الواردات (VLESS وVMess وTrojan وShadowsocks وغيرها)، وإصدار روابط الاشتراك، وتعيين حدود حركة المرور وتواريخ الانتهاء، ومراقبة الاتصالات الحية دون تحرير JSON يدويًا. لمن يديرون VPS بالفعل، فهي من أسرع الطرق للحصول على حزمة وكيل قابلة للصيانة بدل إعداد لمرة واحدة لا يستطيع أحد تحديثه بعد ستة أشهر.
كُتب هذا الدليل لـ VPS جديد بنظام Ubuntu 22.04 أو 24.04، وهو ما تبدو عليه معظم صور Linux لدى Hiddence بعد الإقلاع الأول. سنثبّت بناء MHSanaei 3X-UI الشائع، ونغيّر كل سر افتراضي عند أول تسجيل دخول، ونضع اللوحة خلف HTTPS، ونفتح المنافذ التي تحتاجها فعليًا فقط، وننشئ وارد VLESS + Reality، ثم نمر على تطبيقات العملاء. إذا اتبعت مقال Marzban سابقًا فالفكرة مشابهة — لوحة فوق Xray — لكن مسار التثبيت وتخطيط الملفات وسير العمل اليومي مختلفة، فلا تخلط الاثنتين على الخادم نفسه ما لم تعرف حقًا كيف تفصل المنافذ.
لماذا 3X-UI بدل إعداد Xray الخام
إعداد Xray الخام مناسب لمستخدم واحد ووارد واحد. في اللحظة التي تضيف فيها أصدقاء، أو تدور مفاتيح Reality، أو تحتاج عنوان اشتراك تستورده الهواتف بنقرة واحدة، توفر اللوحة ساعات. تخزّن 3X-UI المستخدمين في قاعدة بيانات محلية، ويمكنها إعادة تشغيل Xray بشكل نظيف بعد التغييرات، وتعرض لوحة مدمجة للحركة والحالة المتصلة. ليست طبقة إخفاء سحرية بحد ذاتها: موقع VPS وبصمة TLS ونوع الوارد ونظافتك التشغيلية ما زالت تقرر كيف يتصرف الإعداد على الشبكة.
- واجهة ويب للواردات والعملاء والحركة والانتهاء بدل JSON المحرَّر يدويًا
- روابط اشتراك مدمجة لـ v2rayN وv2rayNG وStreisand وHapp والعملاء المشابهة
- تثبيت بأمر واحد مع مسار تحديث موثَّق
- تعمل جيدًا على VPS صغير (1 vCPU / 1 غيغابايت RAM تكفي للاستخدام الشخصي)
- تحتفظ بـ root على خادمك — اللوحة لا ترسل الإعدادات إلى سحابة طرف ثالث
ما تحتاجه قبل أن تبدأ
لا تتخطَّ أجزاء النطاق وجدار الحماية. لوحة متروكة على HTTP عند المنفذ 2053 بكلمة المرور الافتراضية تُمسح من الروبوتات خلال ساعات. جهّز هذه العناصر ثم اتصل كـ root (أو مستخدم sudo) عبر SSH.
- VPS بنظام Linux وعنوان IPv4 عام (يُفضَّل Ubuntu 22.04/24.04)
- غيغابايت RAM واحد على الأقل و10 غيغابايت قرص؛ غيغابايتان أريح إن كنت تشغّل خدمات أخرى أيضًا
- وصول root أو sudo عبر SSH
- نطاق أو نطاق فرعي يشير بسجل A إلى عنوان IP الخاص بـ VPS (لازم لشهادة لوحة سليمة)
- نحو 20–30 دقيقة، إضافة إلى انتظار DNS إن كنت أنشأت سجل A للتو
الخطوة 1: حدّث النظام واضبط المنطقة الزمنية
غالبًا ما يحتوي VPS جديد على تحديثات أمنية معلّقة وعلى UTC كساعة. حدّث الحزم أولًا حتى لا يصارع المثبّت OpenSSL أو curl قديمًا. ضبط المنطقة الزمنية اختياري لـ Xray نفسه، لكنه يجعل سجلات اللوحة وتواريخ انتهاء الشهادات أسهل بكثير في القراءة.
ssh root@YOUR_VPS_IP
apt update && apt -y upgrade
apt -y install curl wget ca-certificates gnupg socat tar unzip
timedatectl set-timezone UTC
hostnamectl set-hostname panel
# Confirm DNS for your subdomain (should print your VPS IP):
dig +short panel.example.comالخطوة 2: ثبّت 3X-UI
سكريبت التثبيت الرسمي لبناء MHSanaei 3X-UI ينزّل أحدث إصدار، ويثبّت Xray-core، وينشئ خدمة systemd، ويطبع عنوان أول تسجيل دخول. اقرأ المخرجات بعناية: تحتوي مسارًا عشوائيًا واسم مستخدم/كلمة مرور مولَّدين. انسخهما فورًا إلى مدير كلمات مرور. إن سأل السكريبت عن منفذ اللوحة فاحتفظ بـ 2053 أو اختر منفذًا عاليًا غير مستخدم؛ فقط تذكّره لخطوة جدار الحماية.
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
# After install, useful commands:
x-ui # interactive menu (start/stop/restart, reset, update)
systemctl status x-ui # confirm the service is active
ss -tulpn | grep x-ui # see which port the panel listens onالخطوة 3: أول تسجيل دخول وتأمين فوري
افتح العنوان الذي طبعه المثبّت، عادة http://YOUR_IP:2053/<random-path>. سجّل الدخول بالبيانات المولَّدة ثم اذهب إلى إعدادات اللوحة (أو التكوين). غيّر اسم المستخدم وكلمة المرور إلى قيم فريدة. إن سمحت اللوحة بتغيير مسار الويب الأساسي فافعل ذلك — مسار عشوائي طويل يقطع قدرًا هائلًا من المسح العابر. اضبط منفذ الاستماع إن أردت شيئًا غير 2053. احفظ وأعد تشغيل اللوحة من الواجهة أو بـ systemctl restart x-ui ثم سجّل الدخول مجددًا على العنوان الجديد.
بعد ذلك فعّل المصادقة الثنائية إن وفّرها بناؤك، وعطّل قوالب الوارد غير المستخدمة التي لن تستخدمها أبدًا. ضمن إعدادات Xray اترك إصدار النواة الذي جاء مع اللوحة ما لم يكن لديك سبب محدد لتثبيت بناء آخر. لا تعرض اللوحة على المنفذ 80/443 بعد إن كانت هذه المنافذ ستُستخدم لاحقًا من Reality أو وكيل عكسي — اختر استراتيجية واحدة والتزم بها.
- استبدل دخول المسؤول المولَّد فورًا
- احتفظ بمسار الويب السري؛ لا تنقل اللوحة إلى /
- فضّل منفذ لوحة غير افتراضي وسجّله
- لا تعِد استخدام كلمة المرور هذه على خدمات أخرى
الخطوة 4: شهادة TLS للوحة
ستحذّر المتصفحات من HTTP، وإرسال كلمة مرور المسؤول نصًا واضحًا على شبكة عامة فكرة سيئة. تستطيع 3X-UI طلب شهادة Let's Encrypt إن كان المنفذ 80 حرًا والنطاق يشير إلى هذا VPS. في اللوحة افتح قسم الشهادة / SSL، أدخل panel.example.com، واطلب الشهادة. إن كان المنفذ 80 مشغولًا فاستخدم تدفق DNS-01 أو ضع Caddy/Nginx أمامها ووكّل عكسيًا إلى 127.0.0.1:2053.
# Quick check that port 80 is free before the panel ACME challenge:
ss -tulpn | grep ':80'
# If you terminate TLS on Caddy instead of inside 3X-UI:
# Caddyfile example (panel stays on 127.0.0.1:2053):
# panel.example.com {
# reverse_proxy 127.0.0.1:2053
# }الخطوة 5: أنشئ وارد VLESS Reality
في الواردات أنشئ واردًا جديدًا. افتراضي متين لكثير من الشبكات هو VLESS مع Reality وTCP. اختر منفذًا ليس منفذ اللوحة — 443 شائع إن لم يكن شيء آخر مرتبطًا هناك؛ وإلا استخدم منفذ TCP عاليًا وكن متسقًا في جدار الحماية. ولّد UUID للعميل الأول، وولّد أزواج مفاتيح Reality في الواجهة، واضبط dest / serverNames على هدف شرعي يُسمح لك بمحاكاته (موقع معروف يدعم TLS 1.3). احفظ الوارد وتأكد أن Xray أعاد التحميل دون أخطاء في سجلات اللوحة.
ثم أضف عملاء إضافيين على ذلك الوارد إن احتجتهم: كل مستخدم يحصل على UUID، ووسم بريد اختياري، وحد حركة أو زمن اختياري. انسخ رابط الاتصال أو عنوان الاشتراك من صف المستخدم. لا تنشر تلك الروابط في محادثات عامة؛ فهي تعادل كلمة مرور.
# On the server, confirm Xray is listening on the inbound port (example: 443):
ss -tulpn | grep -E ':443|:2053'
# Follow Xray logs if a client cannot connect:
journalctl -u x-ui -fالخطوة 6: جدار الحماية — المنافذ التي تحتاجها فقط
UFW على Ubuntu كافٍ. اسمح بـ SSH أولًا حتى لا تغلق على نفسك، ثم منفذ اللوحة ومنفذ الوارد. إن طلبت شهادة Let's Encrypt من اللوحة فاسمح أيضًا بـ 80/tcp أثناء الإصدار. وارد Reality على 443 يحتاج 443/tcp (وليس اللوحة على المنفذ نفسه).
ufw allow OpenSSH
ufw allow 2053/tcp comment '3x-ui panel (change if you picked another port)'
ufw allow 443/tcp comment 'VLESS Reality inbound'
# ufw allow 80/tcp comment 'only if panel ACME needs it'
ufw enable
ufw status verboseربط العملاء
على Windows يستطيع v2rayN استيراد رابط VLESS من الحافظة. على Android يفعل v2rayNG أو عملاء Xray المشابهة الشيء نفسه من رمز QR. على iOS استخدم عميلًا يدعم VLESS Reality (مثل Streisand أو Happ حسب المتاح حاليًا في منطقتك). بعد الاستيراد فعّل الملف الشخصي وتحقق من قائمة المتصلين في اللوحة. إن بقي العميل غير متصل فالأسباب المعتادة منفذ خاطئ، أو UDP متروك لوارد TCP فقط، أو serverName في Reality لا يطابق dest، أو جدار حماية محلي على الحاسوب المحمول.
- Windows: v2rayN — استورد رابط VLESS واضبط التوجيه حسب حاجتك (عالمي مقابل قائم على القواعد)
- Android: v2rayNG — امسح QR من صفحة مستخدم اللوحة
- macOS / iOS: عميل بدعم VLESS + Reality؛ الصق الرابط نفسه
- عنوان الاشتراك: أضفه في العميل حتى لا تتطلب دوران UUID إعادة استيراد يدوية
التحديثات والنسخ الاحتياطي وأمان إعادة التثبيت
قبل كل تحديث للوحة نزّل نسخة احتياطية من الواجهة (قاعدة البيانات + الإعداد). خزّنها خارج VPS. التحديثات عادة x-ui ثم خيار التحديث في القائمة، أو سكريبت التثبيت نفسه الذي يكتشف تثبيتًا موجودًا. بعد التحديث تأكد أن خدمة systemd نشطة وأن الواردات ما زالت تستمع. إن أعدت تثبيت نظام التشغيل فاستعد النسخة في اللوحة بدل إعادة إنشاء كل UUID يدويًا.
x-ui # choose update when prompted, or:
# bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
# Backup files commonly live under /etc/x-ui/ — copy them off-box:
ls -la /etc/x-ui/
# Example offsite copy:
# scp -r /etc/x-ui/ you@backup-host:~/x-ui-backup-$(date +%F)/استكشاف الأخطاء
معظم إخفاقات اليوم الأول DNS أو منافذ أو حقول Reality. مرّ على هذه القائمة قبل إعادة تثبيت اللوحة. إعادة التثبيت دون نسخة احتياطية هي كيف يفقد الناس كل UUID للعملاء.
- لا تفتح واجهة الويب: تحقق من systemctl status x-ui وss -tulpn وUFW. تأكد أنك أدرجت المسار السري في العنوان.
- نسيت كلمة مرور المسؤول: شغّل x-ui على الخادم واستخدم خيار إعادة التعيين.
- العميل يتصل ثم يتوقف: منفذ الوارد محظور، أو فعّلت UDP على وارد Reality بـ TCP فقط.
- أخطاء TLS على اللوحة: سجل A للنطاق لا يشير إلى هنا بعد، أو المنفذ 80 مشغول أثناء ACME.
- فشل مصافحة Reality: عدم تطابق dest/serverNames، أو خدمة أخرى مرتبطة أصلًا بـ 443.
- معالج مرتفع: واردات كثيرة على خطة 1 vCPU، أو مسح/فيضان على منفذ مفتوح — تحقق من ss وعدد المتصلين في اللوحة.
ملاحظات أمان تهم فعلًا
عامل اللوحة كبرمجيات إدارة إنتاج. تستطيع إنشاء مستخدمين جدد وقراءة كل UUID. قيّد من يصل إلى منفذ الويب: إن كان لديك عنوان IP مكتبي ثابت فاسمح لذلك العنوان فقط في UFW لـ 2053/tcp. أبقِ SSH على مفاتيح لا كلمات مرور. لا تشغّل مواقع عامة غير ذات صلة على عنوان IP نفسه إن كنت تستخدم Reality على 443 — مكدسات TLS متنافسة على منفذ واحد مصدر كلاسيكي للانقطاع. دوّر كلمة مرور المسؤول إن تسرب لقطة شاشة للوحة إلى محادثة يومًا.
- مفاتيح SSH فقط؛ عطّل تسجيل الدخول بكلمة المرور بعد عمل المفاتيح
- قيّد منفذ اللوحة في جدار الحماية عندما تستطيع
- انسخ /etc/x-ui خارج الخادم وفق جدول
- لا تشارك عناوين الاشتراك في مجموعات Telegram العامة
- راقب القرص: السجلات وإحصاءات الحركة تنمو على وارد مزدحم
نصائح عملية
- وارد واحد مع عملاء كثر أسهل تشغيلًا من عشرة واردات شبه متطابقة
- سمِّ العملاء حسب الجهاز (laptop-anna، phone-ben) حتى تعني مخططات الحركة شيئًا
- إن احتجت وكيلًا عكسيًا لموقع أيضًا فضع الموقع على عنوان IP آخر أو منفذ آخر — لا تقاتل Reality على 443
- بعد أي إعادة تشغيل لـ x-ui اختبر عميلًا واحدًا قبل مغادرة جلسة SSH
- اقرأ سجل التغييرات قبل التحديث؛ تجنّب قفزات «latest» ليلة الجمعة
لديك الآن 3X-UI مثبتة كخدمة systemd، وعنوان مسؤول مُقفل، وTLS على اللوحة، ووارد VLESS Reality، وقواعد جدار حماية تطابق تلك المنافذ، وعادة نسخ احتياطي. أضف العملاء من صفحة الوارد، واستورد الرابط على كل جهاز، وحدّث اللوحة فقط بعد نسخة احتياطية. إن انكسر شيء فمسار الاستعادة قائمة x-ui على VPS — لا إعادة تثبيت كاملة.