3x-ui3x-ui
مرجع

متغیرهای محیطی

مرجع کامل متغیرهای محیطی ‎`XUI_*`‎ در 3x-ui — پایگاه‌داده، پنل، لاگ‌گیری، حافظه، رمزگذاری توکن نود و پایشگر سلامت تونل.

‏3x-ui پیکربندی زمان‌اجرای خود را از متغیرهای محیطی XUI_* می‌خواند. در نصب اسکریپتی، نصب‌کننده آن‌ها را در فایل محیطی سرویس می‌نویسد (/etc/default/x-ui، یا بسته به توزیع /etc/conf.d/x-ui / /etc/sysconfig/x-ui)؛ برای Docker آن‌ها را در docker-compose.yml یا docker run -e تنظیم می‌کنید. مقادیر پیش‌فرض منطقی هستند — فقط آنچه را که نیاز به تغییر دارید تنظیم کنید، سپس ری‌استارت کنید: systemctl restart x-ui.

پایگاه‌داده

VariableDefaultDescription
XUI_DB_TYPEsqliteبک‌اند: sqlite، یا postgres (همچنین postgresql / pg را می‌پذیرد).
XUI_DB_FOLDER/etc/x-uiپوشه‌ی فایل پایگاه‌داده‌ی SQLite (x-ui.db).
XUI_DB_DSNرشته‌ی اتصال PostgreSQL (وقتی XUI_DB_TYPE=postgres باشد استفاده می‌شود).
XUI_DB_MAX_OPEN_CONNSحداکثر اتصالات باز در استخر PostgreSQL.
XUI_DB_MAX_IDLE_CONNSحداکثر اتصالات بی‌کار در استخر PostgreSQL.

مسیر پیش‌فرض پایگاه‌داده‌ی SQLite برابر /etc/x-ui/x-ui.db است. برای جزئیات ‏SQLite ↔ PostgreSQL به پایگاه‌داده مراجعه کنید.

پنل

VariableDefaultDescription
XUI_PORTبازنویسی پورت پنل (۱ تا ۶۵۵۳۵). بر تنظیم ذخیره‌شده اولویت دارد.
XUI_INIT_WEB_BASE_PATH/مسیر پایه‌ی وب اولیه در نخستین اجرا (مثلاً /panel).
XUI_ENABLE_FAIL2BANtrueفعال‌سازی اعمالِ محدودیت IP مبتنی بر Fail2ban.
XUI_SKIP_HSTSfalseرد کردن هدر HSTS — وقتی TLS توسط یک پروکسی معکوس خاتمه می‌یابد، true تنظیم کنید.

رمزگذاری توکن نود

توکن‌های حامل (bearer) API نود — و توکن ذخیره‌شده‌ی PIA — به‌صورت پیش‌فرض به شکل متن ساده نگهداری می‌شوند. رمزگذاری در حالت سکون اختیاری است و به‌صورت ایمن شکست می‌خورد: با هر حالتی به‌جز off، اگر پنل نتواند کلیدی را بارگذاری کند، اجرا نمی‌شود.

VariableDefaultDescription
NODE_TOKEN_ENCRYPTIONoffoff، migration (خواندن هم متن ساده و هم متن رمزشده را می‌پذیرد، نوشتن همیشه رمز می‌کند) یا required (نوشتن یکسان، اما بدون کلید اجرا شکست می‌خورد). به نبودِ پیشوند XUI_ توجه کنید.
XUI_NODE_TOKEN_KEY_FILE/etc/x-ui/node_token_key.jsonحلقه‌کلید JSON با دسترسی 0600 یا محدودتر. نخست همین بارگذاری می‌شود.
XUI_NODE_TOKEN_KEYیک کلید ۳۲ بایتی base64 که فقط هنگام شکست بارگذاری فایل کلید خوانده می‌شود. شناسه‌ی کلید آن ثابت و برابر env است، پس امکان چرخش ندارد.

فایل کلید، کلید فعال به‌همراه هر کلید قدیمی‌ای را که هنوز برای رمزگشایی لازم است نام می‌برد:

{ "active": "k1", "keys": { "k1": "<base64 32-byte key>" } }

کلید را با openssl rand -base64 32 بسازید؛ کلیدها هرگز به‌عنوان آرگومان خط فرمان پذیرفته نمی‌شوند. پس از فعال‌کردن یک حالت، ردیف‌هایی را که از پیش در پایگاه‌داده هستند با کلید فعال دوباره رمز کنید:

x-ui encrypt-tokens

این دستور ردیف‌های نود را پوشش می‌دهد؛ توکن PIA در نوبت بعدیِ خواندن دوباره رمز می‌شود. برای چرخش کلید، کلید جدید را به keys اضافه کنید، active را به آن اشاره دهید، کلید قدیمی را برای رمزگشایی نگه دارید و دوباره x-ui encrypt-tokens را اجرا کنید.

لاگ‌گیری و باینری‌ها

VariableDefaultDescription
XUI_LOG_LEVELinfodebug، info، notice، warning، یا error.
XUI_DEBUGfalseحالت دیباگ (سطح لاگ را به debug وادار می‌کند).
XUI_LOG_FOLDER/var/log/x-uiپوشه‌ی خروجی لاگ.
XUI_BIN_FOLDERbinپوشه‌ی باینری Xray-core و فایل‌های geosite/geoip.

حافظه و پروفایلینگ

پنل با استفاده از GOGC و آزادسازی‌های دوره‌ای، مصرف حافظه را پایین نگه می‌دارد. این‌ها تنظیمات پیشرفته‌ای هستند — مگر اینکه در حال تنظیم دقیق یک میزبان با منابع محدود باشید، آن‌ها را تنظیم‌نشده رها کنید.

VariableDefaultDescription
XUI_GOGCدرصد هدف GC در Go؛ کمتر = RAM کمتر، CPU اندکی بیشتر.
XUI_MEMORY_RELEASE_INTERVALفاصله‌ی زمانی فراخوانی‌های FreeOSMemory بر حسب دقیقه؛ مقدار 0 آن را غیرفعال می‌کند.
XUI_MEMORY_LIMITمحدودیت نرم حافظه‌ی Go بر حسب MiB.
GOMEMLIMITمحدودیت نرم با نحو Go (مثلاً 400MiB)؛ بر مورد بالا اولویت دارد.
XUI_PPROFfalseدر دسترس قرار دادن پروفایلینگ pprof روی 127.0.0.1:6060.

Xray

VariableDefaultDescription
XRAY_VMESS_AEAD_FORCEDfalseالزامی‌کردن VMess AEAD.

پایشگر سلامت تونل

نگهبان اختیاری: یک URL را پروب می‌کند (به‌صورت اختیاری از طریق یک ورودی محلی ‏Xray) و پس از خرابی‌های مکرر، Xray را ری‌استارت می‌کند. هر ری‌استارت همه‌ی کلاینت‌های متصل را قطع می‌کند، پس آن را آگاهانه فعال کنید.

VariableDefaultDescription
XUI_TUNNEL_HEALTH_MONITORfalseفعال‌سازی پایشگر.
XUI_TUNNEL_HEALTH_PROXYپروکسی‌ای که پروب از طریق آن ارسال می‌شود، مثلاً socks5://127.0.0.1:1080. خالی = فقط اتصال میزبان را بررسی می‌کند.
XUI_TUNNEL_HEALTH_URLhttps://www.cloudflare.com/cdn-cgi/traceURLی که پروب می‌شود.
XUI_TUNNEL_HEALTH_INTERVAL30sفاصله‌ی زمانی بین پروب‌ها.
XUI_TUNNEL_HEALTH_TIMEOUT10sمهلت زمانی هر پروب.
XUI_TUNNEL_HEALTH_FAILURES3تعداد خرابی‌های متوالی پیش از یک ری‌استارت.
XUI_TUNNEL_HEALTH_COOLDOWN5mحداقل تأخیر بین ری‌استارت‌ها.

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

VariableDescription
XUI_NONINTERACTIVEروی 1 تنظیم کنید (یا بدون TTY اجرا کنید) تا نصب بدون هیچ پرسشی انجام شود؛ اطلاعات احراز هویتِ تولیدشده در /etc/x-ui/install-result.env نوشته می‌شوند. نگاه کنید به نصب.

On this page