Replace the kernel-module/DKMS/awg-quick description (What's different, Supported Platforms, Acknowledgment) with the embedded amneziawg-go + gVisor architecture, and note the temporarily-unsupported per-client IPv6 identity and port-forwarding gap until their fast-follow releases.
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 للبروتوكول — نفس النفق، لكنه لا يبدو كنفق على السلك.
- مدمج، وليس وحدة نواة (kernel module). يعمل AmneziaWG بالكامل داخل عملية اللوحة نفسها (amneziawg-go فوق مكدّس شبكة يعمل في مساحة المستخدم) — لا حاجة لبناء DKMS، ولا تعارض مع Secure Boot، ولا حاوية جانبية ذات صلاحيات مرتفعة، ولا أي شيء يُثبَّت على المضيف إطلاقًا.
- بروتوكول من الدرجة الأولى. يعيش اتصال AmneziaWG الوارد في نفس جدول
Inboundمثل البقية، لذا يحصل مجانًا على العمليات الجماعية (bulk operations)، ونافذة رمز QR/تنزيل التكوين، وروابط الاشتراك — لا يوجد شيء جديد لتعلّمه. - تمويه AmneziaWG 2.0 الكامل — Jc/Jmin/Jmax (الحزم المهملة)، وS1–S4 (حشو الحزم)، وH1–H4 (الرؤوس السحرية)، وحزمة التوقيع I1، جميعها قابلة للتعديل لكل اتصال وارد مع زر عشوائي بنقرة واحدة، بالإضافة إلى وضع متوافق مع 1.x للعملاء القدامى.
- ترافيك كل عميل يمر بالفعل عبر Xray. لا TPROXY، ولا جسر يحتاج إلى تفعيل منفصل: كل اتصال AmneziaWG وارد يُوجَّه مباشرة إلى اتصال Xray SOCKS5 وارد خاص به عبر loopback، لذا إحصاءات كل عميل، وحالة الاتصال، والـ sniffing، وقواعد صفحة "التوجيه" الموجودة مسبقًا في اللوحة، كل ذلك يعمل تلقائيًا تمامًا كما هو الحال مع أي بروتوكول آخر — بلا أي إعداد إضافي.
- روابط مشاركة
vpn://حقيقية — رابط النسخ/رمز QR الخاص بكل عميل ونقطة نهاية الاشتراك يُصدران مخططvpn://الفعلي الذي يتوقعه تطبيق AmneziaVPN الرسمي (base64url لملف.confعادي)، بدلاً من تنسيق URI مُخترَع لم يكن التطبيق قادرًا على استيراده. - غير مدعوم مؤقتًا بعد هذا التحول: عنوان IPv6 عام مستقل لكل عميل، وإعادة توجيه المنافذ لكل عميل، كلاهما كان يعتمد على قواعد iptables على مستوى المضيف الخاصة بوحدة النواة القديمة، والتي لا يوجد لها بعد ما يعادلها في البنية المدمجة. كلاهما مخطط له كإصدارين لاحقين قريبًا؛ الإعدادات الحالية لأي منهما لم تُفقد، بل أصبحت فقط غير فعّالة حتى ذلك الحين.
تغييرات أخرى في هذه النسخة
تُضاف هنا التحسينات الأصغر الخاصة بهذه النسخة، بخلاف AmneziaWG، كلما تمت إضافتها:
- الإكمال التلقائي لقواعد التوجيه (Routing) — أصبحت حقول Domain/IP في محرر قواعد التوجيه الخاص بـ Xray تقترح فئات geosite/geoip (مثلاً كتابة "you" تقترح
geosite:youtube) يتم إنشاؤها مباشرةً من ملفات.datالمثبَّتة فعليًا في مجلد bin الخاص بـ Xray — بما في ذلك الملفات المخصَّصة المُضافة عبر ميزة التحديث التلقائي لـ Geodata (مثلgeosite_roscom.dat). لا يزال إدخال النص الحر يعمل تمامًا كما كان من قبل. - سرعة مباشرة (Live Speed) لـ AmneziaWG وMTProto — كان عمود Speed يعرض "--" لاتصالات/عملاء AmneziaWG وMTProto (
mtg) الواردة، رغم أن إجمالي الترافيك التراكمي كان صحيحًا — لأن أيًا منهما لا يعمل داخل بيئة تشغيل Xray-core نفسها، مما يجعلهما غير مرئيين لواجهة برمجة تطبيقات الإحصاءات الخاصة بها. الآن يبث كلاهما السرعة المباشرة جنبًا إلى جنب مع بقية البروتوكولات. - الملفات المخصَّصة في
bin/تنجو من التحديثات — كانت إعادة التثبيت/التحديث تمسح مجلدbin/بالكامل قبل استخراج الإصدار الجديد، فتحذف بصمت أي شيء وُضع هناك يدويًا (وعادةً ما يكون ملف geoip/geosite مخصَّصًا تشير إليه قاعدة توجيه عبرext:<file>:<code>)، مما يُعطّل كل الاتصالات الواردة عند التشغيل التالي. الآن يقوم المثبِّت بعمل نسخة احتياطية منbin/أولًا، ثم يستعيد فقط ما لا يوفّره الإصدار الجديد.
الميزات
- اتصالات واردة متعددة البروتوكولات — 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 هذه النسخة ذلك — كل شيء هنا موجَّه للخوادم/أجهزة التوجيه العاملة بلينكس.)
المعماريات: amd64 · 386 · arm64 (aarch64) · armv7 · armv6 · armv5 · s390x.
AmneziaWG مدمج داخل ملف اللوحة التنفيذي نفسه (راجع قسم ما الذي يختلف في هذه النسخة) — لا وحدة نواة، ولا خطوة تثبيت منفصلة، ولا إعداد خاص بكل توزيعة.
خيارات قاعدة البيانات
يدعم 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 الأصلي دون تغيير؛ احذفه يدويًا بعد التحقق من الخلفية الجديدة.
متغيرات البيئة
| المتغير | الوصف | الافتراضي |
|---|---|---|
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 في هذه النسخة إلى/استُلهمت من:
- amnezia-vpn/amneziawg-go — تنفيذ AmneziaWG في مساحة المستخدم الذي تُدمجه هذه النسخة مباشرةً داخل عملية اللوحة، فوق مكدّس شبكة gVisor، ليحل محل الواجهة الخلفية القديمة القائمة على وحدة النواة أدناه.
- MHSanaei/3x-ui#6086 — طلب السحب الأصلي لدعم AmneziaWG في المشروع الأصلي (نهج حاوية Docker الجانبية)؛ تعيد هذه النسخة استخدام بنية المخطط (schema) والواجهة الأمامية الخاصة به.
- 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.




