中国移动云电脑保活工具(协议级,无需官方客户端)

03-05166阅读0评论张文

背景

移动云电脑断开连接 30 分钟后会自动关机,对挂机和长时间任务很不友好。

网上常见的保活方案要么已失效(套娃方案,新版已屏蔽 SCG IP?Whatever.),要么太重(Docker 跑 Linux 客户端 + Xvfb + 模拟点击,内存占用高、依赖复杂、易失效)。

image.png

整体架构

移动云电脑并不是简单的“客户端直连虚拟机“,中间经过了多层封装和代理:

┌──────────────────────────────────────────────────────────────────────────────┐
│                         macOS Client (Electron App)                          │
│                                                                              │
│ ┌────────────────┐  auth  ┌────────────────┐ NxTCP  ┌─────────────────┐      │
│ │  Main Process  │ ─────▶ │  SPICE Client  │ ─────▶ │  Chuanyun SDK   │      │
│ │  (JavaScript)  │        │(ZTE uSmartView)│  via   │(jwae.framework) │      │
│ │                │        │                │ :10800 │                 │      │
│ │ - SOHO Login   │        │main / display /│ local  │AES-CTR Auth+TLS │      │
│ │ - CEM Boot VM  │        │ inputs/cursor  │        │ Trunk Multiplex │      │
│ │ - Heartbeat    │        │ (per-channel)  │        │ NxTCP -> 1xTCP  │      │
│ └────────────────┘        └────────────────┘        └────────┬────────┘      │
└──────────────────────────────────────────────────────────────┼───────────────┘
                                                               │                                                       1xTCP : SCG:10800
                                                               │
                                               ┌───────────────▼───────────────┐
                                               │  SCG Gateway ──▶ Cloud PC VM  │
                                               │(Secure Connect) (SPICE Server)│
                                               └───────────────────────────────┘
缩写全称职责
SOHOSmall Office Home Office用户登录、设备列表、心跳等业务 API
CEMCloud Enablement ManagerOAuth 认证、开机指令、连接信息下发
SCGSecure Connect Gateway安全连接网关,远程桌面数据流入口
穿云 SDKChuanyun SDKSCG 认证、TLS、Trunk 多路复用
SPICESimple Protocol for Independent Computing Environments远程桌面协议

通过逆向移动云电脑的远程连接协议(SOHO/CEM API → SCG 网关 AES 认证 → 穿云 Trunk 多路复用 → SPICE 协议握手),找到了保活的关键:必须完成 SPICE Display Surface 创建,仅建立连接或完成通道认证都不够。

详细的协议分析过程见博客:https://codming.com/posts/cmcc-cloud-computer-keepalive/

本工具

基于此,用 Go 实现了一个协议级保活工具,单文件、跨平台、无 GUI 依赖,内存占用约 10MB。

支持平台

macOS (Intel/Apple Silicon)、Windows (x64)、Linux (x64/ARM64/ARMv7/MIPS)

适合跑在服务器、NAS、路由器等任何能执行定时任务的设备上。

使用方法

1. 下载

从 GitHub Releases 下载对应平台的二进制文件。

2. 登录

./cloudpc login

输入手机号 → 收验证码 → 登录,配置自动保存到 cloud_pc.json

3. 保活

./cloudpc keepalive              # 默认保持 120 秒./cloudpc keepalive --duration 60  # 自定义时长

4. 定时任务

# 每 10 分钟连接一次,保持 120 秒,30 分钟关机倒计时永远不会到期
*/10 * * * * cd /path/to/cloudpc && ./cloudpc keepalive --duration 120 >> keepalive.log 2>&1

如何连接云电脑

保活脚本会占用 SCG 连接,无法同时使用官方客户端。推荐在云电脑内安装内网穿透工具来访问:

  • frp:需要公网服务器

  • Tailscale:零配置组网,无需公网

  • Cloudflare Tunnel:免费,无需公网

这些工具不经过 SCG 网关,与保活脚本互不冲突。云电脑重装为 Linux 后也可以使用本工具。

暂未完成功能

  • 目前仅测试了家庭云版本

  • 仅支持短信验证码登录


文章版权声明:本站部分资源来源自网络收集与分享,如有版权问题,请联系站长删除!!

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,166人围观)

还没有评论,来说两句吧...