v3.5.0-awg.1 is now tagged and promoted to Latest, so the plain no-argument install.sh command resolves to something real for the first time. Restructured Quick Start in all 7 READMEs to lead with it, followed by the explicit-version and dev-channel variants (matching upstream's own three-command Quick Start layout), replacing the now-outdated "this fork only ever publishes dev-latest" note.
20 KiB
English | فارسی | العربية | 中文 | Español | Русский | Türkçe
هذه نسخة محسّنة (fork) شخصية من 3X-UI — لوحة تحكم ويب متقدمة ومفتوحة المصدر لـ Xray-core — بإضافة رئيسية واحدة: دعم نيتيف لـ AmneziaWG كبروتوكول من الدرجة الأولى إلى جانب VLESS وVMess وTrojan وغيرها. كل ما كان 3X-UI يقوم به سابقًا (اتصالات واردة متعددة البروتوكولات، محاسبة الترافيك لكل عميل، الاشتراكات، تعدد العقد، روبوت تيليجرام) يبقى دون تغيير ويعمل تمامًا كما في المشروع الأصلي.
بُنيت هذه النسخة لتعمل على أجهزة التوجيه والخوادم الشخصية لصاحبها؛ وليست بديلاً أو منافسًا للمشروع الأصلي. إذا كنت تبحث عن اللوحة متعددة الأغراض، توجّه إلى MHSanaei/3x-ui — كل ما يلي هنا يوثّق فقط الفروقات في هذه النسخة.
Important
هذا المشروع مخصص للاستخدام الشخصي فقط. يرجى عدم استخدامه لأغراض غير قانونية أو في بيئة إنتاجية.
ما الذي يختلف في هذه النسخة: AmneziaWG
AmneziaWG هو نسخة من WireGuard تضيف طبقة تمويه (حزم مهملة، حشو عشوائي، إعادة كتابة رؤوس سحرية) مصممة لهزيمة أخذ البصمات القائم على DPI للبروتوكول — نفس النفق، لكنه لا يبدو كنفق على السلك.
- نيتيف، وليس Docker. يعمل AmneziaWG كواجهة نواة حقيقية على المضيف، تُرفَع وتُخفَض عبر
awg-quick/awg— نفس نهج وحدة النواة DKMS التي تمنحك واجهةwg0نيتيف. لا حاجة لحاوية جانبية ذات صلاحيات مرتفعة. - بروتوكول من الدرجة الأولى. يعيش اتصال AmneziaWG الوارد في نفس جدول
Inboundمثل البقية، لذا يحصل مجانًا على العمليات الجماعية (bulk operations)، ونافذة رمز QR/تنزيل التكوين، وروابط الاشتراك — لا يوجد شيء جديد لتعلّمه. - تمويه AmneziaWG 2.0 الكامل — Jc/Jmin/Jmax (الحزم المهملة)، وS1–S4 (حشو الحزم)، وH1–H4 (الرؤوس السحرية)، وحزمة التوقيع I1، جميعها قابلة للتعديل لكل اتصال وارد مع زر عشوائي بنقرة واحدة، بالإضافة إلى وضع متوافق مع 1.x للعملاء القدامى.
- دعم IPv6 نيتيف، مع وكيل NDP لكل عميل بحيث يحصل كل نظير على عنوان IPv6 يمكن الوصول إليه مباشرة — بدون NAT66.
- إعادة توجيه المنافذ لكل عميل — DNAT لمنافذ/نطاقات محددة مباشرة إلى عنوان نفق نظير واحد.
- توجيه ترافيك عميل عبر Xray — يحصل كل اتصال AmneziaWG الوارد تلقائيًا على جسر Xray الخاص به عبر loopback (بدون أي مفتاح تبديل)؛ يتم توجيه ترافيك أي عميل إلى أي اتصال صادر مُهيّأ في Xray من خلال صفحة "التوجيه" الموجودة مسبقًا في اللوحة، تمامًا كما تُوجَّه أي بروتوكول آخر.
- يقوم
install.shبتثبيت وحدة النواة نيابةً عنك على Ubuntu/Debian/Armbian (ppa:amnezia/ppa)، مع بديل احتياطي للتوزيعات الأخرى. الشيء الوحيد الذي لا يمكنه فعله من أجلك: تعطيل Secure Boot على خادمك الافتراضي (VPS/VM) مسبقًا — وحدة نواة مبنية بواسطة DKMS غير موقّعة، ولن تحمّلها النواة طالما كان Secure Boot مفعّلاً. - تتم المطابقة (reconcile) تمامًا كما تدير
internal/mtprotoالحاوية الجانبيةmtg: تُبقي مهمة خلفية الواجهة قيد التشغيل متزامنة مع ما هو مخزَّن في قاعدة البيانات، وتطبّق تغييرات النظير عبرawg syncconfبدلاً من إعادة تشغيل الواجهة بالكامل كلما أمكن ذلك.
الميزات
- اتصالات واردة متعددة البروتوكولات — VLESS، VMess، Trojan، Shadowsocks، WireGuard، AmneziaWG، Hysteria2، HTTP، SOCKS (Mixed)، Dokodemo-door / Tunnel و TUN.
- وسائل نقل وأمان حديثة — TCP (Raw)، mKCP، WebSocket، gRPC، HTTPUpgrade و XHTTP، مؤمَّنة بـ TLS و XTLS و REALITY.
- Fallback — تقديم عدة بروتوكولات على منفذ واحد (مثل VLESS و Trojan على المنفذ 443) باستخدام ميزة fallback في Xray.
- إدارة لكل عميل — حصص الترافيك، تواريخ انتهاء الصلاحية، حدود IP، حالة الاتصال المباشرة، وروابط مشاركة وأكواد QR واشتراكات بنقرة واحدة.
- إحصائيات الترافيك — لكل اتصال وارد، ولكل عميل، ولكل اتصال صادر، مع عناصر تحكم لإعادة التعيين.
- دعم العقد المتعددة — إدارة وتوسيع عبر عدة خوادم من لوحة واحدة.
- الاتصالات الصادرة والتوجيه — WARP، NordVPN، قواعد توجيه مخصصة، موازنات تحميل، وتسلسل الوكلاء الصادرة.
- خادم اشتراك مدمج بصيغ إخراج متعددة وقوالب صفحات مخصصة.
- روبوت تيليجرام للمراقبة والإدارة عن بُعد.
- واجهة RESTful API مع توثيق Swagger داخل اللوحة.
- تخزين مرن — SQLite (افتراضي) أو PostgreSQL.
- 13 لغة لواجهة المستخدم مع سمات داكنة وفاتحة.
- تكامل مع Fail2ban لفرض حدود IP لكل عميل.
لقطات الشاشة
البدء السريع
curl -fsSL https://raw.githubusercontent.com/Kuzz007/3x-ui/main/install.sh | bash
لتثبيت إصدار محدد، أضِف وسمه (مثل v3.5.0-awg.1):
curl -fsSL https://raw.githubusercontent.com/Kuzz007/3x-ui/main/install.sh | bash -s v3.5.0-awg.1
لتثبيت بنية dev المتجددة (أحدث إصدار أولي لكل التزام (commit) من main، وليس إصدارًا مستقرًا)، مرّر dev:
curl -fsSL https://raw.githubusercontent.com/Kuzz007/3x-ui/main/install.sh | bash -s dev
تُوسَم الإصدارات المستقرة الخاصة بهذه النسخة بـ <إصدار الأساس في المشروع الأصلي>-awg.N (مثل v3.5.0-awg.1، مبني فوق ما يسميه المشروع الأصلي v3.5.0) — أبدًا مجرد vX.Y.Z — حتى لا يُخلَط أبدًا بينها وبين إصدار حقيقي من MHSanaei/3x-ui بنفس الرقم.
أثناء التثبيت، يتم إنشاء اسم مستخدم وكلمة مرور ومسار وصول عشوائية. بعد التثبيت، شغّل x-ui لفتح قائمة الإدارة، حيث يمكنك بدء/إيقاف الخدمة، وعرض أو إعادة تعيين بيانات تسجيل الدخول، وإدارة شهادات SSL، والمزيد.
للحصول على وثائق اللوحة الكاملة إلى ما هو أبعد مما هو مذكور هنا، يرجى زيارة ويكي المشروع الأصلي — لا شيء فيه خاص بهذه النسخة، لذا يبقى صالحًا بالكامل.
التثبيت غير التفاعلي
يعمل المثبِّت أيضًا بشكل غير تفاعلي لـ cloud-init.
عيّن XUI_NONINTERACTIVE=1 (أو مرّره عبر أنبوب دون TTY) وسيتولى التثبيت من البداية إلى النهاية
دون أي مطالبات، مُنشئًا بيانات اعتماد عشوائية وكاتبًا إياها في
/etc/x-ui/install-result.env. راجع deploy/ لـ:
- بيانات مستخدم cloud-init — تثبيت غير تفاعلي على أي سحابة (Hetzner/AWS/DO/Vultr/GCP/Azure/Oracle)
- ملاحظات Hetzner Cloud — نشر يعتمد على cloud-init على Hetzner
المنصات المدعومة
أنظمة التشغيل: Ubuntu، Debian، Armbian، Fedora، CentOS، RHEL، AlmaLinux، Rocky Linux، Oracle Linux، Amazon Linux، Virtuozzo، Arch، Manjaro، Parch، openSUSE (Tumbleweed / Leap) و Alpine. (ينشر المشروع الأصلي أيضًا إصدارًا لـ Windows؛ لا تفعل CI هذه النسخة ذلك — كل شيء هنا موجَّه للخوادم/أجهزة التوجيه العاملة بلينكس، ويحتاج AmneziaWG على أي حال إلى وحدة نواة لينكس.)
المعماريات: amd64 · 386 · arm64 (aarch64) · armv7 · armv6 · armv5 · s390x.
يحتاج AmneziaWG تحديدًا إلى نواة لينكس حقيقية مع وحدة نواة DKMS خاصة بـ AmneziaWG — لن يعمل على Windows، ويقوم install_amneziawg اليوم بأتمتة تثبيت وحدة النواة فقط على Ubuntu/Debian/Armbian (راجع قسم ما الذي يختلف في هذه النسخة).
خيارات قاعدة البيانات
يدعم 3X-UI خلفيتين (backends) يتم اختيارهما أثناء التثبيت:
- SQLite (افتراضي) — ملف واحد في
/etc/x-ui/x-ui.db. بدون إعداد، مثالي لعمليات النشر الصغيرة والمتوسطة. - PostgreSQL — موصى به لأعداد العملاء الكبيرة أو الإعدادات متعددة العقد. يمكن للمثبِّت تثبيت PostgreSQL محليًا لك، أو قبول DSN لخادم موجود.
في وقت التشغيل، يتم اختيار الخلفية عبر متغيرات البيئة (يكتبها المثبِّت لك في /etc/default/x-ui):
XUI_DB_TYPE=postgres
XUI_DB_DSN=postgres://xui:password@127.0.0.1:5432/xui?sslmode=disable
ترحيل تثبيت SQLite موجود إلى PostgreSQL
x-ui migrate-db --dsn "postgres://xui:password@127.0.0.1:5432/xui?sslmode=disable"
# ثم عيّن XUI_DB_TYPE و XUI_DB_DSN في /etc/default/x-ui وأعد التشغيل:
systemctl restart x-ui
يبقى ملف SQLite الأصلي دون تغيير؛ احذفه يدويًا بعد التحقق من الخلفية الجديدة.
Docker
يستمر الأمر الافتراضي docker compose up -d في استخدام SQLite. للتشغيل مع خدمة PostgreSQL المرفقة، أزِل التعليق عن سطري متغيرات البيئة XUI_DB_* في docker-compose.yml وشغّل باستخدام البروفايل:
docker compose --profile postgres up -d
Note
تحتاج اتصالات AmneziaWG الواردة إلى
awg-quick/awgووحدة نواة AmneziaWG على المضيف — وهذا بالضبط ما يوضحه قصد التصميم بدون Docker في قسم ما الذي يختلف في هذه النسخة. لا يزال تشغيل اللوحة نفسها في Docker يعمل لأي بروتوكول آخر، لكن اتصال AmneziaWG الوارد المُنشأ من لوحة تعمل داخل حاوية ليس لديه مكان لرفع واجهته ما لم تحصل الحاوية على وصول شبكي/نواة على مستوى المضيف، مما يُبطل الغرض من الأساس. إذا كنت تنوي استخدام AmneziaWG، شغّله نيتيفيًا على المضيف.
تتضمن الصورة 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 |
اللغات المدعومة
تتوفر واجهة اللوحة بـ 13 لغة:
English · فارسی · العربية · 中文(简体) · 中文(繁體) · Español · Русский · Українська · Türkçe · Tiếng Việt · 日本語 · Bahasa Indonesia · Português (Brasil)
ملاحظات للمطورين
هذه نسخة محسّنة (fork) شخصية ولا تبحث عن مساهمين خارجيين، لكن CONTRIBUTING.md لا يزال يحتوي على تعليمات دقيقة ومفيدة لإعداد بيئة تطوير محلية (إصدارات Go/Node، مُصرِّف C المطلوب لـ CGo، أوامر build/lint/test)، إذا كنت تعمل بنفسك على قاعدة الشيفرة هذه.
الشكر
بُنيت هذه النسخة بالكامل فوق MHSanaei/3x-ui — اللوحة بأكملها ودعم البروتوكولات المتعددة والبنية الأساسية هي عملهم؛ دعم AmneziaWG هو الشيء الوحيد المضاف هنا. إذا وجدت المشروع الأصلي مفيدًا، فإن روابط دعم المؤلف الأصلي لا تزال المكان الصحيح لذلك:
استندت عملية تنفيذ AmneziaWG النيتيف في هذه النسخة إلى/استُلهمت من:
- MHSanaei/3x-ui#6086 — طلب السحب الأصلي لدعم AmneziaWG في المشروع الأصلي (نهج حاوية Docker الجانبية)؛ تعيد هذه النسخة استخدام بنية المخطط (schema) والواجهة الأمامية الخاصة به، لكنها تستبدل الواجهة الخلفية بمدير نيتيف بدون Docker.
- coinman-dev/3ax-ui — نسخة محسّنة مستقلة تُشغّل بالفعل AmneziaWG النيتيف في بيئة إنتاجية؛ استُمدت إدارة عملية
awg-quick، وتوليد التكوين، ومولّد معاملات تمويه AmneziaWG 2.0 في هذه النسخة من حزمةawg/الخاصة بها.
شكر خاص إلى
- alireza0
- Iran v2ray rules (الترخيص: GPL-3.0): قواعد توجيه v2ray/xray و v2ray/xray-clients المحسنة مع النطاقات الإيرانية المدمجة وتركيز على الأمان وحظر الإعلانات.
- Russia v2ray rules (الترخيص: GPL-3.0): يحتوي هذا المستودع على قواعد توجيه V2Ray محدثة تلقائيًا بناءً على بيانات النطاقات والعناوين المحظورة في روسيا.
أدوات المجتمع
أدوات وتكاملات بناها المجتمع حول 3x-ui.
- terraform-provider-3x-ui (الترخيص: MIT): إدارة الاتصالات الواردة والعملاء وإعدادات اللوحة وتكوين Xray كرمز باستخدام Terraform / OpenTofu.




