Direct — sing-box
Direct خروجی passthrough در sing-box و یک ورودی مفید «test echo» است. سمت خروجی در نسخههای اخیر عمداً کاهش یافته است — آنچه قبلاً override_address / override_port در خروجی بود اکنون مسئلهٔ موتور مسیریابی است.
ورودی
type: "direct":
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
network | NetworkList | (tcp+udp) | tcp | udp | | محدود کردن به فقط TCP یا فقط UDP. |
override_address | string | (unset) | <host> | بازنویسی آدرس مقصد هر اتصال پذیرفتهشده. |
override_port | uint16 | (unset) | <port> | بازنویسی پورت مقصد هر اتصال پذیرفتهشده. |
منبع: option/direct.go:10-15 · ثابتشده در v1.13.11 (553cfa1)
ListenOptions (آدرس شنود، پورت، sniff، …) را درون خود جای میدهد. ورودی Direct بیشتر بهعنوان یک port-forwarder استفاده میشود — پذیرفتن روی یک پورت، بازنویسی مقصد، مسیریابی از طریق هر خروجی.
خروجی
type: "direct":
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
override_address | string | (rejected) | (use route actions) | در sing-box 1.13 حذف شد. اکنون تنظیم آن یک خطای راهاندازی تولید میکند که به route actions اشاره میکند. |
override_port | uint16 | (rejected) | (use route actions) | همانند override_address — حذف شده؛ از route actions استفاده کنید. |
proxy_protocol | uint8 | (removed) | 0 | کاملاً حذف شده. روی هر مقدار غیرصفر تنظیم کنید و parser خطای حذف-منسوخ را علامت میزند. |
منبع: option/direct.go:17-25 · ثابتشده در v1.13.11 (553cfa1)
خروجی اکنون فقط از DialerOptions تعبیهشده (bind_interface، routing_mark، detour، …) تشکیل شده است. هر سه فیلد قدیمی بالا در زمان بارگذاری پیکربندی رد میشوند:
destination override fields in direct outbound are deprecated in
sing-box 1.11.0 and removed in sing-box 1.13.0, use route options
insteadمثالها
خروجی direct خام (رایجترین حالت — فقط یک خروج به ترافیک میدهد):
{
"outbounds": [
{ "type": "direct", "tag": "direct" }
]
}خروجی direct متصل به یک رابط خاص:
{
"outbounds": [
{
"type": "direct",
"tag": "direct-eth0",
"bind_interface": "eth0"
}
]
}ورودی port-forwarder (پذیرفتن روی ۸۰۸۰، بازنویسی مقصد به internal:80):
{
"inbounds": [
{
"type": "direct",
"tag": "forward-8080",
"listen": "0.0.0.0",
"listen_port": 8080,
"override_address": "10.0.0.5",
"override_port": 80
}
]
}نکات
جایگزین route-action برای
override_address/override_portاینگونه است:json{ "route": { "rules": [ { "inbound": ["forward-8080"], "action": "route", "outbound": "direct", "override_address": "10.0.0.5", "override_port": 80 } ] } }این کار همان رفتار را از لایهٔ پروتکل به قاعدهٔ مسیریابی منتقل میکند، که تمیزتر با بقیهٔ سطح مسیریابی ترکیب میشود.
نکات بینهستهای
- Xray-core این را Freedom مینامد. خروجی مجموعهای از امکانات بسیار غنیتر را ارائه میدهد — قطعهقطعهسازی TCP/TLS، تزریق نویز، فیلد
redirect— به Freedom — Xray-core مراجعه کنید. - mihomo همان شکل حداقلی Direct را دارد و یک پراکسی نامگذاریشدهٔ داخلی به نام
DIRECTرا بهطور خودکار تزریق میکند. به Direct — mihomo مراجعه کنید.
منبع: option/direct.go:10-25 · v1.13.11 (553cfa1)
