Skip to content

mihomo

是什么

mihomo 是一款正向代理工具,通常用于代理访问特殊网络(如国内访问国外等)。

为什么

  • mihomo 继承了 Clash,采用相似的配置便于理解。
  • 支持各种新协议 Hysteria2, Trojan, TUIC 等。

如何使用

  1. 准备 mihomo 工作目录,下方所有文件都放入此目录
  2. 下载 mihomo 二进制 Releases,选择对应的版本,解压
  3. 准备 ip 数据库 geoip.metadb 和 country.mmdb MetaCubeX/meta-rules-dat
  4. 准备配置文件 config.yaml,从代理提供商订阅链接或其他方式获取
  5. 管理员模式启动终端(tun 模式必须),进入工作目录,运行 .\mihomo.exe -d . 启动

TIP

  • geoip.metadb 通过 mihomo 自行下载可能无法下载(未通过代理),可提前下载,存放在工作目录
  • 工作目录中,如果存在多份配置,调用非 config.yaml 时,可用 .\mihomo.exe -d . -f xxx.yaml

配置参考 config.yaml

使用

  1. 下方✅表示的内容必须补充
  2. 其他内容可选择性修改,参考 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 "⏳替换为订阅链接"

参考

访问量 PV:Blocked用户数 UV:Blocked