Skip to content

Direct — mihomo

Direct 是 mihomo 的直通出站。schema 极简 —— 仅一个名称加上继承的 BasicOption 字段。多数用户从不显式声明;mihomo 启动时会自动注入 带合理默认值的 DIRECT 代理。

出站

proxies:type: direct 条目。内嵌 BasicOptioninterface-namerouting-markip-versiondialer-proxy 等)。

字段类型默认值允许值描述
namestring(required)<string>唯一的代理名。mihomo 还会自动注入内置 `DIRECT` 代理,无需自行声明。

源码: adapter/outbound/direct.go:18-21 · 锚定版本 v1.19.27 (5184081)

示例

隐式 DIRECT —— 已自动可用;规则中直接引用:

yaml
rules:
  - DOMAIN-SUFFIX,local,DIRECT
  - DOMAIN-KEYWORD,internal,DIRECT
  - GEOIP,CN,DIRECT

绑定到特定接口的显式 Direct 代理(多 WAN 路由有用):

yaml
proxies:
  - name: direct-wlan
    type: direct
    interface-name: wlan0
    routing-mark: 0x1234

rules:
  - DOMAIN-SUFFIX,internal,direct-wlan

通过另一代理拨号的 Direct 代理(mihomo 的链式拨号技巧):

yaml
proxies:
  - name: direct-via-vps
    type: direct
    dialer-proxy: vps-tunnel

内置代理

mihomo 始终暴露三个隐式名称,可直接在规则或代理组中引用而无需声明:

名称类型用途
DIRECTdirect纯直通,双栈,启用 UDP。
REJECTreject完全丢弃连接。常用于拦截广告域名。
COMPATIBLEcompatible类直连;当无其他代理匹配时由回环检测器使用。

也可通过声明同名代理来覆盖这三者 —— mihomo 优先使用用户提供的版本。

说明

  • 内置 DIRECT 是双栈且启用 UDP (adapter/outbound/direct.go:84-94)。若需要仅 IPv4 或仅 TCP 的 直连,请显式声明一个 Direct 代理并设置对应的 ip-version / udp 开关。
  • dialer-proxy 是 mihomo 独有:让一个代理把另一个代理的连接作为 自己的底层套接字使用。配合 type: direct 可实现「经 X 路由但对 目的端走纯 TCP/UDP」——常用于级联隧道。

跨内核说明

  • Xray-core 把这种能力称为 Freedom,并暴露 TCP / TLS 分片与 噪声注入等反 DPI 功能。参见 Freedom — Xray-core
  • sing-box 同样提供精简的 Direct 类型,且近期把出站上的目的 覆盖字段移除 —— 改用 route action。参见 Direct — sing-box

源码: adapter/outbound/direct.go:18-21 · v1.19.27 (5184081)

由 Argsment 出品的 Core Tutorial