Direct — mihomo
Direct 是 mihomo 的直通出站。schema 极简 —— 仅一个名称加上继承的 BasicOption 字段。多数用户从不显式声明;mihomo 启动时会自动注入 带合理默认值的 DIRECT 代理。
出站
proxies: 下 type: direct 条目。内嵌 BasicOption (interface-name、routing-mark、ip-version、dialer-proxy 等)。
| 字段 | 类型 | 默认值 | 允许值 | 描述 |
|---|---|---|---|---|
name | string | (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 始终暴露三个隐式名称,可直接在规则或代理组中引用而无需声明:
| 名称 | 类型 | 用途 |
|---|---|---|
DIRECT | direct | 纯直通,双栈,启用 UDP。 |
REJECT | reject | 完全丢弃连接。常用于拦截广告域名。 |
COMPATIBLE | compatible | 类直连;当无其他代理匹配时由回环检测器使用。 |
也可通过声明同名代理来覆盖这三者 —— 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)
