خروجیها و مسیریابی
مدیریت ترافیک خروجی در 3x-ui — خروجیهای WARP، NordVPN، WireGuard PIA، اشتراکهای خروجی (مجموعه سرورها)، قواعد مسیریابی و متعادلکنندههای بار.
ورودیها کلاینتها را میپذیرند؛ خروجیها تعیین میکنند ترافیک آنها در ادامه به کجا برود. 3x-ui میتواند ترافیک را از طریق Cloudflare WARP، NordVPN، Private Internet Access (خروجی WireGuard) یا مجموعههای خروجی دلخواه واردشده از یک اشتراک مسیریابی کند و با قواعد مسیریابی و متعادلکنندهها میان آنها انتخاب نماید.
ویرایش خروجیها و مسیریابی
خروجیها، قواعد مسیریابی، متعادلکنندهها، DNS و ثبت رویداد همگی در پیکربندی Xray قرار دارند (همان قالب پیکربندی که زیر Xray Settings ویرایش میکنید). رابط کاربری جداگانهای برای هر قاعده وجود ندارد — شما JSON را ویرایش میکنید و پنل Xray را بارگذاری مجدد میکند. پنل همچنین یک آزمون اتصالپذیری خروجی و یک آزمون مسیر ارائه میدهد (از هسته در حال اجرا بپرسید که برای یک مقصد مشخص از کدام خروجی استفاده خواهد شد).
ساخت یک خروجی
هر خروجی یک شیء JSON است با حداکثر چهار بخش: یک tag (که قواعد مسیریابی و
متعادلکنندهها به آن ارجاع میدهند)، یک protocol، settings مخصوص پروتکل،
و — برای پروتکلهای proxy — streamSettings که باید با انتقال و امنیت ورودی راه دور
مطابقت داشته باشد. دو خروجی تقریباً همیشه حضور دارند:
freedomترافیک را مستقیماً به مقصدش میفرستد — خروجی پیشفرض. بهصورت اختیاری میتوانید یکdomainStrategy(مثلاًUseIP) تنظیم کنید تا نحوه تفکیک نامهای میزبان را کنترل کنید.blackholeترافیک را دور میاندازد. مقصدهای ناخواسته (تبلیغات، تورنتها) را به اینجا هدایت کنید.
{
"outbounds": [
{ "tag": "direct", "protocol": "freedom", "settings": {} },
{ "tag": "block", "protocol": "blackhole", "settings": {} }
]
}یک خروجی proxy (VLESS، VMess، Trojan، Shadowsocks) به سرور دیگری ارسال میکند —
که برای زنجیرهکردن یا فرستادن ترافیک منتخب به خارج مفید است. به شکلهای سیمی که 3x-ui
استفاده میکند توجه کنید: VLESS شکل تخت است (address/port/id/flow/
encryption)، VMess از settings.vnext[] استفاده میکند، و Trojan/Shadowsocks از
settings.servers[] استفاده میکنند. مقدار streamSettings باید با
انتقال و امنیت مقصد همخوانی داشته باشد.
هر خروجی را در زیر سرهم کنید و JSON را در Xray Settings → Outbounds بچسبانید:
Outbound config generator
Build an Xray outbound object — freedom, blackhole, a proxy protocol, WireGuard, or WARP — to paste into your Xray configuration.
{
"tag": "proxy",
"protocol": "vless",
"settings": {
"address": "example.com",
"port": 443,
"id": "",
"flow": "",
"encryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"tcpSettings": {
"header": {
"type": "none"
}
},
"realitySettings": {
"fingerprint": "chrome",
"serverName": "www.microsoft.com"
}
}
}Cloudflare WARP
WARP به سرور شما امکان میدهد ترافیک خود را از طریق شبکه Cloudflare خارج کند. 3x-ui میتواند
یک حساب WARP برای شما ثبت کند و آن را به یک خروجی WireGuard با برچسب warp متصل نماید:
افزودن یک خروجی با برچسب warp
یک خروجی WireGuard با برچسب warp در پیکربندی Xray خود بسازید.
ثبت WARP
از کنترلهای WARP در پنل، یک حساب ثبت کنید. 3x-ui کلیدها، نشانیها، بایتهای رزروشده و نقطه انتهایی peer مربوط به خروجی را بهصورت خودکار پر میکند.
(اختیاری) چرخش خودکار IP
یک بازه بهروزرسانی WARP (بر حسب روز) تنظیم کنید تا IP مربوط به WARP بهصورت دورهای چرخش یابد. یک لایسنس رایگان نیز میتواند اعمال شود.
ترافیک موردنظر خود (برای مثال دامنههای خاص) را با یک قاعده مسیریابی به خروجی warp هدایت
کنید.
NordVPN
3x-ui میتواند اعتبارنامههای NordVPN (NordLynx/WireGuard) را از یک توکن دسترسی دریافت کند (یا
یک کلید خصوصی را مستقیماً بپذیرد) و کشورها/سرورها را فهرست کند تا بتوانید یک خروجی NordVPN
بسازید. از Xray → خروجیها → بیشتر → NordVPN وارد شوید یا کلید خصوصی را ذخیره کنید،
سرور را انتخاب کنید و خروجی را بیفزایید. میتوان چند سرور افزود؛ هر hostname برچسب یکتای
nord-<hostname> دارد و نمیتوان آن را دو بار افزود.
Reset در هر ردیف، سرور، برچسب، peer و ارجاعهای مسیریابی را نگه میدارد و فقط کلید خصوصی درون خروجی را از اعتبارنامهٔ ذخیرهشدهٔ فعلی تازه میکند. خروج فقط اعتبارنامهٔ ذخیرهشده را پاک میکند و خروجیهای موجود همچنان از کلید درون خود استفاده میکنند. خروجیهای بلااستفادهٔ NordVPN را از فهرست خروجیها حذف کنید.
خروجی WireGuard PIA
3x-ui میتواند با نام کاربری و رمز عبور PIA وارد شود، کشورها/منطقهها/سرورها را
از فهرست امضاشده نشان دهد و یک خروجی WireGuard بسازد. از
Xray → خروجیها → بیشتر → PIA وارد شوید، سرور را انتخاب کنید و خروجی را
اضافه کنید. میتوان چند سرور افزود (هر hostname یک خروجی). برچسب
pia-<region>-<server> است (مثلاً pia-us-east-useast1). افزودن یا Reset
در هر ردیف کلید را با /addKey ثبت میکند. یک hostname را نمیتوان دو بار
افزود. خروج فقط توکن ذخیرهشده را پاک میکند؛ حذف خروجی از فهرست خروجیها.
Reset یا حذف، peer مربوط به WireGuard را در حساب PIA باطل نمیکند.
گذرواژه ذخیره نمیشود. توکن API مربوط به PIA با همان تنظیم
NODE_TOKEN_ENCRYPTION گرهها ذخیره میشود. اگر کلید قدیمی
XUI_NODE_TOKEN_KEY را بدون ورود دوباره به PIA کنار بگذارید، Add/Reset
تا ورود مجدد شکست میخورد. allowedIPs فقط
0.0.0.0/0 است.
اشتراکهای خروجی (مجموعه سرورها)
یک اشتراک خروجی یک اشتراک share-link از راه دور را وارد میکند و سرورهای آن را بهعنوان خروجی به پیکربندی در حال اجرای Xray تزریق میکند — بدون دستزدن به قالب ذخیرهشده شما. این روش توصیهشده برای اشتراک در یک مجموعه از سرورهاست.
| فیلد | پیشفرض | معنا |
|---|---|---|
url | — | نشانی اشتراک از راه دور (محافظتشده در برابر SSRF). |
tagPrefix | auto | پیشوند برچسبهای خروجی تولیدشده (مثلاً hk-)؛ خالی = subN-. |
updateInterval | 600 | بازه تازهسازی بر حسب ثانیه. |
prepend | false | این خروجیها را پیش از خروجیهای دستی شما قرار میدهد. |
priority | 0 | ترتیب ادغام (مقدار کمتر، زودتر). |
خروجیهای واردشده برچسبهای پایدار میگیرند: همان سرور در طول تازهسازیها همان برچسب را
حفظ میکند، بنابراین انتخابگرهای مسیریابی/متعادلکننده مبتنی بر برچسب دقیق پایدار میمانند —
در حالی که انتخابگرهای پیشوندی/wildcard (مثلاً hk-*) با تغییر مجموعه، بهصورت خودکار سرورهای
جدید را در بر میگیرند. طرحهای پیوند پشتیبانیشده: vmess، vless، trojan، ss،
hysteria2 (hy2) و wireguard (wg). پنل اشتراکهای فعال را روی یک زمانسنج تازه میکند و
هنگام تغییر چیزی، Xray را بارگذاری مجدد میکند.
قواعد مسیریابی
قواعد مسیریابی تعیین میکنند هر اتصال از کدام خروجی (یا متعادلکننده) استفاده کند. هر
قاعده یک تطبیقدهنده از نوع field است: هر یک از domain، ip، port، network،
protocol، inboundTag، sourceIP، … را تنظیم کنید و آن را به یک outboundTag یا یک
balancerTag اشاره دهید. قواعد از بالا به پایین — نخستین تطبیق برنده است ارزیابی میشوند، بنابراین
قواعد خاص را بالای قواعد عمومی قرار دهید.
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{ "type": "field", "domain": ["geosite:category-ads-all"], "outboundTag": "block" },
{ "type": "field", "ip": ["geoip:private"], "outboundTag": "direct" }
]
}
}متعادلکنندهها
یک متعادلکننده خروجیها را با یک انتخابگر (پیشوندهای برچسب، از جمله مجموعههای wildcard حاصل از اشتراکهای خروجی) گروهبندی میکند و ترافیک را با یک استراتژی میان آنها توزیع یا در صورت خرابی منتقل میکند:
| استراتژی | انتخاب میکند… | به مانیتور نیاز دارد |
|---|---|---|
random | یک عضو تصادفی برای هر اتصال | خیر |
roundRobin | اعضا بهصورت چرخشی | خیر |
leastPing | عضو با کمترین تأخیر | observatory |
leastLoad | پایدارترین عضو بر اساس بار نمونهبرداریشده | burstObservatory |
از یک قاعده با balancerTag به یک متعادلکننده ارجاع دهید. leastPing و leastLoad
به یک مانیتور سلامت نیاز دارند که Xray آن را در سطح بالای پیکربندی قرار میدهد
(observatory / burstObservatory، نه درون routing). پنل میتواند وضعیت
متعادلکننده را گزارش کند و برای آزمایش یک متعادلکننده را به یک خروجی مشخص بازنویسی کند.
بلوک مسیریابی — قواعد، متعادلکنندهها و observatory متناظر — را در اینجا بسازید:
Balancer & routing builder
Compose Xray balancers and routing rules, then copy the routing block (with a matching observatory for leastPing/leastLoad).
Balancers
Rules
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"domain": [
"geosite:category-ads-all"
],
"outboundTag": "block"
},
{
"type": "field",
"ip": [
"geoip:private"
],
"outboundTag": "direct"
}
],
"balancers": [
{
"tag": "balancer",
"selector": [
"proxy"
],
"strategy": {
"type": "leastPing"
}
}
]
},
"observatory": {
"subjectSelector": [
"proxy"
],
"probeURL": "https://www.google.com/generate_204",
"probeInterval": "1m",
"enableConcurrency": true
}
}خروجیهایی که به سرویسهای خارجی دسترسی مییابند با محافظت SSRF واکشی میشوند — بهصورت پیشفرض نشانیهای خصوصی/داخلی مسدود هستند مگر آنکه بهطور صریح آنها را بهازای هر منبع مجاز کنید.

3x-ui