---
title: خروجی‌ها و مسیریابی
description: مدیریت ترافیک خروجی در 3x-ui — خروجی‌های WARP و NordVPN، اشتراک‌های خروجی (مجموعه سرورها)، قواعد مسیریابی و متعادل‌کننده‌های بار.
icon: Route
---

ورودی‌ها کلاینت‌ها را می‌پذیرند؛ **خروجی‌ها** تعیین می‌کنند ترافیک آن‌ها در ادامه به کجا برود.
3x-ui می‌تواند ترافیک را از طریق Cloudflare WARP، NordVPN یا مجموعه‌های خروجی دلخواه
وارد‌شده از یک اشتراک مسیریابی کند و با قواعد مسیریابی و متعادل‌کننده‌ها میان آن‌ها
انتخاب نماید.

## ویرایش خروجی‌ها و مسیریابی

خروجی‌ها، قواعد مسیریابی، متعادل‌کننده‌ها، DNS و ثبت رویداد همگی در **پیکربندی Xray**
قرار دارند (همان قالب پیکربندی که زیر Xray Settings ویرایش می‌کنید). رابط کاربری جداگانه‌ای
برای هر قاعده وجود ندارد — شما JSON را ویرایش می‌کنید و پنل Xray را بارگذاری مجدد می‌کند. پنل
همچنین یک **آزمون اتصال‌پذیری خروجی** و یک **آزمون مسیر** ارائه می‌دهد (از هسته در حال اجرا
بپرسید که برای یک مقصد مشخص از کدام خروجی استفاده خواهد شد).

## ساخت یک خروجی

هر خروجی یک شیء JSON است با حداکثر چهار بخش: یک **`tag`** (که قواعد مسیریابی و
متعادل‌کننده‌ها به آن ارجاع می‌دهند)، یک **`protocol`**، **`settings`** مخصوص پروتکل،
و — برای پروتکل‌های proxy — **`streamSettings`** که باید با انتقال و امنیت ورودی راه دور
مطابقت داشته باشد. دو خروجی تقریباً همیشه حضور دارند:

- **`freedom`** ترافیک را مستقیماً به مقصدش می‌فرستد — خروجی پیش‌فرض.
  به‌صورت اختیاری می‌توانید یک `domainStrategy` (مثلاً `UseIP`) تنظیم کنید تا نحوه تفکیک نام‌های میزبان را کنترل کنید.
- **`blackhole`** ترافیک را دور می‌اندازد. مقصدهای ناخواسته (تبلیغات، تورنت‌ها) را به اینجا هدایت کنید.

```json title="freedom + 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` باید با
[انتقال و امنیت](/docs/config/transports) مقصد همخوانی داشته باشد.

هر خروجی را در زیر سرهم کنید و JSON را در **Xray Settings → Outbounds** بچسبانید:

<OutboundGenerator />

## Cloudflare WARP

WARP به سرور شما امکان می‌دهد ترافیک خود را از طریق شبکه Cloudflare خارج کند. 3x-ui می‌تواند
یک حساب WARP برای شما ثبت کند و آن را به یک خروجی WireGuard با برچسب **`warp`** متصل نماید:

<Steps>

<Step>
### افزودن یک خروجی با برچسب `warp`

یک خروجی WireGuard با برچسب `warp` در پیکربندی Xray خود بسازید.
</Step>

<Step>
### ثبت WARP

از کنترل‌های WARP در پنل، یک حساب ثبت کنید. 3x-ui کلیدها، نشانی‌ها، بایت‌های رزروشده و نقطه
انتهایی peer مربوط به خروجی را به‌صورت خودکار پر می‌کند.
</Step>

<Step>
### (اختیاری) چرخش خودکار IP

یک بازه به‌روزرسانی WARP (بر حسب **روز**) تنظیم کنید تا IP مربوط به WARP به‌صورت دوره‌ای چرخش
یابد. یک لایسنس رایگان نیز می‌تواند اعمال شود.
</Step>

</Steps>

ترافیک موردنظر خود (برای مثال دامنه‌های خاص) را با یک قاعده مسیریابی به خروجی `warp` هدایت
کنید.

## NordVPN

3x-ui می‌تواند اعتبارنامه‌های NordVPN (NordLynx/WireGuard) را از یک توکن دسترسی دریافت کند (یا
یک کلید خصوصی را مستقیماً بپذیرد) و کشورها/سرورها را فهرست کند تا بتوانید یک خروجی NordVPN
بسازید.

## اشتراک‌های خروجی (مجموعه سرورها)

یک **اشتراک خروجی** یک اشتراک 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`** اشاره دهید. قواعد **از بالا به پایین — نخستین تطبیق برنده است** ارزیابی می‌شوند، بنابراین
قواعد خاص را بالای قواعد عمومی قرار دهید.

```json title="route ads to blackhole, private IPs direct"
{
  "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 متناظر — را در اینجا بسازید:

<RoutingBuilder />

<Callout type="warn">
  خروجی‌هایی که به سرویس‌های خارجی دسترسی می‌یابند با محافظت SSRF واکشی می‌شوند — به‌صورت
  پیش‌فرض نشانی‌های خصوصی/داخلی مسدود هستند مگر آنکه به‌طور صریح آن‌ها را به‌ازای هر منبع مجاز
  کنید.
</Callout>
