متغیرهای محیطی
مرجع کامل متغیرهای محیطی `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.
پایگاهداده
| Variable | Default | Description |
|---|---|---|
XUI_DB_TYPE | sqlite | بکاند: 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 به پایگاهداده مراجعه کنید.
پنل
| Variable | Default | Description |
|---|---|---|
XUI_PORT | — | بازنویسی پورت پنل (۱ تا ۶۵۵۳۵). بر تنظیم ذخیرهشده اولویت دارد. |
XUI_INIT_WEB_BASE_PATH | / | مسیر پایهی وب اولیه در نخستین اجرا (مثلاً /panel). |
XUI_ENABLE_FAIL2BAN | true | فعالسازی اعمالِ محدودیت IP مبتنی بر Fail2ban. |
XUI_SKIP_HSTS | false | رد کردن هدر HSTS — وقتی TLS توسط یک پروکسی معکوس خاتمه مییابد، true تنظیم کنید. |
رمزگذاری توکن نود
توکنهای حامل (bearer) API نود — و توکن ذخیرهشدهی PIA — بهصورت پیشفرض به شکل
متن ساده نگهداری میشوند. رمزگذاری در حالت سکون اختیاری است و بهصورت ایمن شکست
میخورد: با هر حالتی بهجز off، اگر پنل نتواند کلیدی را بارگذاری کند، اجرا نمیشود.
| Variable | Default | Description |
|---|---|---|
NODE_TOKEN_ENCRYPTION | off | off، 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 را اجرا کنید.
لاگگیری و باینریها
| Variable | Default | Description |
|---|---|---|
XUI_LOG_LEVEL | info | debug، info، notice، warning، یا error. |
XUI_DEBUG | false | حالت دیباگ (سطح لاگ را به debug وادار میکند). |
XUI_LOG_FOLDER | /var/log/x-ui | پوشهی خروجی لاگ. |
XUI_BIN_FOLDER | bin | پوشهی باینری Xray-core و فایلهای geosite/geoip. |
حافظه و پروفایلینگ
پنل با استفاده از GOGC و آزادسازیهای دورهای، مصرف حافظه را پایین نگه میدارد.
اینها تنظیمات پیشرفتهای هستند — مگر اینکه در حال تنظیم دقیق یک میزبان با منابع
محدود باشید، آنها را تنظیمنشده رها کنید.
| Variable | Default | Description |
|---|---|---|
XUI_GOGC | — | درصد هدف GC در Go؛ کمتر = RAM کمتر، CPU اندکی بیشتر. |
XUI_MEMORY_RELEASE_INTERVAL | — | فاصلهی زمانی فراخوانیهای FreeOSMemory بر حسب دقیقه؛ مقدار 0 آن را غیرفعال میکند. |
XUI_MEMORY_LIMIT | — | محدودیت نرم حافظهی Go بر حسب MiB. |
GOMEMLIMIT | — | محدودیت نرم با نحو Go (مثلاً 400MiB)؛ بر مورد بالا اولویت دارد. |
XUI_PPROF | false | در دسترس قرار دادن پروفایلینگ pprof روی 127.0.0.1:6060. |
Xray
| Variable | Default | Description |
|---|---|---|
XRAY_VMESS_AEAD_FORCED | false | الزامیکردن VMess AEAD. |
پایشگر سلامت تونل
نگهبان اختیاری: یک URL را پروب میکند (بهصورت اختیاری از طریق یک ورودی محلی Xray) و پس از خرابیهای مکرر، Xray را ریاستارت میکند. هر ریاستارت همهی کلاینتهای متصل را قطع میکند، پس آن را آگاهانه فعال کنید.
| Variable | Default | Description |
|---|---|---|
XUI_TUNNEL_HEALTH_MONITOR | false | فعالسازی پایشگر. |
XUI_TUNNEL_HEALTH_PROXY | — | پروکسیای که پروب از طریق آن ارسال میشود، مثلاً socks5://127.0.0.1:1080. خالی = فقط اتصال میزبان را بررسی میکند. |
XUI_TUNNEL_HEALTH_URL | https://www.cloudflare.com/cdn-cgi/trace | URLی که پروب میشود. |
XUI_TUNNEL_HEALTH_INTERVAL | 30s | فاصلهی زمانی بین پروبها. |
XUI_TUNNEL_HEALTH_TIMEOUT | 10s | مهلت زمانی هر پروب. |
XUI_TUNNEL_HEALTH_FAILURES | 3 | تعداد خرابیهای متوالی پیش از یک ریاستارت. |
XUI_TUNNEL_HEALTH_COOLDOWN | 5m | حداقل تأخیر بین ریاستارتها. |
نصب بدون نظارت
| Variable | Description |
|---|---|
XUI_NONINTERACTIVE | روی 1 تنظیم کنید (یا بدون TTY اجرا کنید) تا نصب بدون هیچ پرسشی انجام شود؛ اطلاعات احراز هویتِ تولیدشده در /etc/x-ui/install-result.env نوشته میشوند. نگاه کنید به نصب. |

3x-ui