mihomo — 配置结构
mihomo 启动时读取单个 YAML 文档。根文档映射到 config/config.go:392 中的 Go 结构体 RawConfig。与 Xray 和 sing-box 不同, mihomo 不存在顶层 log 块 —— 多数运行时开关都是文档根部的扁平 键,只有少数功能区使用嵌套块(dns、tun、profile 等)。
扁平顶层字段
下表是直接位于文档根部的标量字段。
| 键 | Go 字段 | 类型 | 页面 | 描述 |
|---|---|---|---|---|
port | Port | int | 基础 | HTTP 代理端口。 |
socks-port | SocksPort | int | 基础 | SOCKS 代理端口。 |
redir-port | RedirPort | int | 基础 | Linux REDIRECT 入站端口。 |
tproxy-port | TProxyPort | int | 基础 | Linux TPROXY 入站端口。 |
mixed-port | MixedPort | int | 基础 | HTTP + SOCKS 复用端口。 |
ss-config | ShadowSocksConfig | string | Shadowsocks | Shadowsocks 入站 URI。 |
vmess-config | VmessConfig | string | VMess | VMess 入站 URI。 |
inbound-tfo | InboundTfo | bool | 基础 | 入站的 TCP Fast Open。 |
inbound-mptcp | InboundMPTCP | bool | 基础 | 入站的多路径 TCP。 |
authentication | Authentication | []string | 基础 | HTTP/SOCKS 鉴权用的 user:pass 列表。 |
skip-auth-prefixes | SkipAuthPrefixes | []netip.Prefix | 基础 | 可跳过鉴权的来源 CIDR。 |
lan-allowed-ips | LanAllowedIPs | []netip.Prefix | 基础 | allow-lan 为 true 时的允许列表。 |
lan-disallowed-ips | LanDisAllowedIPs | []netip.Prefix | 基础 | allow-lan 为 true 时的拒绝列表。 |
allow-lan | AllowLan | bool | 基础 | 将监听器绑定到 0.0.0.0/:: 而非 localhost。 |
bind-address | BindAddress | string | 基础 | 覆盖绑定地址(与 allow-lan 配合)。 |
mode | Mode | T.TunnelMode | 基础 | rule / global / direct。 |
unified-delay | UnifiedDelay | bool | 基础 | 消除代理 URL 测试中的握手偏差。 |
log-level | LogLevel | log.LogLevel | 日志 | debug / info / warning / error / silent。 |
ipv6 | IPv6 | bool | 基础 | 在整个协议栈启用 IPv6。 |
external-controller | ExternalController | string | 外部控制器 | RESTful API 监听地址。 |
external-controller-pipe | ExternalControllerPipe | string | 外部控制器 | API 的 Windows 命名管道路径。 |
external-controller-unix | ExternalControllerUnix | string | 外部控制器 | API 的 Unix 套接字路径。 |
external-controller-tls | ExternalControllerTLS | string | 外部控制器 | TLS 监听地址。 |
external-controller-cors | ExternalControllerCors | RawCors | 外部控制器 | CORS 允许列表。 |
external-ui | ExternalUI | string | 外部控制器 | 面板的静态资源目录。 |
external-ui-url | ExternalUIURL | string | 外部控制器 | 面板 tarball 的自动下载 URL。 |
external-ui-name | ExternalUIName | string | 外部控制器 | external-ui 下的子目录名。 |
external-doh-server | ExternalDohServer | string | 外部控制器 | 由 mihomo 自身托管的 DoH 端点。 |
secret | Secret | string | 外部控制器 | API 的 Bearer 令牌。 |
interface-name | Interface | string | 基础 | 出站绑定的接口。 |
routing-mark | RoutingMark | int | 基础 | 出站套接字的 Linux SO_MARK。 |
tunnels | Tunnels | []LC.Tunnel | 隧道 | 静态端口到目标的隧道。 |
geo-auto-update | GeoAutoUpdate | bool | Geo 数据 | 自动刷新 geoip / geosite 资源。 |
geo-update-interval | GeoUpdateInterval | int | Geo 数据 | 自动刷新间隔(小时)。 |
geodata-mode | GeodataMode | bool | Geo 数据 | 使用 geoip.dat 替代 Country.mmdb。 |
geodata-loader | GeodataLoader | string | Geo 数据 | 加载器选择(memconservative 或 standard)。 |
geosite-matcher | GeositeMatcher | string | Geo 数据 | 匹配器实现。 |
tcp-concurrent | TCPConcurrent | bool | 基础 | 并发 A / AAAA 拨号。 |
find-process-mode | FindProcessMode | process.FindProcessMode | 基础 | strict / always / off。 |
global-client-fingerprint | GlobalClientFingerprint | string | 基础 | 出站的默认 uTLS 指纹。 |
global-ua | GlobalUA | string | 基础 | 默认 HTTP User-Agent。 |
etag-support | ETagSupport | bool | 基础 | 订阅获取时遵循 ETag。 |
keep-alive-idle | KeepAliveIdle | int | 基础 | TCP keepalive 空闲时长(秒)。 |
keep-alive-interval | KeepAliveInterval | int | 基础 | TCP keepalive 间隔(秒)。 |
disable-keep-alive | DisableKeepAlive | bool | 基础 | 禁用 TCP keepalive。 |
嵌套块与列表
| 键 | Go 字段 | 类型 | 页面 | 描述 |
|---|---|---|---|---|
proxy-providers | ProxyProvider | map[string]map[string]any | 代理组 | 远端代理列表。 |
rule-providers | RuleProvider | map[string]map[string]any | 规则 | 远端规则集。 |
proxies | Proxy | []map[string]any | 代理组 | 出站代理定义。 |
proxy-groups | ProxyGroup | []map[string]any | 代理组 | 组:selector / url-test / fallback / load-balance / relay。 |
rules | Rule | []string | 规则 | 路由规则(紧凑字符串形式)。 |
sub-rules | SubRules | map[string][]string | 规则 | 命名的子规则组。 |
listeners | Listeners | []map[string]any | 代理组 | 自由形式的入站监听器。 |
hosts | Hosts | map[string]any | DNS | 静态 DNS 覆盖。 |
dns | DNS | RawDNS | DNS | DNS 子系统块。 |
ntp | NTP | RawNTP | NTP | 内嵌 NTP 客户端。 |
tun | Tun | RawTun | TUN | TUN 入站。 |
tuic-server | TuicServer | RawTuicServer | TUIC | TUIC 入站。 |
iptables | IPTables | RawIPTables | iptables | Linux iptables 自动配置。 |
experimental | Experimental | RawExperimental | 实验性 | 指纹、QUIC 调优、IPv4-in-IPv6 转换。 |
profile | Profile | RawProfile | 配置档案 | 持久化状态(选中的代理、fake-ip 缓存)。 |
geox-url | GeoXUrl | RawGeoXUrl | Geo 数据 | 四个 geo 资源文件的下载 URL。 |
sniffer | Sniffer | RawSniffer | 嗅探器 | 连接嗅探(TLS SNI、HTTP Host、QUIC)。 |
tls | TLS | RawTLS | TLS | 入站的默认 TLS 凭据。 |
clash-for-android | ClashForAndroid | RawClashForAndroid | Clash for Android | Android 应用专属设置。 |
一览
yaml
mode: rule
mixed-port: 7890
allow-lan: false
log-level: info
external-controller: 127.0.0.1:9090
dns:
enable: true
nameserver:
- https://1.1.1.1/dns-query
proxies: []
proxy-groups: []
rules: []源码: config/config.go:392-459 · v1.19.24 (a847246)
