3x-ui3x-ui test
عملیات

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

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

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

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

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

ساخت یک خروجی

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

  • freedom ترافیک را مستقیماً به مقصدش می‌فرستد — خروجی پیش‌فرض. به‌صورت اختیاری می‌توانید یک domainStrategy (مثلاً UseIP) تنظیم کنید تا نحوه تفکیک نام‌های میزبان را کنترل کنید.
  • blackhole ترافیک را دور می‌اندازد. مقصدهای ناخواسته (تبلیغات، تورنت‌ها) را به اینجا هدایت کنید.
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/ encryptionVMess از 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.

Outbound (Xray JSON)
{
  "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 بسازید.

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

یک اشتراک خروجی یک اشتراک share-link از راه دور را وارد می‌کند و سرورهای آن را به‌عنوان خروجی به پیکربندی در حال اجرای Xray تزریق می‌کند — بدون دست‌زدن به قالب ذخیره‌شده شما. این روش توصیه‌شده برای اشتراک در یک مجموعه از سرورهاست.

فیلدپیش‌فرضمعنا
urlنشانی اشتراک از راه دور (محافظت‌شده در برابر SSRF).
tagPrefixautoپیشوند برچسب‌های خروجی تولیدشده (مثلاً hk-)؛ خالی = subN-.
updateInterval600بازه تازه‌سازی بر حسب ثانیه.
prependfalseاین خروجی‌ها را پیش از خروجی‌های دستی شما قرار می‌دهد.
priority0ترتیب ادغام (مقدار کمتر، زودتر).

خروجی‌های وارد‌شده برچسب‌های پایدار می‌گیرند: همان سرور در طول تازه‌سازی‌ها همان برچسب را حفظ می‌کند، بنابراین انتخاب‌گرهای مسیریابی/متعادل‌کننده مبتنی بر برچسب دقیق پایدار می‌مانند — در حالی که انتخاب‌گرهای پیشوندی/wildcard (مثلاً hk-*) با تغییر مجموعه، به‌صورت خودکار سرورهای جدید را در بر می‌گیرند. طرح‌های پیوند پشتیبانی‌شده: vmess، vless، trojan، ss، hysteria2 (hy2) و wireguard (wg). پنل اشتراک‌های فعال را روی یک زمان‌سنج تازه می‌کند و هنگام تغییر چیزی، Xray را بارگذاری مجدد می‌کند.

قواعد مسیریابی

قواعد مسیریابی تعیین می‌کنند هر اتصال از کدام خروجی (یا متعادل‌کننده) استفاده کند. هر قاعده یک تطبیق‌دهنده از نوع field است: هر یک از domain، ip، port، network، protocol، inboundTag، sourceIP، … را تنظیم کنید و آن را به یک outboundTag یا یک balancerTag اشاره دهید. قواعد از بالا به پایین — نخستین تطبیق برنده است ارزیابی می‌شوند، بنابراین قواعد خاص را بالای قواعد عمومی قرار دهید.

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 متناظر — را در اینجا بسازید:

Balancer & routing builder

Compose Xray balancers and routing rules, then copy the routing block (with a matching observatory for leastPing/leastLoad).

Balancers

Rules

Routing block (Xray JSON)
{
  "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 واکشی می‌شوند — به‌صورت پیش‌فرض نشانی‌های خصوصی/داخلی مسدود هستند مگر آنکه به‌طور صریح آن‌ها را به‌ازای هر منبع مجاز کنید.

On this page