lukeopen e94e38e39c fix: 彻底修复 stop 后 TUN 残留导致断网
根因:mihomo 退出后 0.0.0.0/1 + 128.0.0.0/1 黑洞路由未清掉,
所有流量指向已消失的 TUN 网关 198.18.0.1 → 断网。

macOS (clash):
- start 解析 mihomo 真实 PID 写入 PID 文件(原记的是 sudo PID)
- cmd_stop 直接 pkill -TERM/-9 mihomo,不再依赖 sudo PID
- network_restore 无条件删除 0.0.0.0/1 + 128.0.0.0/1 黑洞路由,
  并放宽 TUN 识别到整个 198.18.x fake-IP 段(不再只认 198.18.0.1)
- network_leftovers 检测同步放宽

Windows (clash.ps1):
- NetworkRestore 删除 wintun 网卡上的全部路由(不限网段)+ 清理
  网关落在 198.18.x 的所有路由
- Test-NetworkLeftovers 路由检测放宽到 198.18.x
- CmdStop 强制终止时增加按进程名强杀兜底(防止 PID 文件不准杀不掉)

两版已做语法检查与入口冒烟测试。
2026-08-10 17:29:24 +08:00
2026-08-02 22:25:04 +08:00

Clash — Mihomo 内核管理脚本

一份 YAML 配置同时在 OpenWRT / macOS / Windows 上使用,启动时自动适配平台。

macOS

使用

命令 说明
clash 交互菜单
clash start 启动
clash stop 停止
clash restart 重启
clash reload 热重载
clash status 状态
clash link 源文件路径
clash cleanup 网络修复

部署

git clone git@github.com:lukeopen/Clash.git
cd Clash && zsh install.sh
cp /path/to/config.yaml ~/Mihomo/
clash start

依赖

  • Homebrew + brew install mihomo

Windows

使用

命令 说明
clash.ps1 交互菜单
clash.ps1 start 启动 (TUN 模式)
clash.ps1 stop 停止
clash.ps1 restart 重启
clash.ps1 reload 热重载
clash.ps1 status 状态
clash.ps1 link 源文件路径
clash.ps1 cleanup 网络修复

部署

git clone https://github.com/lukeopen/Clash.git
cd Clash
pwsh install.ps1
# 把 .yaml 配置文件放入 ~/Mihomo/
clash.ps1 start

要求

  • Windows 11 + PowerShell 7 (winget install Microsoft.PowerShell)
  • TUN 模式需要管理员权限(UAC 关闭时自动提权无感)

目录结构

Clash/
├── clash           # macOS 管理脚本
├── install.sh      # macOS 部署脚本
├── clash.ps1       # Windows 管理脚本
└── install.ps1     # Windows 部署脚本

~/Mihomo/           ← 放 YAML 配置文件
~/.config/mihomo/   ← 运行时数据(config.yaml / pid / log / ui
S
Description
No description provided
Readme
95 KiB
Languages
PowerShell 58.4%
Shell 41.6%