No Description

Rouzbeh† 21e01cc1e6 fix(postgres): make node traffic sync robust after public API inbound updates (#5038) 7 hours ago
.github 1ca5924a44 feat(mtproto): add MTProto (FakeTLS) protocol via managed mtg sidecar (#5076) 8 hours ago
.vscode cc34dc381c feat(postgres): in-panel backup/restore and consistent CLI backend 1 week ago
config db118cbcc9 v3.2.8 3 days ago
database 21e01cc1e6 fix(postgres): make node traffic sync robust after public API inbound updates (#5038) 7 hours ago
frontend 1ca5924a44 feat(mtproto): add MTProto (FakeTLS) protocol via managed mtg sidecar (#5076) 8 hours ago
logger 4399fe2a85 add log rotate to 3xui.log file to avoid disk space consumption (#4277) 3 weeks ago
media 87f446fe22 docs(readme): revamp README and sync all translations 6 days ago
mtproto 1ca5924a44 feat(mtproto): add MTProto (FakeTLS) protocol via managed mtg sidecar (#5076) 8 hours ago
sub 46684dd164 fix(sub): emit VLESS encryption in Clash configs (#5053) 8 hours ago
tools a014c01725 feat(api-docs): generate OpenAPI components/schemas from Go structs 2 days ago
util 4813a2fe00 fix(api-token): hash tokens at rest and show plaintext only once 4 days ago
web 21e01cc1e6 fix(postgres): make node traffic sync robust after public API inbound updates (#5038) 7 hours ago
windows_files 570ab8e5e0 Update OpenSSL installer to version 3.6.0 5 months ago
xray d739bcf71e fix arm architecture xray binary file name (#5060) 12 hours ago
.dockerignore a07c7b7f4e feat(migrate-db): SQLite <-> .dump conversion and Download Migration in Overview 4 days ago
.env.example 4c797dc154 fix: display of outbound traffic (#3604) 5 months ago
.gitattributes eb78b8666f fix(inbound): re-derive auto tags on edit and keep node tags consistent 1 week ago
.gitignore a07c7b7f4e feat(migrate-db): SQLite <-> .dump conversion and Download Migration in Overview 4 days ago
.nvmrc 428f1333ac Security hardening: sessions, SSRF, CSP nonce, CSRF logout, trusted proxies (#4275) 3 weeks ago
CONTRIBUTING.md f470bc7cf8 docs(contributing): refresh frontend guide and add Postgres launch profile 3 days ago
DockerEntrypoint.sh b1d079fc24 fix(fail2ban): exempt SSH and panel ports from IP-limit ban (#4896) 4 days ago
DockerInit.sh 1ca5924a44 feat(mtproto): add MTProto (FakeTLS) protocol via managed mtg sidecar (#5076) 8 hours ago
Dockerfile f901cd42a5 fix(docker): make x-ui CLI menu work inside containers 6 days ago
LICENSE b73e4173a3 3x-ui 3 years ago
README.ar_EG.md 327228d8f3 Remove .svg extension from shields URLs in READMEs 6 days ago
README.es_ES.md 327228d8f3 Remove .svg extension from shields URLs in READMEs 6 days ago
README.fa_IR.md 327228d8f3 Remove .svg extension from shields URLs in READMEs 6 days ago
README.md 327228d8f3 Remove .svg extension from shields URLs in READMEs 6 days ago
README.ru_RU.md 327228d8f3 Remove .svg extension from shields URLs in READMEs 6 days ago
README.tr_TR.md f6558571b4 docs(i18n): Add Turkish translation for README (#5067) 12 hours ago
README.zh_CN.md 327228d8f3 Remove .svg extension from shields URLs in READMEs 6 days ago
docker-compose.yml 28330e60d8 fix(docker): grant NET_ADMIN/NET_RAW so fail2ban IP-limit bans apply 1 week ago
go.mod 72944daab7 chore(deps): bump xray-core to v1.260327.1 and add pion/wireguard deps 5 days ago
go.sum 72944daab7 chore(deps): bump xray-core to v1.260327.1 and add pion/wireguard deps 5 days ago
install.sh 1ca5924a44 feat(mtproto): add MTProto (FakeTLS) protocol via managed mtg sidecar (#5076) 8 hours ago
main.go a07c7b7f4e feat(migrate-db): SQLite <-> .dump conversion and Download Migration in Overview 4 days ago
update.sh 4e253588ae fix(update.sh): allow skipping ssl setup when updating (#5071) 12 hours ago
x-ui.rc 4c2915586c fix(alpine): restart_xray uses rc-service; OpenRC reload reads pidfile contents 4 weeks ago
x-ui.service.arch e2649f98df fix(arch): correct x-ui service path (#4213) 4 weeks ago
x-ui.service.debian 2b1d3e7347 [feat] restart xray-core from cli #3825 3 months ago
x-ui.service.rhel 2b1d3e7347 [feat] restart xray-core from cli #3825 3 months ago
x-ui.sh 0706b0b3a8 feat(x-ui.sh): add migrateDB command for SQLite .db <-> .dump (#4910) 3 days ago

README.ar_EG.md

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

3x-ui

Release Build GO Version Downloads License Go Reference Go Report Card

3X-UI هي لوحة تحكم ويب متقدمة ومفتوحة المصدر لإدارة خوادم Xray-core. توفّر واجهة نظيفة ومتعددة اللغات لنشر وتكوين ومراقبة مجموعة واسعة من بروتوكولات الوكيل وVPN — من خادم VPS واحد إلى عمليات النشر متعددة العقد.

تم بناء 3X-UI كنسخة محسّنة (fork) من مشروع X-UI الأصلي، وتضيف دعمًا أوسع للبروتوكولات، واستقرارًا محسّنًا، ومحاسبة للترافيك لكل عميل، والعديد من ميزات تحسين تجربة الاستخدام.

[!IMPORTANT] هذا المشروع مخصص للاستخدام الشخصي فقط. يرجى عدم استخدامه لأغراض غير قانونية أو في بيئة إنتاجية.

الميزات

  • اتصالات واردة متعددة البروتوكولات — VLESS، VMess، Trojan، Shadowsocks، WireGuard، 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

البدء السريع

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

أثناء التثبيت، يتم إنشاء اسم مستخدم وكلمة مرور ومسار وصول عشوائية. بعد التثبيت، شغّل x-ui لفتح قائمة الإدارة، حيث يمكنك بدء/إيقاف الخدمة، وعرض أو إعادة تعيين بيانات تسجيل الدخول، وإدارة شهادات SSL، والمزيد.

للحصول على الوثائق الكاملة، يرجى زيارة ويكي المشروع.

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

أنظمة التشغيل: 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) يتم اختيارهما أثناء التثبيت:

  • SQLite (افتراضي) — ملف واحد في /etc/x-ui/x-ui.db. بدون إعداد، مثالي لعمليات النشر الصغيرة والمتوسطة.
  • PostgreSQL — موصى به لأعداد العملاء الكبيرة أو الإعدادات متعددة العقد. يمكن للمثبِّت تثبيت PostgreSQL محليًا لك، أو قبول DSN لخادم موجود.

في وقت التشغيل، يتم اختيار الخلفية عبر متغيرات البيئة (يكتبها المثبِّت لك في /etc/default/x-ui):

XUI_DB_TYPE=postgres
XUI_DB_DSN=postgres://xui:[email protected]:5432/xui?sslmode=disable

ترحيل تثبيت SQLite موجود إلى PostgreSQL

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

يستمر الأمر الافتراضي 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_ENABLE_FAIL2BAN تفعيل فرض حدود IP المعتمد على Fail2ban true
XUI_LOG_LEVEL مستوى السجل (debug، info، warning، error) info
XUI_DEBUG تفعيل وضع التصحيح false

اللغات المدعومة

تتوفر واجهة اللوحة بـ 13 لغة:

English · فارسی · العربية · 中文(简体) · 中文(繁體) · Español · Русский · Українська · Türkçe · Tiếng Việt · 日本語 · Bahasa Indonesia · Português (Brasil)

المساهمة

المساهمات مرحب بها. يرجى قراءة دليل المساهمة قبل فتح مشكلة (issue) أو طلب سحب (pull request).

شكر خاص إلى

الاعتراف

  • 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.

دعم المشروع

إذا كان هذا المشروع مفيدًا لك، فقد ترغب في إعطائه:star2:

Buy Me A Coffee

Crypto donation button by NOWPayments

النجوم عبر الزمن

Stargazers over time