mihomo-cli 2.10.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +26 -0
- package/dist/index.js +1298 -1008
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.0.0] - 2026-07-19
|
|
4
|
+
|
|
5
|
+
### 新增
|
|
6
|
+
|
|
7
|
+
- **进程保活(`daemon`)** - 基于 macOS 原生 launchd(LaunchAgent),让 mihomo 内核在崩溃、被系统 kill、开机/重新登录后自动拉起,代理后台常驻
|
|
8
|
+
- `mihomo daemon on` - 开启保活(生成 LaunchAgent、`KeepAlive` 崩溃重启 + `RunAtLoad` 开机自启,仅 Mixed 模式,装载无需 sudo)
|
|
9
|
+
- `mihomo daemon off` - 关闭保活并停止代理
|
|
10
|
+
- `mihomo daemon status` - 查看保活状态
|
|
11
|
+
- 零额外常驻进程、零轮询:保活由系统 launchd 兜底,不占用系统资源
|
|
12
|
+
|
|
13
|
+
### 变更
|
|
14
|
+
|
|
15
|
+
- **保活开启时的生命周期联动** - 启用保活后,`start` / `clean` / `ow on|off` / `sub use` 的重启改走 `launchctl kickstart`(不再裸 `kill`,避免与 `KeepAlive` 打架);`stop` 会提示改用 `daemon off`;`start tun` 会提示保活仅支持 Mixed,需先 `daemon off`
|
|
16
|
+
- **`status` 显示保活状态** - 保活开启时,运行状态以 launchd 托管进程为准(托管进程不写 pidFile)
|
|
17
|
+
- **`reset` 支持 `daemon` 目标** - `reset daemon` / `reset --full` 会先卸载 launchd 任务再删除 plist;例行 `reset`(无参)默认保留保活
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
3
21
|
## [2.10.0] - 2026-07-18
|
|
4
22
|
|
|
5
23
|
### 依赖升级
|
package/README.md
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
- 📝 **覆写配置** - 在订阅基础上进行自定义覆写,支持强制覆盖、数组合并
|
|
12
12
|
- 🔄 **智能重启** - `sub use` 切换订阅、`ow on/off` 切换覆写后自动重启
|
|
13
13
|
- 🚀 **进程管理** - 启动/停止/切换模式,自动清理残留进程
|
|
14
|
+
- 🛡️ **进程保活** - 基于 launchd,崩溃/开机自动拉起,代理后台常驻(`daemon on`)
|
|
14
15
|
- 🔄 **双模式支持** - Mixed 模式和 TUN 透明代理模式
|
|
15
16
|
- 📊 **状态监控** - 查看运行状态、内存占用
|
|
16
17
|
- 📝 **日志管理** - 实时日志 + 历史日志归档(自动轮转,保留7天)
|
|
@@ -119,6 +120,7 @@ mihomo ui yacd # YACD
|
|
|
119
120
|
| 命令 | 说明 |
|
|
120
121
|
| --------------------------------- | ------------------------------------------------------------------- |
|
|
121
122
|
| `mihomo kernel [--mirror [镜像]]` | 更新内核(默认直连,`--mirror` 使用镜像) |
|
|
123
|
+
| `mihomo daemon [on\|off\|status]` | 进程保活:开机自启 + 崩溃自动重启(仅 Mixed 模式) |
|
|
122
124
|
| `mihomo update` | 更新 mihomo-cli (npm install -g) |
|
|
123
125
|
| `mihomo ui [zash\|dash\|yacd]` | 打开 Web UI |
|
|
124
126
|
| `mihomo dir` | 显示数据目录位置 |
|
|
@@ -163,6 +165,30 @@ mihomo ui yacd # YACD
|
|
|
163
165
|
- 需要 sudo / 管理员权限
|
|
164
166
|
- 首次使用会自动配置 DNS 和路由
|
|
165
167
|
|
|
168
|
+
## 进程保活
|
|
169
|
+
|
|
170
|
+
默认情况下,mihomo 内核在后台独立运行,但如果内核崩溃、被系统 kill(如内存不足)、或重启/重新登录后,代理就会失效且不会自动恢复。进程保活用 macOS 原生的 **launchd** 解决这个问题。
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
mihomo daemon on # 开启保活
|
|
174
|
+
mihomo daemon off # 关闭保活并停止代理
|
|
175
|
+
mihomo daemon status # 查看保活状态
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### 原理
|
|
179
|
+
|
|
180
|
+
- 基于用户级 **LaunchAgent**(`~/Library/LaunchAgents/`),装载/卸载**无需 sudo**
|
|
181
|
+
- **`KeepAlive`** - 内核崩溃或被杀后由 launchd 自动拉起(约 10 秒节流后重启)
|
|
182
|
+
- **`RunAtLoad`** - 登录/开机后自动启动,无需手动 `start`
|
|
183
|
+
- 常驻的是系统 launchd 进程本身,**不额外占用系统资源、无轮询**
|
|
184
|
+
|
|
185
|
+
### 注意事项
|
|
186
|
+
|
|
187
|
+
- **仅支持 Mixed 模式**。保活开启时执行 `start tun` 会被拦截,需先 `daemon off`
|
|
188
|
+
- 保活开启后,`mihomo stop` 不再直接停止(会被自动拉起),请用 `mihomo daemon off`
|
|
189
|
+
- 切换订阅、覆写开关、清理节点后的重启会自动生效(内部走 `launchctl kickstart`)
|
|
190
|
+
- 保活模式下日志持续追加到 `mihomo.log`(不触发启动时的日志轮转)
|
|
191
|
+
|
|
166
192
|
## 内核更新镜像
|
|
167
193
|
|
|
168
194
|
国内网络可使用镜像加速 GitHub 下载:
|