ورودیها
inbounds آرایهٔ سرویسهای شنونده است. برخلاف Xray-core بلوک تو در توی settings وجود ندارد: هر مدخل یک شیء تخت است — پاکت type / tag در زیر، بهعلاوهٔ فیلدهای خود نوع انتخابشده در همان سطح. اول پاکت رمزگشایی میشود، سپس کلیدهای باقیمانده به ساختار گزینههای ثبتشده برای type رمزگشایی میشوند و فیلدهای ناشناخته رد میشوند.
پاکت
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
type | string | — | tun | redirect | tproxy | direct | socks | http | mixed | shadowsocks | snell | vmess | trojan | naive | shadowtls | vless | anytls | hysteria | tuic | hysteria2 | cloudflared | نوع ورودی. تعیین میکند بقیهٔ شیء به کدام ساختار گزینهها رمزگشایی شود. مقدار ثبتنشده در راهاندازی با "unknown inbound type" شکست میخورد. |
tag | string | — | — | نام یکتای این ورودی. قواعد مسیریابی (inbound) و خطوط لاگ به آن ارجاع میدهند. |
منبع: option/inbound.go:21-25 · ثابتشده در v1.14.2 (af6e64c)
فیلدهای هر نوع در صفحات پروتکل مستند شدهاند: TUN، Redirect و TProxy، Direct، HTTP و SOCKS (شامل mixed)، Shadowsocks، VMess، Trojan، Naive، VLESS، AnyTLS، Hysteria2، TUIC. snell و cloudflared در Snell و cloudflared مستند شدهاند.
فیلدهای مشترک شنود (ListenOptions)
هر ورودی مبتنی بر سوکت ListenOptions را درون خود دارد؛ فیلدها در همان سطح تختِ پاکت ظاهر میشوند.
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
listen | *badoption.Addr | — | — | آدرس اتصال، مانند "::" یا "127.0.0.1". |
listen_port | uint16 | — | — | پورت شنود. |
bind_interface | string | — | — | رابط شبکهای که شنونده به آن متصل میشود. |
routing_mark | FwMark | — | — | SO_MARK (fwmark) که روی سوکت شنود گذاشته میشود. فقط Linux. |
reuse_addr | bool | false | true | false | SO_REUSEADDR را روی شنونده تنظیم میکند. |
netns | string | — | — | فضاینام شبکه برای شنود: نام یا مسیر، یا tag یک مدخل network_namespaces سطح بالا. فقط Linux. |
disable_tcp_keep_alive | bool | false | true | false | TCP keep-alive را برای اتصالهای پذیرفتهشده خاموش میکند. |
tcp_keep_alive | badoption.Duration | — | — | مدت بیکاری پیش از شروع پروبهای keep-alive. رشتهٔ مدت، مانند "15m". |
tcp_keep_alive_interval | badoption.Duration | — | — | فاصلهٔ بین پروبهای keep-alive. رشتهٔ مدت. |
tcp_fast_open | bool | false | true | false | TCP Fast Open را روی شنونده فعال میکند. |
tcp_multi_path | bool | false | true | false | Multipath TCP را فعال میکند (به پشتیبانی MPTCP در Go روی آن سکو نیاز دارد). |
udp_fragment | *bool | false | true | false | قطعهقطعهکردن بستههای UDP بزرگتر از MTU را بهجای اسقاط اجازه میدهد. |
udp_timeout | UDPTimeoutCompat | — | — | مهلت بیکاری مدخلهای UDP NAT. رشتهٔ مدت؛ پیشفرض مؤثر به پروتکل اسنیفشده بستگی دارد. |
detour | string | — | — | اتصالهای پذیرفتهشده را مستقیم به ورودی دیگری (با آدرسدهی tag آن) میفرستد. |
proxy_protocol | bool | — | — | پشتیبانی نمیشود: پشتیبانی از سربرگ PROXY protocol وجود ندارد؛ تنظیم آن خطاست. |
proxy_protocol_accept_no_header | bool | — | — | مانند proxy_protocol پشتیبانی نمیشود. |
منبع: option/inbound.go:79-103 · ثابتشده در v1.14.2 (af6e64c)
مثال حداقلی
{
"inbounds": [
{
"type": "mixed",
"tag": "mixed-in",
"listen": "127.0.0.1",
"listen_port": 2080
}
]
}نکات
- رمزگشای سختگیر داخل مدخلهای ورودی هم اعمال میشود: هر غلط تایپی در نام فیلد خطای راهاندازی است، نه نادیدهگیری بیصدا.
- ورودیها فیلد اسنیف ندارند:
sniff،sniff_override_destination،sniff_timeout،domain_strategyوudp_disable_domain_unmappingهنگام راهاندازی رد میشوند و خطا به مهاجرت rule actions اشاره میکند. اسنیف در قواعد مسیر قرار دارد. -
shadowsocksrفقط بهصورت جانگهداری که خطا میدهد ثبت شده است: sing-box پیادهسازی ShadowsocksR ندارد. -
hysteria،tuicوhysteria2به ساختی با برچسبwith_quicوcloudflaredبهwith_cloudflaredنیاز دارند (باینریهای انتشار رسمی هر دو را دارند). -
snellسمت سرور Snell است، متناظر با خروجیsnell. -
cloudflaredیک کلاینت Cloudflare Tunnel تعبیهشده را اجرا میکند که باtokenتونل احراز هویت میشود، و ترافیک ورودی تونل (TCP، UDP، ICMP) را از موتور مسیریابی sing-box عبور میدهد. روی سوکت محلی شنود نمیکند، بنابراینListenOptionsبرای آن کاربرد ندارد.
نکات بینهستهای
- Xray-core فیلدهای پروتکل را در شیء
settingsتو در تو میکند و اسنیف را بهازای هر ورودی نگه میدارد. ورودیهای Xray را ببینید. - mihomo از کلیدهای ریشهٔ جداگانه (
port،socks-port،mixed-port، …) بههمراه فهرستlistenersاستفاده میکند. HTTP و SOCKS و Redirect و TProxy را ببینید.
منبع: option/inbound.go:21-25 · v1.14.2 (af6e64c)
