Appearance
mihomo
是什么
mihomo 是一款正向代理工具,通常用于代理访问特殊网络(如国内访问国外等)。
为什么
- mihomo 继承了 Clash,采用相似的配置便于理解。
- 支持各种新协议 Hysteria2, Trojan, TUIC 等。
如何使用
- 准备 mihomo 工作目录,下方所有文件都放入此目录
- 下载 mihomo 二进制 Releases,选择对应的版本,解压
- 准备 ip 数据库 geoip.metadb 和 country.mmdb MetaCubeX/meta-rules-dat
- 准备配置文件 config.yaml,从代理提供商订阅链接或其他方式获取
- 管理员模式启动终端(tun 模式必须),进入工作目录,运行
.\mihomo.exe -d .
启动
TIP
- geoip.metadb 通过 mihomo 自行下载可能无法下载(未通过代理),可提前下载,存放在工作目录
- 工作目录中,如果存在多份配置,调用非 config.yaml 时,可用
.\mihomo.exe -d . -f xxx.yaml
配置参考 config.yaml
使用
- 下方✅表示的内容必须补充
- 其他内容可选择性修改,参考 config.yaml|官方
yaml
mode: rule
log-level: info
mixed-port: 7890
allow-lan: false
bind-address: "*"
external-controller: "127.0.0.1:7880"
tcp-concurrent: true
# 调整 keep-alive 配置,实现移动端减少电量消耗的效果
disable-keep-alive: false
keep-alive-interval: 15
keep-alive-idle: 15
# ua
global-ua: clash.meta
ipv6: true
dns:
enable: true
listen: 0.0.0.0:53
use-hosts: true
# 用于解析 nameserver,fallback 以及其他 DNS 服务器配置的,DNS 服务域名
# 只能使用纯 IP 地址,可使用加密 DNS
default-nameserver: ["101.226.4.6" , "218.30.118.6" , "114.114.114.114", "system"]
# DNS 解析,影响所有直连,下一行 ✅ 改为 proxy-groups 或 proxies 中的一个名称
nameserver: ["https://doh.360.cn", "https://unfiltered.adguard-dns.com/dns-query#✅", "https://doh.pub/dns-query", "tls://8.8.4.4:853#✅", "https://1.1.1.1/dns-query#✅", "https://1.0.0.1/dns-query#✅", ]
# DNS 解析,单独配置查询域名使用的 DNS 服务器
nameserver-policy:
# fakeip
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
# 默认 false mmdb,true dat
geodata-mode: false
geodata-loader: stardard
geo-auto-update: false
geo-update-interval: 24 # 小时
geox-url:
mmdb: "https://fastly.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.metadb"
tun:
enable: true
stack: system
dns-hijack:
- 0.0.0.0:53
rules:
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
- DOMAIN-SUFFIX,telemetry.mozilla.org,断连
- DOMAIN-SUFFIX,msecnd.net,国内
- DOMAIN-SUFFIX,microsoft.com,国内
- DOMAIN-SUFFIX,msftconnecttest.com,国内
- GEOIP,cn,国内
- SRC-GEOIP,cn,国内
- MATCH,国外
proxy-groups:
# url-test 代理组
- { name: "断连", type: "select", proxies: ["REJECT"] }
- { name: "国内", type: "select", proxies: ["DIRECT"] }
- { name: "国外", type: "url-test", url: "http://www.google.com/generate_204", interval: 120, proxies: [✅] }
proxies:
- # ✅
双击启动/停止(适合非 tun 模式)
通过 vbs 间接启动 mihomo,减少输入命令的操作。适用于 Windows。tun 模式需要改成管理员模式运行(让 GPT 转换下脚本)
vbs
' 保存为 mihomo-start.vbs,双击启动代理服务
' 注意修改命令中 mihomo 和 config.yaml 路径
' 正在运行的服务可以在 任务管理器 -> 详细信息 中查看
Dim WShell
Set WShell = CreateObject("WScript.Shell")
WShell.Run "/path/to/mihomo.exe -f /path/to/config.yaml", 0
Set WShell = Nothing
vbs
' 保存为 mihomo-stop.vbs,双击结束 代理服务
Dim WShell
Set WShell = CreateObject("WScript.Shell")
WShell.Run "powershell -Command ""Get-Process -Name mihomo | stop-Process""", 0
Set WShell = Nothing
常见问题
○ 请求订阅链接,获取得到的配置中节点列表不完整
sh
# 原理:订阅服务器会根据客户端来返回配置,通过请求头 user-agent 来识别客户端),并且请求头中要避免 origin/referer(浏览器请求而不是客户端请求)
curl \
-H "User-Agent: ClashMeta" \
-o "latest.yaml" \
-L "⏳替换为订阅链接"
参考
- DustinWin/ruleset_geodata
- Mihomo自用配置 - yyhhyy's blog,mihomo 解析流程图
- qichiyuhub/rule,配置写法参考,按规则创建代理组
- 公共 DNS 服务被污染