Files
workphone-sdk/开发文档/8、部署/06-存客宝宝塔/线上部署与真机验收_20260714.md

4.4 KiB
Raw Blame History

工作手机 SDK · 线上部署与真机验收2026-07-14

目标与结果

将工作手机 SDK 部署到存客宝宝塔 Docker通过 wpsdk.quwanzhi.com 提供 HTTPS/WSS让授权 Redmi 真机扫码/配置后主动连接,并验证设备管理与微信安全读类链路。

当前结论线上服务、鉴权、CORS、WSS 真机、设备控制、宝塔 Frida RPC 和 15 项微信读类均已通过;朋友圈发布失败,其他写类仍需白名单逐项验收。

线上架构

Android 工作手机
  └─ WSS + pairing token
      └─ wpsdk.quwanzhi.com:443宝塔 Nginx / TLS
          └─ 127.0.0.1:8899workphone-sdk-baota
              ├─ workphone-mongo-baota
              └─ workphone-redis-baota

纯客宝/存客宝 BFF
  └─ HTTPS + X-API-Key → wpsdk.quwanzhi.com/api/v3/

实际部署文件

  • sdk/docker-compose.baota.yml:宝塔生产 Compose。
  • sdk/.env.baota.example:仅变量模板,无真实密钥。
  • sdk/deploy/baota/wpsdk.quwanzhi.com.confHTTPS/WSS 反代。
  • sdk/scripts/deploy_baota_wpsdk.sh:上传、构建、启动、证书与 Nginx 校验。
  • 服务器目录:/www/wwwroot/workphone-sdk

手机绑定

生产二维码由受 API Key 保护的 /api/v3/qrcode/generate 生成,内容至少包含:

  • server: wss://wpsdk.quwanzhi.com/ws/device
  • project: cunkebao
  • pairing_token: 仅服务器环境注入

手机端点击“扫描系统二维码”完成绑定。二维码含配对令牌,禁止截图入库、发群或写进文档。

验收证据

层级 结果
DNS wpsdk.quwanzhi.com42.194.245.239
容器 Mongo、Redis、SDK 均 healthy
SDK /health healthy/ready true
安全 无 Key 401有 Key 2008899 仅绑定本机
TLS Let's Encrypt证书有效至 2026-09-25
真机 Redmi 2312DRAABC / Android 13 / Agent 5.0.1
WSS 真机在公网 SDK 显示 online
设备 ID 管理与业务字段提供 MD5ed25814d9c92b3430696dc96c2142b5f
微信读类 pingget_wechat_version 均由公网 Fleet→WSS→APK 成功回执;微信 8.0.69
密钥保护 日志与 API 不回显配对令牌
令牌轮换 本轮曾进入调试输出的旧配对令牌已撤销;新令牌已下发并重新绑定成功
Frida 服务 Root 可用Frida 16.5.6 在非默认端口可达APK 回执 frida_server_ready=true
微信 Hook/RPC 宝塔 server/frida 已持有微信 Session 并取得真实 RPC 回执,能力目录为 96 actions / 26 modules
微信读类 15 项公网读类均 HTTP 200资料、联系人、群、标签、近期消息、账号安全及设备信息等
设备控制 启动应用、当前应用、UI 树、1080×2400 PNG 截图均已通过
浏览器调用 CORS OPTIONS=200允许外部网页携带 X-API-Key
并发 5 路公网 ping 并发 5/5 HTTP 200通道均为 server/frida

安全调用样例

curl -fsS https://wpsdk.quwanzhi.com/health
curl -fsS https://wpsdk.quwanzhi.com/ready

curl -X POST https://wpsdk.quwanzhi.com/api/v3/fleet/execute \
  -H 'X-API-Key: <从服务器安全环境获取>' \
  -H 'Content-Type: application/json' \
  -d '{
    "device_ids": ["<device_id>"],
    "platform": "wechat",
    "action": "get_wechat_version",
    "params": {}
  }'

回滚

  1. 只处理 /www/wwwroot/workphone-sdkwpsdk.quwanzhi.com 独立站点,不改存客宝其他容器。
  2. 在服务器目录使用上一个发行包/镜像重新执行 Compose。
  3. 执行 nginx -t 后再 reload。
  4. 验证原有宝塔站点、SDK /health 和手机重连。

未完成边界

  • APK 面板中的本地 Hook 状态与宝塔 server/frida 是两条通道;本轮以服务器真实 Session/RPC 回执验收,不能把 APK 面板灰色误判为服务器 RPC 失效。
  • 朋友圈图文发布两次均由微信提示“内容未发表”,按失败记录,未伪报成功。
  • 发消息、群发、加友、朋友圈互动等写类仍需测试白名单和操作前确认。
  • 还需完成纯客宝/存客宝 BFF 业务页面验收及 24 小时稳定性。

完整明细:公网 SDK 完整测试汇总;外部调用:公网 API 对接文档