Skip to content

ورودی‌ها

inbounds آرایهٔ سرویس‌های شنونده است. هر مدخل یک InboundDetourConfig است: نام پروتکل، محل شنود، شیء settings مخصوص پروتکل، و بلوک‌های اختیاری ترابرد (streamSettings) و تشخیص ترافیک (sniffing). بار settings به‌صورت JSON خام نگه داشته می‌شود و هندلری که protocol انتخاب می‌کند آن را رمزگشایی می‌کند.

گزینه‌ها

فیلدنوعپیش‌فرضمقادیر مجازتوضیحات
protocolstringdokodemo-door | tunnel | http | socks | mixed | shadowsocks | vless | vmess | trojan | wireguard | hysteria | tunکدام هندلر ورودی اجرا شود. نام پیش از جستجو در رجیستری به حروف کوچک تبدیل می‌شود، پس تطبیق به بزرگی/کوچکی حروف حساس نیست. `tunnel` نام دیگر `dokodemo-door` است و `mixed` از هندلر SOCKS استفاده می‌کند (HTTP + SOCKS روی یک پورت).
port*PortList<int> | "<from>-<to>" | "port,port,..."پورت(های) شنود: یک عدد صحیح، رشتهٔ بازه، یا فهرست جداشده با ویرگول از هر دو. برای پروتکل‌های مبتنی بر سوکت الزامی است؛ `tun` آن را نادیده می‌گیرد و به‌جایش از یک رابط شبکه می‌خواند.
listen*Address0.0.0.0آدرس اتصال. به‌طور پیش‌فرض به همهٔ رابط‌ها متصل می‌شود؛ برای ورودی صرفاً محلی 127.0.0.1 بگذارید.
settings*json.RawMessageشیء تنظیمات مخصوص پروتکل که هندلر انتخاب‌شده توسط protocol آن را رمزگشایی می‌کند. شکل هر پروتکل را در صفحهٔ همان پروتکل ببینید.
tagstringنام یکتای این ورودی. قواعد مسیریابی (inboundTag) به آن ارجاع می‌دهند و برچسب شمارنده‌های آمار است.
streamSettings*StreamConfigترابرد و امنیت شنونده (raw / ws / grpc / xhttp…، tls / reality). صفحات ترابرد و TLS را ببینید.
sniffing*SniffingConfigتشخیص نوع ترافیک روی اتصال‌های پذیرفته‌شده. فیلدها در جدول زیر.

منبع: infra/conf/xray.go:126-134 · ثابت‌شده در v26.7.28 (5ca6f4b)

اسنیف (sniffing)

فیلدنوعپیش‌فرضمقادیر مجازتوضیحات
enabledboolfalsetrue | falseاسنیف را برای این ورودی روشن می‌کند.
destOverrideStringList"http" | "tls" | "quic" | "fakedns" | "fakedns+others"فهرست پروتکل‌هایی که مقصد اسنیف‌شده جایگزین آدرس مقصد اصلی می‌شود. `https` و `ssl` به‌عنوان نام دیگر `tls` پذیرفته می‌شوند.
domainsExcludedStringListدامنه‌هایی که حتی با تطبیق اسنیف، مقصد اصلی خود را نگه می‌دارند.
ipsExcludedStringListIP / CIDR مقصدهایی که از بازنویسی مقصد مستثنا هستند.
metadataOnlyboolfalsetrue | falseفقط از فرادادهٔ اتصال برای تشخیص استفاده شود؛ بایت‌های بار بازرسی نشوند.
routeOnlyboolfalsetrue | falseدامنهٔ اسنیف‌شده فقط برای تصمیم مسیریابی به کار رود، بدون بازنویسی مقصد.

منبع: infra/conf/xray.go:55-62 · ثابت‌شده در v26.7.28 (5ca6f4b)

مثال حداقلی

json
{
  "inbounds": [
    {
      "tag": "socks-in",
      "protocol": "socks",
      "listen": "127.0.0.1",
      "port": 1080,
      "settings": { "udp": true },
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls"]
      }
    }
  ]
}

نکات

  • protocol ناشناخته در هنگام راه‌اندازی خطای unknown config id می‌دهد؛ جدول جستجو یک رجیستری ثابت است، نه سامانهٔ افزونه.
  • tag باید در میان همهٔ ورودی‌ها یکتا باشد — قواعد مسیریابی و زیرسامانهٔ آمار، ورودی‌ها را با tag آدرس‌دهی می‌کنند.
  • tun تنها ورودی‌ای است که port نمی‌خواهد: بسته‌ها را از یک رابط شبکه می‌گیرد. TUN را ببینید.
  • اسنیف مقصد را پیش از اجرای مسیریابی بازنویسی می‌کند؛ همین است که می‌گذارد قواعد دامنه اتصال‌هایی را که با IP رسیده‌اند تطبیق دهند. routeOnly اثر را به مسیریابی محدود می‌کند.

نکات بین‌هسته‌ای

  • sing-box همین مفهوم را با یک شیء تخت در هر مدخل مدل می‌کند — type + tag + فیلدهای مخصوص نوع در یک سطح، به‌جای بلوک تو در توی settings. ورودی‌های sing-box را ببینید.
  • mihomo در سطح ریشه آرایهٔ inbounds ندارد: شنونده‌های رایج کلیدهای ریشهٔ جداگانه‌اند (port، socks-port، mixed-port، …) به همراه فهرست listeners برای مدخل‌های اضافی. HTTP و SOCKS و Redirect و TProxy را ببینید.

منبع: infra/conf/xray.go:126-134 · v26.7.28 (5ca6f4b)

Core Tutorial اثر Argsment