feat(watch): treat ModemManager journal as redial standard

Use MM registration/packet-service events as the recovery trigger
instead of public egress probes, so re-register heals with zero
cellular traffic. Wait for wwan IPv4 after settle, coalesce bursts,
and keep ip-monitor + poll as fallbacks.
This commit is contained in:
Hermes
2026-07-24 09:53:03 +00:00
parent 6a3015aecc
commit 659ad6f950
5 changed files with 304 additions and 29 deletions
+11
View File
@@ -6,6 +6,17 @@
2. 需要「用流量出口」时:把应用的 HTTP/SOCKS 指到 `LAN:7890`
3. `cpxy verify` 确认代理 IP ≠ 直连 IP
## 重拨检测(ModemManager 日志标准)
watch 默认以 **本机 ModemManager journal** 作为「数据网络重拨/重注册」信号,**不消耗蜂窝公网流量**:
- 典型命中:`registration state changed (home -> searching)``packet service state changed (attached -> detached)`、bearer 断连、access tech 抖动
- 动作:`WATCH_MM_SETTLE_SEC` 后等待 `wwan` IPv4(可选 mmcli home),再 `generate/restart` 清半开连接
- 同一轮抖动用 `WATCH_MM_COALESCE_SEC` 合并,避免连刷三次
- 首次启动写 `mm.cursor`,**不回放历史日志**,避免升级后误 rebind
- 相关日志:`/var/log/cellular-proxy/watch.log``mm.last_event``watch.state`
- 关闭:`WATCH_MM_EVENTS=false``systemctl restart cellular-proxy-watch`
## 内存
```bash