Files
3x-ui/README.fa_IR.md
T
Kuzz007 ea00e69d4d chore: remove Docker support entirely from this fork
Never used by this fork's own distribution (install.sh/x-ui.sh is the
only supported install path), AmneziaWG structurally can't run in the
Alpine-based image anyway, and Docker Hub publishing was failing on
every release for lack of configured credentials. Removed Dockerfile,
docker-compose.yml, DockerEntrypoint.sh, DockerInit.sh, .dockerignore,
and the docker.yml CI workflow; dropped the now-dead "Docker" README
subsection (all 7 languages), the "Docker image"/"Docker Compose"
options from the issue/PR templates, and corrected claude-bot.yml's
now-stale references to the deleted files, the never-actually-ours
ghcr.io/mhsanaei/3x-ui image, and (caught in passing) an already-stale
claim that Windows is a supported platform.

Left untouched: generic container-runtime adaptations that apply
regardless of image source (x-ui.sh's running-in-docker detection,
the virtual-interface-name filters, the DNS-over-container-network
note) and deploy/test/smoke-noninteractive.sh, which uses Docker only
as its own test sandbox, not as something this repo ships.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-27 01:13:04 +03:00

21 KiB
Raw Blame History

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

3x-ui

Build GO Version License

این یک فورک شخصی از 3X-UI است — پنل کنترل وب پیشرفته و متن‌باز برای Xray-core — با یک افزوده‌ی اصلی: پشتیبانی نیتیو از AmneziaWG، به‌عنوان یک پروتکل کاملاً درجه‌یک در کنار VLESS، VMess، Trojan و بقیه. هر چیز دیگری که 3X-UI از قبل انجام می‌داد (اینباندهای چندپروتکلی، حسابداری ترافیک به‌ازای هر کلاینت، سابسکریپشن‌ها، چند نود، ربات تلگرام) بدون تغییر باقی مانده و دقیقاً مثل نسخه‌ی اصلی کار می‌کند.

این فورک برای اجرا روی روترها و سرورهای شخصی نویسنده ساخته شده است؛ قصد جایگزینی یا رقابت با پروژه‌ی اصلی را ندارد. اگر به‌دنبال پنل همه‌منظوره هستید، به MHSanaei/3x-ui مراجعه کنید — همه‌ی مطالب زیر فقط تفاوت‌های این فورک را مستند می‌کند.

Important

این پروژه فقط برای استفاده‌ی شخصی در نظر گرفته شده است. لطفاً از آن برای اهداف غیرقانونی یا در محیط تولید (production) استفاده نکنید.

تفاوت این فورک: AmneziaWG

AmneziaWG نسخه‌ای از WireGuard است با یک لایه‌ی مبهم‌سازی اضافه (بسته‌های زباله، پدینگ تصادفی، بازنویسی سرآیندهای جادویی) که برای شکست دادن اثرانگشت‌گیری پروتکل مبتنی بر DPI طراحی شده — همان تونل، اما تونلی که روی سیم شبیه تونل به نظر نمی‌رسد.

  • نیتیو، نه Docker. AmneziaWG به‌عنوان یک اینترفیس واقعی کرنل روی هاست اجرا می‌شود، با awg-quick/awg بالا و پایین می‌آید — همان رویکرد ماژول کرنل DKMS که یک اینترفیس نیتیو wg0 دارد. هیچ کانتینر سایدکار ممتازی لازم نیست.
  • یک پروتکل درجه‌یک. یک اینباند AmneziaWG در همان جدول Inbound بقیه‌ی موارد زندگی می‌کند، پس bulk-operations، مودال QR/دانلود کانفیگ و لینک‌های سابسکریپشن را رایگان دریافت می‌کند — چیز جدیدی برای یادگیری نیست.
  • مبهم‌سازی کامل AmneziaWG 2.0Jc/Jmin/Jmax (بسته‌های زباله)، S1–S4 (پدینگ بسته)، H1–H4 (سرآیندهای جادویی) و بسته‌ی امضای I1، همه به‌ازای هر اینباند با یک دکمه‌ی تصادفی‌سازی یک‌کلیکی قابل ویرایش‌اند، به‌علاوه‌ی یک حالت سازگار با 1.x برای کلاینت‌های قدیمی‌تر.
  • IPv6 نیتیو، با پراکسی NDP به‌ازای هر کلاینت تا هر پیر یک آدرس IPv6 مستقیماً در دسترس داشته باشد — بدون NAT66.
  • پروبرت پورت به‌ازای هر کلاینت — DNAT کردن پورت‌ها/محدوده‌های مشخص مستقیماً به آدرس تونل یک پیر.
  • مسیریابی ترافیک یک کلاینت از طریق Xray — هر اینباند AmneziaWG به‌طور خودکار پل loopback مخصوص به خودش را در Xray دریافت می‌کند (بدون هیچ سوئیچی)؛ مسیریابی ترافیک هر کلاینت به هر outbound پیکربندی‌شده در Xray از طریق صفحه‌ی «مسیریابی» موجود در پنل انجام می‌شود، دقیقاً مثل مسیریابی هر پروتکل دیگر.
  • install.sh ماژول کرنل را برایتان نصب می‌کند روی Ubuntu/Debian/Armbian (ppa:amnezia/ppa)، با یک fallback برای سایر توزیع‌ها. یک کار که نمی‌تواند برایتان انجام دهد: غیرفعال کردن Secure Boot روی VPS/VM‌تان از قبل — یک ماژول ساخته‌شده با DKMS امضا نشده است و کرنل تا زمانی که Secure Boot فعال باشد از بارگذاری آن خودداری می‌کند.
  • تطبیق (reconcile) دقیقاً مثل نحوه‌ی مدیریت سایدکار mtg توسط internal/mtproto انجام می‌شود: یک جاب پس‌زمینه اینترفیس در حال اجرا را با آنچه در پایگاه‌داده ذخیره شده هماهنگ نگه می‌دارد، و تغییرات پیر را از طریق awg syncconf به‌جای ری‌استارت کامل اینترفیس، در جایی که ممکن باشد، اعمال می‌کند.

سایر تغییرات این فورک

بهبودهای کوچک‌تر مخصوص این فورک، فراتر از AmneziaWG، هر بار که اضافه شوند اینجا ثبت می‌شوند:

  • تکمیل خودکار قوانین مسیریابی — فیلدهای Domain/IP در ویرایشگر قوانین Routing ایکس‌ری اکنون دسته‌بندی‌های geosite/geoip را پیشنهاد می‌دهند (مثلاً تایپ «you» پیشنهاد geosite:youtube را می‌دهد) که به‌صورت زنده از فایل‌های .dat که واقعاً در پوشه bin ایکس‌ری نصب شده‌اند ساخته می‌شوند — از جمله فایل‌های سفارشی اضافه‌شده از طریق ویژگی به‌روزرسانی خودکار Geodata (مثلاً geosite_roscom.dat). ورود متن آزاد هنوز دقیقاً مثل قبل کار می‌کند.

ویژگی‌ها

  • اینباندهای چندپروتکلی — 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 و سابسکریپشن‌ها با یک کلیک.
  • آمار ترافیک — به‌ازای هر اینباند، هر کلاینت و هر اوتباند، همراه با کنترل بازنشانی (reset).
  • پشتیبانی از چند نود — مدیریت و مقیاس‌دهی روی چندین سرور از یک پنل واحد.
  • اوتباند و مسیریابی — WARP، NordVPN، قوانین مسیریابی سفارشی، متعادل‌کننده‌های بار (load balancer) و زنجیره‌کردن پراکسی اوتباند.
  • سرور سابسکریپشن داخلی با چندین فرمت خروجی و قالب‌های صفحه‌ی سفارشی.
  • ربات تلگرام برای نظارت و مدیریت از راه دور.
  • RESTful API همراه با مستندات Swagger درون‌پنل.
  • ذخیره‌سازی منعطف — SQLite (پیش‌فرض) یا PostgreSQL.
  • ‏۱۳ زبان رابط کاربری با تم‌های تیره و روشن.
  • یکپارچگی با 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 را مدیریت کنید و کارهای دیگری انجام دهید.

برای مستندات کامل پنل فراتر از آنچه در این README آمده، به ویکی پروژه‌ی اصلی مراجعه کنید — هیچ‌کدام مختص این فورک نیست، پس همچنان کاربرد دارد.

نصب بدون نظارت

نصب‌کننده به‌صورت غیرتعاملی نیز برای cloud-init اجرا می‌شود. ‏XUI_NONINTERACTIVE=1 را تنظیم کنید (یا بدون TTY از طریق pipe اجرا کنید) تا نصب به‌صورت سرتاسری و بدون هیچ پرسشی انجام شود، اطلاعات ورود تصادفی تولید کرده و آن‌ها را در /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 این فورک این کار را نمی‌کند — همه‌چیز اینجا سرورها/روترهای لینوکسی را هدف قرار می‌دهد، و AmneziaWG در هر صورت به یک ماژول کرنل لینوکس نیاز دارد.)

معماری‌ها: amd64 · 386 · arm64 (aarch64) · armv7 · armv6 · armv5 · s390x.

AmneziaWG به‌طور خاص به یک کرنل واقعی لینوکس با ماژول DKMS مربوط به AmneziaWG نیاز دارد — روی Windows بالا نخواهد آمد، و install_amneziawg امروز فقط نصب ماژول کرنل را روی Ubuntu/Debian/Armbian خودکار می‌کند (به بخش تفاوت این فورک مراجعه کنید).

گزینه‌های پایگاه‌داده

‏3X-UI از دو بک‌اند پشتیبانی می‌کند که در حین نصب انتخاب می‌شوند:

  • 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

زبان‌های پشتیبانی‌شده

رابط کاربری پنل به ۱۳ زبان در دسترس است:

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

یادداشت‌های توسعه‌دهنده

این یک فورک شخصی است و به‌دنبال مشارکت‌کننده‌ی بیرونی نیست، اما CONTRIBUTING.md همچنان دستورالعمل‌های دقیق و مفیدی برای راه‌اندازی محیط توسعه‌ی محلی (نسخه‌های Go/Node، کامپایلر C مورد نیاز CGo، دستورات build/lint/test) دارد، اگر خودتان روی این کدبیس کار می‌کنید.

قدردانی

این فورک به‌طور کامل بر پایه‌ی MHSanaei/3x-ui ساخته شده — تمام پنل، پشتیبانی چندپروتکلی و معماری زیرین کار خودشان است؛ پشتیبانی AmneziaWG تنها چیزی است که اینجا اضافه شده. اگر پروژه‌ی اصلی را مفید یافتید، لینک‌های حمایتی نویسنده‌ی اصلی همچنان مکان درستی برای آن است:

Buy Me A Coffee
Crypto donation button by NOWPayments

پیاده‌سازی نیتیو AmneziaWG در این فورک برگرفته از/الهام‌گرفته از موارد زیر است:

  • MHSanaei/3x-ui#6086 — پول‌ریکوئست اصلی AmneziaWG علیه پروژه‌ی اصلی (رویکرد Docker-sidecar)؛ این فورک ساختار schema/UI فرانت‌اند آن را دوباره استفاده می‌کند اما بک‌اند را با یک مدیر نیتیو و بدون 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.