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
+2 -1
View File
@@ -81,7 +81,8 @@ cpxy watch once # 手动跑一轮检查
| 层级 | 做法 |
|------|------|
| **绑定(推荐)** | 默认 `BIND_SOURCE_IP=false`:只 `bind_interface=wwanX`**不 pin 私网源 IP**,重拨换地址通常不用 regenerate |
| **监控** | `cellular-proxy-watch``ip monitor` 事件 + 60s 轮询;网卡改名/掉线/仍 pin 了 stale IP 时自动 `generate` |
| **监控** | `cellular-proxy-watch``ip monitor` + **ModemManager 重拨/重注册日志** + 60s 轮询;网卡改名/掉线/stale pin 或 MM 抖动后自动等数据面再 `generate` |
| **MM 标准(省流量)** | 默认 `WATCH_MM_EVENTS=true`:只读本机 `journalctl -u ModemManager`**不做公网探针**;命中 `registration/packet service` 等状态变化后 settle→等 IPv4→restart |
| **兜底 timer** | 每 2 分钟 oneshot 再检查一次 |
| **手动** | `cpxy rebind && cpxy verify` |