Files
3x-ui/README.ar_EG.md
T
Kuzz007 ab39f14b18 docs: update all 7 READMEs for the embedded AmneziaWG architecture
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.
2026-08-02 20:34:57 +03:00

20 KiB

English | فارسی | العربية | 中文 | Español | Русский | Türkçe

3x-ui

Build GO Version License

هذه نسخة محسّنة (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 لكل عميل.

لقطات الشاشة

انقر للتوسيع Overview Inbounds Add client Configs

البدء السريع

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/ لـ:

المنصات المدعومة

أنظمة التشغيل: 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 هو الشيء الوحيد المضاف هنا. إذا وجدت المشروع الأصلي مفيدًا، فإن روابط دعم المؤلف الأصلي لا تزال المكان الصحيح لذلك:

Buy Me A Coffee
Crypto donation button by NOWPayments

استندت عملية تنفيذ 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.