ورودیها
inbounds آرایهٔ سرویسهای شنونده است. برخلاف Xray-core بلوک تو در توی settings وجود ندارد: هر مدخل یک شیء تخت است — پاکت type / tag در زیر، بهعلاوهٔ فیلدهای خود نوع انتخابشده در همان سطح. اول پاکت رمزگشایی میشود، سپس کلیدهای باقیمانده به ساختار گزینههای ثبتشده برای type رمزگشایی میشوند و فیلدهای ناشناخته رد میشوند.
پاکت
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
type | string | — | tun | redirect | tproxy | direct | socks | http | mixed | shadowsocks | vmess | trojan | naive | shadowtls | vless | anytls | hysteria | tuic | hysteria2 | نوع ورودی. تعیین میکند بقیهٔ شیء به کدام ساختار گزینهها رمزگشایی شود. مقدار ثبتنشده در راهاندازی با "unknown inbound type" شکست میخورد. |
tag | string | — | — | نام یکتای این ورودی. قواعد مسیریابی (inbound) و خطوط لاگ به آن ارجاع میدهند. |
منبع: option/inbound.go:18-22 · ثابتشده در v1.13.15 (3708fa1)
فیلدهای هر نوع در صفحات پروتکل مستند شدهاند: TUN، Redirect و TProxy، Direct، HTTP و SOCKS (شامل mixed)، Shadowsocks، VMess، Trojan، Naive، VLESS، AnyTLS، Hysteria2، TUIC.
فیلدهای مشترک شنود (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 | — | — | فضاینام شبکه برای شنود (نام یا مسیر). فقط 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:66-88 · ثابتشده در v1.13.15 (3708fa1)
مثال حداقلی
{
"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) در 1.11.0 منسوخ و در 1.13.0 حذف شدند — دادن آنها خطایی است که به مهاجرت rule actions اشاره میکند. اسنیف اکنون در قواعد مسیر قرار دارد. -
shadowsocksrهنوز ثبت است اما فقط بهصورت جانگهداری که خطا میدهد: پشتیبانی ShadowsocksR در sing-box 1.6.0 حذف شد. -
hysteria،tuicوhysteria2به ساختی با برچسبwith_quicنیاز دارند (باینریهای انتشار رسمی آن را دارند).
نکات بینهستهای
- Xray-core فیلدهای پروتکل را در شیء
settingsتو در تو میکند و اسنیف را بهازای هر ورودی نگه میدارد. ورودیهای Xray را ببینید. - mihomo از کلیدهای ریشهٔ جداگانه (
port،socks-port،mixed-port، …) بههمراه فهرستlistenersاستفاده میکند. HTTP و SOCKS و Redirect و TProxy را ببینید.
منبع: option/inbound.go:18-22 · v1.13.15 (3708fa1)
