From a7883bc4518ed176d8414bfe1fa9cb45001f4007 Mon Sep 17 00:00:00 2001 From: TED <135175623+iamtheted@users.noreply.github.com> Date: Mon, 4 Nov 2024 01:13:32 +0330 Subject: [PATCH] fix: added all new env variables --- marzban/fa/docs/configuration.md | 328 ++++++++++++++++++++++--------- 1 file changed, 240 insertions(+), 88 deletions(-) diff --git a/marzban/fa/docs/configuration.md b/marzban/fa/docs/configuration.md index 860598f..55834cc 100644 --- a/marzban/fa/docs/configuration.md +++ b/marzban/fa/docs/configuration.md @@ -4,16 +4,15 @@ title: پیکربندی # پیکربندی -لیست تمامی متغیرهای محیطی مرزبان را در این صفحه مشاهده میکنید. شما می‌توانید تمام این متغیرها در فایل `.env` مقداردهی کنید. +- لیست تمامی متغیرهای محیطی مرزبان را در این صفحه مشاهده میکنید. شما می‌توانید تمام این متغیرها در فایل `.env` مقداردهی کنید. ::: tip مسیر فایل `.env` در نصب سریع اگر به روش نصب سریع مرزبان را نصب کرده‌اید، فایل `.env` را می‌توانید در مسیر `/opt/marzban/.env` پیدا کنید. ::: - ## UVICORN_HOST - مقدار پیش‌فرض: `0.0.0.0` - +- کاربرد متغیر: آیپی آدرسی که مرزبان روی آن اجرا میشود. ::: tip نکته @@ -22,217 +21,370 @@ title: پیکربندی ## UVICORN_PORT - مقدار پیش‌فرض: `8000` - +- کاربرد متغیر: پورتی که مرزبان روی آن اجرا میشود. - ## UVICORN_UDS - -آدرس unix domain socket که مرزبان روی آن اجرا میشود. +- کاربرد متغیر: +آدرس `unix domain socket` که مرزبان روی آن اجرا میشود. ::: tip نکته در صورت مقداردهی، متغیر های `UVICORN_HOST` و `UVICORN_PORT` نادیده گرفته می‌شوند. ::: - ## UVICORN_SSL_CERTFILE +- کاربرد متغیر: +آدرس فایل `Certificate` گواهی `SSL` -آدرس فایل certificate گواهی SSL - -(مثال: `/path/to/example.com/fullchain.pem`) +- (مثال: `/path/to/example.com/fullchain.pem`) ## UVICORN_SSL_KEYFILE -آدرس فایل key گواهی SSL +- کاربرد متغیر: +آدرس فایل `Key` گواهی `SSL` -(مثال: `/path/to/example.com/key.pem`) +- (مثال: `/path/to/example.com/key.pem`) +## DASHBOARD_PATH +- کاربرد متغیر: +مسیر داشبورد پنل + +- (مثال: `/TED/`) ## XRAY_JSON - مقدار پیش‌فرض: `xray_config.json` - -آدرس فایل json پیکربندی xray +- کاربرد متغیر: +آدرس فایل `Json` پیکربندی `Xray` ## XRAY_SUBSCRIPTION_URL_PREFIX - +- کاربرد متغیر: آدرس پیشوند لینک سابسکریپشن ::: warning توجه در صورتی که این متغیر تعیین نشود، لینک سابسکریپشن ها در ربات تلگرام به درستی ارسال نخواهد شد. ::: - ## XRAY_SUBSCRIPTION_PATH - مقدار پیش‌فرض: `sub` - -path لینک سابسکریپشن - +- کاربرد متغیر: +`Path` لینک سابسکریپشن ## XRAY_EXECUTABLE_PATH - مقدار پیش‌فرض: `/usr/local/bin/xray` - -آدرس فایل اجرایی xray - +- کاربرد متغیر: +آدرس فایل اجرایی `Xray` ## XRAY_ASSETS_PATH - مقدار پیش‌فرض: `/usr/local/share/xray` - -آدرس پوشه فایل های asset برای xray (فایل های `geoip.dat` و `geosite.dat`) - +- کاربرد متغیر: +آدرس پوشه فایل های `Asset` برای `Xray` (فایل های `geoip.dat` و `geosite.dat`) ## XRAY_EXCLUDE_INBOUND_TAGS +- کاربرد متغیر: +تگ `Inbound`هایی که نیازی به مدیریت و وجود آنها در لیست پروکسی ها نیست. -تگ inboundهایی که نیازی به مدیریت و وجود آنها در لیست پروکسی ها نیست. - -(مثال: `"IBOUND_X INBOUND_Y INBOUND_Z"`) - +- (مثال: `"IBOUND_X INBOUND_Y INBOUND_Z"`) ## XRAY_FALLBACKS_INBOUND_TAG -در صورتی که از یک inbound با تعدادی fallback استفاده میکنید، تگ آن را در اینجا وارد کنید. - +- کاربرد متغیر: +در صورتی که از یک `Inbound` با تعدادی `Fallback` استفاده میکنید، تگ آن را در اینجا وارد کنید. ## TELEGRAM_API_TOKEN - +- کاربرد متغیر: توکن ربات تلگرام (دریافت از [@botfather](https://t.me/botfather)) - ## TELEGRAM_ADMIN_ID - +- کاربرد متغیر: آیدی عددی ادمین در تلگرام (دریافت از [@userinfobot](https://t.me/userinfobot)) - ## TELEGRAM_LOGGER_CHANNEL_ID -آیدی عددی کانال Logهای ربات تلگرام - -در صورت مقداردهی، Logهای مربوط به ربات تلگرام در این کانال ارسال خواهند شد. ربات تلگرام مرزبان باید در این کانال ادمین باشد. +- کاربرد متغیر: +آیدی عددی کانال `Log`های ربات تلگرام +- در صورت مقداردهی، `Log`های مربوط به ربات تلگرام در این کانال ارسال خواهند شد. ربات تلگرام مرزبان باید در این کانال ادمین باشد. ## TELEGRAM_DEFAULT_VLESS_FLOW -تعیین flow پیش‌فرض برای پروتکل Vless در ربات تلگرام - -(مثال: `"xtls-rprx-vision"`) +- کاربرد متغیر: +تعیین `Flow` پیش‌فرض برای پروتکل `Vless` در ربات تلگرام +- (مثال: `"xtls-rprx-vision"`) ## TELEGRAM_PROXY_URL - +- کاربرد متغیر: برای اجرای ربات تلگرام با پروکسی (در صورتی که در سرور شما سرور های تلگرام مسدود شده‌اند.) -(مثال: `"socks5://127.0.0.1:1080"`) - +- (مثال: `"socks5://127.0.0.1:1080"`) ## DISCORD_WEBHOOK_URL -آدرس Webhook دیسکورد - +- کاربرد متغیر: +آدرس `Webhook` دیسکورد ## CUSTOM_TEMPLATES_DIRECTORY - مقدار پیش‌فرض: `app/templates` - -پوشه‌ی فایل های template - +- کاربرد متغیر: +پوشه‌ی فایل های `Template` ## CLASH_SUBSCRIPTION_TEMPLATE - مقدار پیش‌فرض: `clash/default.yml` +- کاربرد متغیر: +`Template` مورد استفاده برای تولید کانفیگ های `Clash` -template مورد استفاده برای تولید کانفیگ های Clash - -(مثال: [default.yml](https://github.com/Gozargah/Marzban/blob/master/app/templates/clash/default.yml)) - +- (مثال: [default.yml](https://github.com/Gozargah/Marzban/blob/master/app/templates/clash/default.yml)) ## SUBSCRIPTION_PAGE_TEMPLATE - مقدار پیش‌فرض: `subscription/index.html` +- کاربرد متغیر: +`Template` مورد استفاده برای صفحه اطلاعات سابسکریپشن -template مورد استفاده برای صفحه اطلاعات سابسکریپشن - -(مثال: [index.html](https://github.com/Gozargah/Marzban/blob/master/app/templates/subscription/index.html)) - +- (مثال: [index.html](https://github.com/Gozargah/Marzban/blob/master/app/templates/subscription/index.html)) ## HOME_PAGE_TEMPLATE - مقدار پیش‌فرض: `home/index.html` +- کاربرد متغیر: +`Template` مورد استفاده برای صفحه اصلی + +- (مثال: [index.html](https://github.com/Gozargah/Marzban/blob/master/app/templates/home/index.html)) -template مورد استفاده برای صفحه اصلی +## V2RAY_SUBSCRIPTION_TEMPLATE +- مقدار پیش‌فرض: `"v2ray/default.json"` +- کاربرد متغیر: +تمپلیت مورد استفاده برای کاستوم کانفیگ -(مثال: [index.html](https://github.com/Gozargah/Marzban/blob/master/app/templates/home/index.html)) +## V2RAY_SETTINGS_TEMPLATE +- مقدار پیش‌فرض: `"v2ray/settings.json"` +- کاربرد متغیر: +تنظیمات تمپلیت کاستوم کانفیگ +## SINGBOX_SUBSCRIPTION_TEMPLATE +- مقدار پیش‌فرض: `"singbox/default.json"` +- کاربرد متغیر: +تمپلیت مورد استفاده برای کلاینت `SingBox` + +## SINGBOX_SETTINGS_TEMPLATE +- مقدار پیش‌فرض: `"singbox/settings.json"` +- کاربرد متغیر: +تنظیمات تمپلیت `SingBox` + +## MUX_TEMPLATE +- مقدار پیش‌فرض: `"mux/default.json"` +- کاربرد متغیر: +تنظیمات `MUX` برای کاستوم کانفیگ + +## USE_CUSTOM_JSON_DEFAULT=True +- کاربرد متغیر: +فعال کردن کاستوم کانفیگ برای استفاده از متغیرهای `Fragment`, `Mux`, `Noise` + +اگر این متغیر `True` باشد هر سه متغیر زیر بصورت پیش فرض `True` خواهند بود. + +`USE_CUSTOM_JSON_FOR_V2RAYN` + +`USE_CUSTOM_JSON_FOR_V2RAYNG` + +`USE_CUSTOM_JSON_FOR_STREISAND` + +## USE_CUSTOM_JSON_FOR_V2RAYN=False +- کاربرد متغیر: +فعال کردن کاستوم کانفیگ برای کلاینت `v2rayN` + +## USE_CUSTOM_JSON_FOR_V2RAYNG=True +- کاربرد متغیر: +فعال کردن کاستوم کانفیگ برای کلاینت `v2rayNG` + +## USE_CUSTOM_JSON_FOR_STREISAND=False +- کاربرد متغیر: +فعال کردن کاستوم کانفیگ برای کلاینت `Streisand` ## SUB_PROFILE_TITLE - مقدار پیش‌فرض: `Subscription` - +- کاربرد متغیر: عنوان سابسکریپشن در کلاینت -در صورت پشتیبانی کلاینت از این قابلیت و عدم انتخاب عنوان برای سابسکریپشن توسط کاربر، این مقدار برای عنوان سابسکریپشن انتخاب می‌شود. - +- در صورت پشتیبانی کلاینت از این قابلیت و عدم انتخاب عنوان برای سابسکریپشن توسط کاربر، این مقدار برای عنوان سابسکریپشن انتخاب می‌شود. ## SUB_SUPPORT_URL +- کاربرد متغیر: آدرس ارتباط با پشتیبانی در لینک سابسکریپشن -(مثال: `"https://t.me/support"`) - +- (مثال: `"https://t.me/support"`) ## SUB_UPDATE_INTERVAL - مقدار پیش‌فرض: `12` - +- کاربرد متغیر: فاصله زمانی بین آپدیت‌های خودکار سابسکریپشن (به واحد ساعت) -در صورت پشتیبانی کلاینت از این قابلیت، سابسکریپشن هر 12 ساعت آپدیت می‌شود. - +- در صورت پشتیبانی کلاینت از این قابلیت، سابسکریپشن هر `12` ساعت آپدیت می‌شود. + +## EXTERNAL_CONFIG +- مقدار پیش‌فرض: `"config://..."` +- کاربرد متغیر: +قرار دادن پروکسی خارجی با فرمت `v2ray` که فقط `1` عدد می‌توانید اضافه کنید و در آخر لیست پروکسی‌ها خواهد آمد. + +## ACTIVE_STATUS_TEXT +- مقدار پیش‌فرض: `"Active"` +- کاربرد متغیر: +تعیین متن دلخواه برای وضعیت فعال کاربر در `Host Settings` + +## EXPIRED_STATUS_TEXT +- مقدار پیش‌فرض: `"Expired"` +- کاربرد متغیر: +تعیین متن دلخواه برای وضعیت منقضی‌شده کاربر در `Host Settings` + +## LIMITED_STATUS_TEXT +- مقدار پیش‌فرض: `"Limited"` +- کاربرد متغیر: +تعیین متن دلخواه برای وضعیت محدود‌شده کاربر در `Host Settings` + +## DISABLED_STATUS_TEXT +- مقدار پیش‌فرض: `"Disabled"` +- کاربرد متغیر: +تعیین متن دلخواه برای وضعیت غیرفعال شده کاربر در `Host Settings` + +## ONHOLD_STATUS_TEXT +- مقدار پیش‌فرض: `"On-Hold"` +- کاربرد متغیر: +تعیین متن دلخواه برای وضعیت در انتظار اتصال کاربر در `Host Settings` + +## USERS_AUTODELETE_DAYS +- مقدار پیش‌فرض: `-1` + +- برای غیر فعال کردن این متغیر یا `#` به اول آن اضافه کنید یا پشت عدد منفی قرار دهید. + +- کاربرد متغیر: +پاک شدن خودکار کاربران پس از گذشتن تعداد روز دلخواه از منقضی شدن آن‌ها + +## USER_AUTODELETE_INCLUDE_LIMITED_ACCOUNTS +- کاربرد متغیر: +پاک شدن خودکار کاربران پس از گذشتن تعداد روز دلخواه از محدودیت حجم آن‌ها + +## NOTIFY_STATUS_CHANGE +- مقدار پیش‌فرض: `True` +- کاربرد متغیر: +ارسال شدن یا نشدن نوتیفیکیشن تغییر وضعیت کاربر در ربات تلگرام + +## NOTIFY_USER_CREATED +- مقدار پیش‌فرض: `True` +- کاربرد متغیر: +ارسال شدن یا نشدن نوتیفیکیشن ایجاد کاربر در ربات تلگرام + +## NOTIFY_USER_UPDATED +- مقدار پیش‌فرض: `True` +- کاربرد متغیر: +ارسال شدن یا نشدن نوتیفیکیشن آپدیت شدن مشخصات کاربر در ربات تلگرام + +## NOTIFY_USER_DELETED +- مقدار پیش‌فرض: `True` +- کاربرد متغیر: +ارسال شدن یا نشدن نوتیفیکیشن پاک شدن کاربر در ربات تلگرام + +## NOTIFY_USER_DATA_USED_RESET +- مقدار پیش‌فرض: `True` +- کاربرد متغیر: +ارسال شدن یا نشدن نوتیفیکیشن ریست شدن حجم کاربر در ربات تلگرام + +## NOTIFY_USER_SUB_REVOKED +- مقدار پیش‌فرض: `True` +- کاربرد متغیر: +ارسال شدن یا نشدن نوتیفیکیشن تغییر لینک اشتراک کاربر در ربات تلگرام + +## NOTIFY_IF_DATA_USAGE_PERCENT_REACHED +- مقدار پیش‌فرض: `True` +- کاربرد متغیر: +ارسال شدن یا نشدن نوتیفیکیشن رو به اتمام بودن حجم کاربر در ربات تلگرام + +## NOTIFY_IF_DAYS_LEFT_REACHED +- مقدار پیش‌فرض: `True` +- کاربرد متغیر: +ارسال شدن یا نشدن نوتیفیکیشن رو به اتمام بودن تعداد روزهای کاربر در ربات تلگرام + +## NOTIFY_LOGIN +- مقدار پیش‌فرض: `True` +- کاربرد متغیر: +ارسال شدن یا نشدن نوتیفیکیشن آی‌پی لاگین به پنل در ربات تلگرام ## SQLALCHEMY_DATABASE_URL - مقدار پیش‌فرض: `sqlite:///db.sqlite3` - -آدرس دیتابیس در قابل آدرس های SQLAlchemy +- کاربرد متغیر: +آدرس دیتابیس در قابل آدرس های `SQLAlchemy` ::: tip راهنما فرمت و درایور های موجود برای آدرس دیتابیس را در [مستندات SQLAlchemy](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls) مشاهده کنید. ::: +## SQLALCHEMY_POOL_SIZE +- مقدار پیش‌فرض: `10` +- کاربرد متغیر: +این متغیر مربوط به تعداد کانکشن `idle` استخر دیتابیس هست که وقتی اپ ران شد `10` تا کانکشن بسازد و استفاده کند. + +## SQLIALCHEMY_MAX_OVERFLOW +- مقدار پیش‌فرض: `30` +- کاربرد متغیر: +متغیر `overflow` هم برای این هست که اگر نیاز شد بیشتر از `10` تا کانکشن استفاده کند، تا `30` کانکشن مجاز باشد که بسازد و بعد اینکه کار آن تمام شد بسته شده و از استخر حذف شود. + +## JOB_CORE_HEALTH_CHECK_INTERVAL +- مقدار پیش‌فرض: `10` +- کاربرد متغیر: +متغیر زیر برای این هست که هر `10` ثانیه هسته‌ها چک شود که بالا هستند یا خیر و اگر نبودند ریست شوند. + +## JOB_RECORD_NODE_USAGES_INTERVAL +- مقدار پیش‌فرض: `30` +- کاربرد متغیر: +تعیین زمان دوره محاسبه حجم نودها + +## JOB_RECORD_USER_USAGES_INTERVAL +- مقدار پیش‌فرض: `10` +- کاربرد متغیر: +متغیر زیر هر `10` ثانیه چک می‌کند که حجم یوزرها محاسبه شود. + +## JOB_REVIEW_USERS_INTERVAL +- مقدار پیش‌فرض: `10` +- کاربرد متغیر: +متغیر زیر هر `10` ثانیه یوزرها را چک می‌کند اگر زمان آن‌ها گذشته باشد یا حجم آن‌ها تمام شده باشد، لیمیت یا اکسپایر می‌کند. + +## JOB_SEND_NOTIFICATIONS_INTERVAL +- مقدار پیش‌فرض: `30` +- کاربرد متغیر: +متغیر زیر هر `30` ثانیه صف نوتیفیکشن‌ها رو چک کرده سپس ارسال می‌کند که مختص وب‌هوک است. ## WEBHOOK_ADDRESS - مقدار پیش‌فرض: `DEFAULT` - - ## WEBHOOK_SECRET - مقدار پیش‌فرض: `DEFAULT` - - ## SUDO_USERNAME ::: warning توجه به شدت توصیه میشه تا از مرزبان cli برای ساخت ادمین استفاده کنید و از این متغیر استفاده نکنید. ::: +- کاربرد متغیر: شما می توانید نام کاربری ادمین کل را از متغیر محیطی تنظیم کنید. - ## SUDO_PASSWORD ::: warning توجه به شدت توصیه میشه تا از مرزبان cli برای ساخت ادمین استفاده کنید و از این متغیر استفاده نکنید. ::: +- کاربرد متغیر: شما می توانید گذرواژه ادمین کل را از متغیر محیطی تنظیم کنید. - ## DOCS - مقدار پیش‌فرض: `false` +- کاربرد متغیر: +فعال‌سازی مستندات `API` در آدرس `/docs` و ‍`/redoc` -فعال‌سازی مستندات API در آدرس `/docs` و ‍`/redoc` - +## DEBUG +- مقدار پیش‌فرض: `false` +- کاربرد متغیر: +فعالسازی حالت توسعه (development) ## JWT_ACCESS_TOKEN_EXPIRE_MINUTES - مقدار پیش‌فرض: `1440` - +- کاربرد متغیر: مدت زمان انقضا توکن دسترسی بر مبنی دقیقه ::: tip نکته `0` به معنای 'بدون انقضا' است. ::: - -## DEBUG -- مقدار پیش‌فرض: `false` - -فعالسازی حالت توسعه (development) - - ## VITE_BASE_API - مقدار پیش‌فرض: `/api/` - -پیشوند مسیر API برای استفاده در داشبورد (front-end) +- کاربرد متغیر: +پیشوند مسیر `API` برای استفاده در داشبورد (front-end)