متغیرهای محیطی
اشتراک
SUBSCRIPTION_URL
- CLI:
--subscription-url - الزامی: بله
- پیشفرض: ندارد
آدرس URL، رشته Base64 یا مسیر فایل برای پیکربندی پروکسی. فرمتهای مختلف پشتیبانی میشود:
- آدرس HTTP/HTTPS با محتوای کدگذاری شده Base64
- رشته مستقیم کدگذاری شده Base64
- مسیر فایل محلی با پیشوند
file:// - مسیر پوشه محلی با پیشوند
folder://
SUBSCRIPTION_UPDATE
- CLI:
--subscription-update - الزامی: خیر
- پیشفرض:
true
فعالسازی بهروزرسانی خودکار پیکربندی پروکسی از منبع اشتراک. وقتی فعال باشد، Xray Checker به طور دورهای تغییرات را بررسی و پیکربندیها را بهروزرسانی میکند.
SUBSCRIPTION_UPDATE_INTERVAL
- CLI:
--subscription-update-interval - الزامی: خیر
- پیشفرض:
300
زمان به ثانیه بین بررسیهای بهروزرسانی اشتراک. فقط زمانی استفاده میشود که SUBSCRIPTION_UPDATE فعال باشد.
SUBSCRIPTION_JSON_FORMAT
- CLI:
--subscription-json-format - الزامی: خیر
- پیشفرض:
false
اشتراک را بهجای لیست لینک پیشفرض Base64، بهصورت یک پیکربندی کامل JSON مربوط به Xray درخواست میکند. این گزینه را برای پنلهایی که JSON ارائه میدهند (مثلاً Remnawave) و برای اشتراکهایی که از متعادلکنندهها (balancer) استفاده میکنند فعال کنید: هر outbound داخل یک گروه متعادلکننده به یک پروکسی که جداگانه بررسی میشود بسط داده میشود، بنابراین یک نودِ از کارافتاده دیگر پشت گروه پنهان نمیماند. وقتی فعال باشد، درخواست با یک User-Agent شبیه به اپلیکیشن ارسال میشود (با SUBSCRIPTION_USER_AGENT قابل بازنویسی است). فرمت اشتراک را ببینید.
SUBSCRIPTION_USER_AGENT
- CLI:
--subscription-user-agent - الزامی: خیر
- پیشفرض: ندارد
هدر User-Agent ارسالی هنگام دریافت اشتراک را بازنویسی میکند. برای پنلهایی که بسته به کلاینت محتوای متفاوتی برمیگردانند مفید است. وقتی تنظیم نشده باشد، Xray Checker از Xray-Checker استفاده میکند، یا اگر SUBSCRIPTION_JSON_FORMAT فعال باشد از یک عامل (agent) شبیه به اپلیکیشن استفاده میکند.
SUBSCRIPTION_HEADERS
- CLI:
--subscription-header - الزامی: خیر
- پیشفرض: ندارد
هدرهای HTTP اضافی که با هر درخواست اشتراک ارسال میشوند، هرکدام بهصورت یک جفت Key: Value.
- CLI: فلگ
--subscription-headerرا برای هر هدر تکرار کنید - متغیر محیطی: جفتها را با کاما جدا کنید:
SUBSCRIPTION_HEADERS="X-Token: abc, X-Region: eu"
پروکسی
PROXY_CHECK_INTERVAL
- CLI:
--proxy-check-interval - الزامی: خیر
- پیشفرض:
300
زمان به ثانیه بین بررسیهای در دسترس بودن پروکسی. هر بررسی تمام پروکسیهای پیکربندی شده را چک میکند.
PROXY_CHECK_METHOD
- CLI:
--proxy-check-method - الزامی: خیر
- پیشفرض:
ip - مقادیر:
ip،status،download
روش مورد استفاده برای تأیید عملکرد پروکسی:
ip: مقایسه آدرسهای IP با و بدون پروکسیstatus: بررسی کد وضعیت HTTP از یک درخواست آزمایشیdownload: دانلود یک فایل و بررسی حداقل اندازه دریافتی
PROXY_IP_CHECK_URL
- CLI:
--proxy-ip-check-url - الزامی: خیر
- پیشفرض:
https://api.ipify.org?format=text
آدرس URL مورد استفاده برای تأیید IP وقتی PROXY_CHECK_METHOD=ip. باید آدرس IP فعلی را در فرمت متن ساده برگرداند.
PROXY_STATUS_CHECK_URL
- CLI:
--proxy-status-check-url - الزامی: خیر
- پیشفرض:
http://cp.cloudflare.com/generate_204
آدرس URL مورد استفاده برای تأیید وضعیت وقتی PROXY_CHECK_METHOD=status. باید کد وضعیت HTTP 204/200 برگرداند.
PROXY_DOWNLOAD_URL
- CLI:
--proxy-download-url - الزامی: خیر
- پیشفرض:
https://proof.ovh.net/files/1Mb.dat
آدرس URL مورد استفاده برای تأیید دانلود وقتی PROXY_CHECK_METHOD=download. باید یک فایل قابل دانلود برگرداند.
PROXY_DOWNLOAD_TIMEOUT
- CLI:
--proxy-download-timeout - الزامی: خیر
- پیشفرض:
60
حداکثر زمان به ثانیه برای انتظار تکمیل دانلود هنگام استفاده از PROXY_CHECK_METHOD=download.
PROXY_DOWNLOAD_MIN_SIZE
- CLI:
--proxy-download-min-size - الزامی: خیر
- پیشفرض:
51200(۵۰KB)
حداقل تعداد بایتهایی که باید دانلود شود تا بررسی موفق در نظر گرفته شود هنگام استفاده از PROXY_CHECK_METHOD=download.
PROXY_TIMEOUT
- CLI:
--proxy-timeout - الزامی: خیر
- پیشفرض:
30
حداکثر زمان به ثانیه برای انتظار پاسخ پروکسی در طول بررسیها.
PROXY_RESOLVE_DOMAINS
- CLI:
--proxy-resolve-domains - الزامی: خیر
- پیشفرض:
false
هنگامی که این قابلیت فعال باشد، پیکربندیهای پروکسی مبتنی بر دامنه به چندین ورودی بسط داده میشوند — یکی برای هر آدرس IP استخراج شده. برای مثال، یک پروکسی با آدرس server: mydomain.com، به ازای هر IP که توسط جستجوی DNS برگردانده شود، تکثیر خواهد شد.
این کار به Xray Checker اجازه میدهد تا هر نقطه پایانی (Endpoint) شناسایی شده را به صورت جداگانه نظارت کند.
نکات مهم:
-
این ویژگی تنها زمانی کار میکند که دامنه چندین آدرس IP برگرداند. اگر DNS تنها یک IP واحد برگرداند، هیچ بسطی رخ نخواهد داد. توجه داشته باشید که همه ارائهدهندگان DNS چندین IP را برنمیگردانند؛ برای مثال، DNS آمازون معمولاً تنها یک آدرس IP برمیگرداند.
-
این ویژگی تنها با پروتکلهایی کار میکند که گواهیها (Certificates) را در برابر نام دامنه اعتبارسنجی نمیکنند. این قابلیت با پروتکل Reality کار میکند، اما با پروتکلهای استاندارد VLESS و Trojan (که در آنها اتصال مستقیماً با نام دامنه برقرار شده و اعتبارسنجی گواهی انجام میشود) کار نخواهد کرد.
SIMULATE_LATENCY
- CLI:
--simulate-latency - الزامی: خیر
- پیشفرض:
true
تأخیر اندازهگیری شده (TTFB - زمان تا اولین بایت) را به پاسخهای نقطه پایانی اضافه میکند، برای سیستمهای نظارتی که میتوانند تأخیر پاسخ را تفسیر کنند مفید است.
رابط وب
WEB_SHOW_DETAILS
- CLI:
--web-show-details - الزامی: خیر
- پیشفرض:
false
آدرسهای IP و پورتهای سرور را در رابط وب نمایش میدهد. وقتی غیرفعال باشد، فقط نامهای پروکسی برای حفظ حریم خصوصی نمایش داده میشوند.
WEB_PUBLIC
- CLI:
--web-public - الزامی: خیر
- پیشفرض:
false
داشبورد را بدون احراز هویت عمومی میکند. وقتی فعال باشد، داشبورد نام اشتراک را به عنوان عنوان نمایش میدهد، کنترلهای مدیریتی و جزئیات فنی (نسخه، پورتها، لینکهای پیکربندی) را پنهان میکند.
WEB_TRUSTED_EXTERNAL_AUTH
- CLI:
--web-trusted-external-auth - الزامی: خیر
- پیشفرض:
false
اجازه میدهد جزئیات سرور (WEB_SHOW_DETAILS) در حالت عمومی نمایش داده شوند. بهطور پیشفرض، حالت عمومی آدرسها و پورتهای سرور را حتی وقتی WEB_SHOW_DETAILS=true باشد پنهان میکند. این گزینه را تنها زمانی فعال کنید که داشبورد توسط یک پروکسی احراز هویت خارجی (مثلاً Authelia، Authentik، Cloudflare Access یا احراز هویت پایه nginx) محافظت میشود — با این کار شما تأیید میکنید که دسترسی به داشبورد از قبل کنترل شده است، بنابراین نمایش جزئیات امن است.
WEB_PUBLIC_SHOW_PROTOCOL
- CLI:
--web-public-show-protocol - الزامی: خیر
- پیشفرض:
false
نشان پروتکل (VLESS، VMess، Trojan، Shadowsocks، Hysteria2، WireGuard، SOCKS، HTTP) را روی کارتهای داشبورد در حالت عمومی نمایش میدهد. در حالت عادی این نشان همیشه نمایش داده میشود. این گزینه فقط روی نشان اثر میگذارد — آدرسهای سرور، پورتها و لینکهای پیکربندی در حالت عمومی همچنان پنهان میمانند.
WEB_CUSTOM_ASSETS_PATH
- CLI:
--web-custom-assets-path - الزامی: خیر
- پیشفرض: ندارد
مسیر پوشه حاوی فایلهای سفارشی برای رابط وب. وقتی تنظیم شود، فایلهای این پوشه جایگزین فایلهای پیشفرض میشوند.
فایلهای پشتیبانی شده:
index.html— جایگزینی کامل قالب (قالب Go)logo.svg— لوگوی سفارشیfavicon.ico— فاویکون سفارشیcustom.css— استایلهای اضافی (به صورت خودکار تزریق میشوند)- هر فایل دیگری — در
/static/{filename}قابل دسترسی است
برای جزئیات بیشتر سفارشیسازی وب را ببینید.
Xray
XRAY_START_PORT
- CLI:
--xray-start-port - الزامی: خیر
- پیشفرض:
10000
شماره پورت شروع برای پروکسیهای SOCKS5. هر پروکسی از پورتهای متوالی با شروع از این عدد استفاده میکند.
XRAY_LOG_LEVEL
- CLI:
--xray-log-level - الزامی: خیر
- پیشفرض:
none - مقادیر:
debug،info،warning،error،none
سطح جزئیات لاگ Xray Core را کنترل میکند.
متریکها
METRICS_HOST
- CLI:
--metrics-host - الزامی: خیر
- پیشفرض:
0.0.0.0
آدرس میزبان برای نقاط پایانی متریک و وضعیت.
METRICS_PORT
- CLI:
--metrics-port - الزامی: خیر
- پیشفرض:
2112
شماره پورت برای سرور HTTP که نقاط پایانی متریک و وضعیت را ارائه میدهد.
METRICS_PROTECTED
- CLI:
--metrics-protected - الزامی: خیر
- پیشفرض:
false
احراز هویت پایه را برای نقاط پایانی متریک و وضعیت فعال میکند.
METRICS_USERNAME
- CLI:
--metrics-username - الزامی: خیر
- پیشفرض:
metricsUser
نام کاربری برای احراز هویت پایه وقتی METRICS_PROTECTED=true.
METRICS_PASSWORD
- CLI:
--metrics-password - الزامی: خیر
- پیشفرض:
MetricsVeryHardPassword
رمز عبور برای احراز هویت پایه وقتی METRICS_PROTECTED=true.
METRICS_INSTANCE
- CLI:
--metrics-instance - الزامی: خیر
- پیشفرض: ندارد
برچسب نمونه که به تمام متریکها اضافه میشود. برای تشخیص چندین نمونه Xray Checker مفید است.
METRICS_PUSH_URL
- CLI:
--metrics-push-url - الزامی: خیر
- پیشفرض: ندارد
آدرس URL Prometheus Pushgateway برای ارسال متریک. فرمت: https://user:pass@host:port
METRICS_BASE_PATH
- CLI:
--metrics-base-path - الزامی: خیر
- پیشفرض: ""
مسیر URL برای متریکها و نظارت میزبان. فرمت: /vpn/metrics. صفحه نظارت در http://localhost:port/metrics-base-path در دسترس خواهد بود.
سایر
LOG_LEVEL
- CLI:
--log-level - الزامی: خیر
- پیشفرض:
info - مقادیر:
debug،info،warn،error،none
سطح جزئیات لاگ برنامه Xray Checker را کنترل میکند. توجه: این جدا از XRAY_LOG_LEVEL است که لاگ Xray Core را کنترل میکند.
RUN_ONCE
- CLI:
--run-once - الزامی: خیر
- پیشفرض:
false
یک چرخه بررسی انجام داده و خارج میشود. برای محیطهای اجرای زمانبندی شده مفید است.