WARP 与 Mihomo 联动使用文档
本文档面向需要将 Cloudflare WARP 作为 Mihomo 上游代理使用的场景,内容包括安装、配置摘要、启动步骤、验证方法与故障排查。文中命令均已去除本机专属路径,保留通用占位写法。
文档边界
当前方案是 `Client -> Mihomo -> WARP -> Internet`,不包含让 WARP 单独接管系统全局流量的配置。
链路摘要
-
1WARP
运行在warp-cli mode proxy,监听127.0.0.1:40000 -
2Mihomo
把 WARP 本地 SOCKS5 作为上游节点WARP -
3Rules
国内直连,其他流量走PROXY→WARP
概览
当前方案不是让 WARP 接管全局路由,而是让 warp-cli 在本机以 proxy 模式提供 SOCKS5,再由 Mihomo 统一处理 TUN、DNS 与分流规则。这种方式更便于定位问题,也能避免双重隧道接管。
流程图
warp-cli mode proxy。不要同时让 WARP 和 Mihomo 都以全局隧道方式接管系统默认路由。
适用范围
- macOS
- Windows 上的 Git Bash
- 需要将 WARP 作为 Mihomo 本地上游代理使用的场景
- 不适用于让 WARP 单独承担全局代理接管的场景
前提条件
macOS
需要 brew、curl 和可执行 Bash 环境。
Windows
需要 Git Bash、winget.exe 和 curl。
warp-cli --version
mihomo -v
安装
页面同时发布原始脚本文件: install_mihomo_warp.sh。 脚本负责安装 WARP,并将 Mihomo 下载到指定路径。
macOS
curl -fsSLO https://clash-static-20260324.pages.dev/install_mihomo_warp.sh
bash install_mihomo_warp.sh --path "$HOME/.local/mihomo-warp/bin"
export PATH="$HOME/.local/mihomo-warp/bin:$PATH"
Windows Git Bash
curl -fsSLO https://clash-static-20260324.pages.dev/install_mihomo_warp.sh
bash install_mihomo_warp.sh --path "$HOME/.local/mihomo-warp/bin"
export PATH="$HOME/.local/mihomo-warp/bin:$PATH"
winget.exe 安装。
| 脚本参数 | --path、--skip-warp、--skip-mihomo |
|---|---|
| WARP 安装位置 | 由系统安装器决定,不受 --path 控制 |
| Mihomo 安装位置 | 安装到 --path 指定目录 |
| 版本策略 | 默认拉取 MetaCubeX 官方最新 stable release |
配置摘要
| mixed-port | 7890 |
|---|---|
| DNS listen | 127.0.0.1:1053 |
| WARP upstream | 127.0.0.1:40000 |
| WARP mode | warp-cli mode proxy |
| Rule strategy | 私有地址与中国大陆流量直连,其余流量走 PROXY → WARP |
启动
进入配置目录
将当前终端切换到你的 Mihomo 配置目录。
cd /path/to/your/clash-config
启动 WARP 代理模式
固定监听端口为 40000,与当前配置保持一致。
warp-cli mode proxy
warp-cli proxy port 40000
warp-cli connect
warp-cli status
检查 Mihomo 配置
启动前先确认配置可被 Mihomo 正常解析。
mihomo -t -f mihomo.yaml
启动 Mihomo
可前台运行,也可挂后台运行。
mihomo -f mihomo.yaml
# 后台运行
nohup mihomo -f mihomo.yaml > mihomo.log 2>&1 &
验证
检查 WARP 代理端口
lsof -nP -iTCP:40000 -sTCP:LISTEN
检查 Mihomo 监听端口
lsof -nP -iTCP:7890 -sTCP:LISTEN
查看后台日志
tail -f mihomo.log
验证代理请求
curl --proxy socks5h://127.0.0.1:7890 \
https://www.cloudflare.com/cdn-cgi/trace
故障排查
症状:WARP 显示已连接,但 Mihomo 不通
先检查 warp-cli status 是否仍处于代理模式,再确认 127.0.0.1:40000 是否在监听。
症状:40000 端口被占用
修改 WARP 端口后,必须同步修改 mihomo.yaml 中上游节点端口。
症状:Mihomo 已启动,但流量没有走 WARP
按顺序检查 WARP 状态、WARP 端口、Mihomo 日志,以及客户端是否连到 127.0.0.1:7890。
症状:需要停用整套链路
先停 Mihomo,再执行 warp-cli disconnect。不要先断 WARP 再让 Mihomo 挂着运行。
附录
最短启动命令如下。
cd /path/to/your/clash-config
warp-cli mode proxy
warp-cli proxy port 40000
warp-cli connect
mihomo -t -f mihomo.yaml
mihomo -f mihomo.yaml
40000 与当前配置一致。