-
之前 mitm_proxy.py 一直是手动 nohup 起的,不在任何自启脚本里,进程被杀 或手机重启后需要手动重新启动。现跟 EventServer 一样接入 start_service/ stop_service 框架,用 pid 文件跟踪。 mitm_proxy 必须以 root 跑(~/.hermes/mitm_ca 历史上由 root 创建, 普通 Termux 用户没有写权限,新域名首次访问会因建证书失败退化成不拦截 的透传),stop_all.sh 原来的 stop_service 直接 kill 在非 root 进程上 会因 EPERM 失败,加了 as_root 参数走 su -c kill。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
-
全局 http_proxy 指向此代理后,Chrome 等遵守系统代理的 app 的 HTTPS 请求 全部失败,而不读系统代理的 Termux 工具表现正常。 - TLS 握手改用 asyncio 原生 loop.start_tls(),去掉手动 dup socket 同步 握手的旧实现:cert 生成 await 让出控制权时,asyncio 事件循环会把刚到的 ClientHello 字节读进自己的缓冲区,导致握手线程永远等不到数据。 - 证书生成加 _cert_lock,避免同一域名并发首次访问时生成的 cert/key 文件 互相踩踏导致 KEY_VALUES_MISMATCH,此后该域名永久失败。 已在设备上实测验证:单域名 + 5 并发首次访问全部通过。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
-
phoneuse 原是独立 git 仓库(origin: gitlab phoneuse.git),现移除其 内部 .git 元数据,把代码拍平为本仓库的普通文件纳入历史。phoneuse 自身 3 条 commit 历史仍完整保留在 gitlab 远端,未受影响。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>