10 MIN READ
VoHive N1:让旁路由部署稳定下来
从 PassWall 分流、QMI 蜂窝链路到启动顺序,拆解一次“服务都正常但组合不工作”的排障过程。
01 FIELD NOTES / CODE / SYSTEMS
这里是 Coben 的技术笔记。记录正在构建的东西、做过的判断,以及让复杂问题变清晰的方法。
↓ READ THE LATEST NOTE记录低配 Mac 上的容器升级、浏览器运行时、端口收敛和健康检查,重点是如何在不打扰现有状态的前提下完成变更。
READ PROJECT LOG ↘将运行时升级到带浏览器的版本,保留持久化状态,收紧宿主端口,并通过健康检查与 CDP 验证浏览器可用。
VoHive、EC25、QMI 与 ARM64 镜像本身均正常,真正的故障来自 PassWall 策略路由与容器启动顺序的叠加。
最终采用 Apple Silicon 主机 + UTM + Ubuntu ARM64 + VoHive + SOCKS5 系统代理的组合,优先保证边界清晰和可验证。
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 构建,并用 file、sha256sum、go version -m 验证产物。scp dist/vohive_linux_arm64 <user>@<device-host>:/tmp/vohive。CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -trimpath -buildvcs=false -tags "with_utls nomsgpack" -ldflags "-s -w" -o dist/vohive_linux_arm64 ./cmd/vohive
file dist/vohive_linux_arm64
sha256sum dist/vohive_linux_arm64Token 过期:QQ Bot 在特定 HTTP 错误和业务码 11244 下,旧实现会反复使用旧 Token。修复后将其归类为认证失效,清理旧 Token、重新获取并限制重试次数。
Email SSL/TLS 丢失:保存配置时遗漏 SSL 字段,重启后安全连接会恢复为关闭。修复配置持久化并增加回归测试后,重启可保持设置。
OpenWrt 启动顺序:Docker 可能早于代理服务启动,导致通知渠道初始化失败;用启动脚本等待代理端口就绪后再重启 VoHive。
代理边界:让 wwan0 的本机流量绕过策略路由,避免公网出口探测被 PassWall 改写;旁路由 IPv6 也要单独确认,避免客户端绕过代理。
构建标签遗漏:修复版必须保留原有的 with_utls 与 nomsgpack 构建标签,否则可能出现启动后设备能力异常。
uname -m 返回 aarch64,二进制为静态 ARM64 ELF。能复现的部署,才是值得交付的部署。
05 ABOUT THIS LOG
我是 Coben,一名产品工程师。我喜欢把产品、设计和工程放在同一张桌子上,做出有用、诚实、耐用的东西。