نصب
نصب 3x-ui با اسکریپت رسمی (نسخهٔ پایدار، نسخهٔ مشخص یا dev-latest)، نصب خودکار/cloud-init یا Docker — و انتخاب میان SQLite و PostgreSQL.
3x-ui روی طیف گستردهای از توزیعهای Linux اجرا میشود — Ubuntu، Debian، Armbian،
Fedora، CentOS، RHEL، AlmaLinux، Rocky Linux، Oracle Linux، Amazon Linux،
Virtuozzo، Arch، Manjaro، openSUSE (Tumbleweed/Leap)، Alpine — و همچنین Windows،
روی معماریهای amd64، 386، arm64، armv7، armv6، armv5 و s390x.
نصبکنندهٔ اسکریپتی را بهصورت root (یا با sudo) اجرا کنید. این اسکریپت یک
سرویس نصب میکند، دستور مدیریتی x-ui را راهاندازی میکند و پنل را در زمان
بوت فعال میسازد.
اسکریپت رسمی مسیر توصیهشده است. این اسکریپت در طول نصب یک نام کاربری، رمز عبور و
مسیر دسترسی (مسیر پایهٔ وب) تصادفی تولید میکند، سرویس را راهاندازی میکند و
دستور مدیریتی x-ui را نصب میکند.
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)برای نصب یک نسخهٔ مشخص، تگ آن را در انتها اضافه کنید:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v3.4.0برای نصب نسخهٔ dev غلتان (آخرین پیشانتشار بهازای هر کامیت از شاخهٔ main
— نه یک نسخهٔ پایدار) عبارت dev-latest را پاس دهید:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) dev-latestپس از پایان نصب، مشخصات ورود چاپشده را یادداشت کنید و دستور x-ui را اجرا کنید تا
منوی مدیریت باز شود، سپس
به نخستین ورود ادامه دهید.
پیکربندی پیشفرض Compose از SQLite استفاده میکند. مخزن را کلون کنید (یا فایلهای
docker-compose.yml و Dockerfile آن را کپی کنید) و آن را اجرا کنید:
docker compose up -dبرای اجرا با سرویس PostgreSQL همراه، دو خط XUI_DB_* را در
docker-compose.yml از حالت کامنت خارج کنید و با پروفایل مربوطه اجرا کنید:
docker compose --profile postgres up -dترجیح میدهید از ایمیج ازپیشساخته استفاده کنید؟ این ایمیج روی GitHub Container Registry
منتشر شده است. این ایمیج Fail2ban را بههمراه دارد (برای محدودیتهای IP)
که با iptables مسدودسازی انجام میدهد و بنابراین به NET_ADMIN (و NET_RAW برای IPv6)
نیاز دارد — در غیر این صورت مسدودسازیها فقط ثبت میشوند ولی هرگز اعمال نمیشوند:
docker run -d \
--cap-add=NET_ADMIN \
--cap-add=NET_RAW \
-e XUI_ENABLE_FAIL2BAN=true \
-v $PWD/db/:/etc/x-ui/ \
-v $PWD/cert/:/root/cert/ \
--network=host \
--restart=unless-stopped \
--name 3x-ui \
ghcr.io/mhsanaei/3x-ui:latestوالیوم db/ پایگاهدادهٔ SQLite (/etc/x-ui/x-ui.db) را نگه میدارد و cert/
گواهیهای TLS را، بنابراین دادههای شما در ارتقاها حفظ میشوند.
برای کاربران پیشرفته، یک آرشیو انتشار متناسب با معماری خود را از صفحهٔ releases دانلود کنید، آن را استخراج کنید و باینری را بهعنوان یک سرویس systemd اجرا کنید. اسکریپت نصب دقیقاً همین مراحل را خودکار میکند، بنابراین مگر اینکه دلیل خاصی برای نصب دستی داشته باشید، روش اسکریپتی ترجیح داده میشود.
دستور نصب خود را بسازید
دستور را متناسب با تنظیمات خود سفارشی کنید:
Install command builder
Build the exact install command for your setup. It is assembled in your browser.
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)انتخاب یک پایگاهداده
شما بکاند ذخیرهسازی را در زمان نصب انتخاب میکنید:
- SQLite (پیشفرض) — یک فایل واحد در مسیر
/etc/x-ui/x-ui.db. بدون نیاز به هیچ تنظیماتی. - PostgreSQL — برای تعداد کلاینت بالا یا پیکربندیهای چندنودی. نصبکننده میتواند آن را بهصورت محلی نصب کند یا از یک DSN که شما ارائه میدهید استفاده کند.
برای جزئیات و مهاجرت SQLite→PostgreSQL به پایگاهداده مراجعه کنید.
نصب خودکار / cloud-init
نصبکننده برای خودکارسازی بهصورت غیرتعاملی نیز اجرا میشود.
XUI_NONINTERACTIVE=1 را تنظیم کنید (یا بدون TTY اجرا کنید) تا نصب بهصورت
سرتاسری و بدون هیچ پرسشی انجام شود، مشخصات تصادفی تولید کند و آنها را در
/etc/x-ui/install-result.env بنویسد:
XUI_NONINTERACTIVE=1 bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)دایرکتوری deploy/ در مخزن
یک user-data آمادهٔ cloud-init برای نصبهای خودکار روی هر ابری (Hetzner، AWS،
DigitalOcean، Vultr، GCP، Azure، Oracle) دارد.
گامهای بعدی
آشنایی با 3x-ui
یک پنل تحت وب برای Xray-core — ورودیها، پروتکلها، کلاینتها و اشتراکها را بهجای ویرایش دستی JSON، از مرورگر خود مدیریت کنید.
نخستین ورود
مشخصات ورود تولیدشدهٔ 3x-ui را بیابید، به پنل دسترسی پیدا کنید، احراز هویت دومرحلهای را فعال کنید و پیش از در معرض قرار دادن هر چیزی، پنل را ایمنسازی کنید.

3x-ui