☁️ 云机管家

这是一个云手机远程控制服务。POST 请求需要 HMAC-SHA256 签名。

📋 快速连接(3步)

步骤 1:获取 Token
Token 由手机端 App 生成,启动后自动复制到剪贴板
步骤 2:获取签名客户端脚本
curl "https://YOUR_URL/api/client?token=YOUR_TOKEN" -o cloudmanager.py

脚本里自动填入了 URL、Token、签名密钥,可以直接运行。

步骤 3:运行脚本
python3 cloudmanager.py

或在自己的代码里 import:

from cloudmanager import CloudManagerClient
c = CloudManagerClient()
print(c.status())           # 查看状态
print(c.shell("id"))        # 执行命令
c.tap(540, 1170)            # 点击屏幕
c.keyboard_text("hello")    # 键盘输入
c.screenshot()              # 截图

🔐 签名算法(手动实现)

如果不想用脚本,可以手动签名:

import hmac, hashlib, time, secrets

# 1. 获取签名密钥
sign_key = GET /api/security/info (需要 Bearer token)

# 2. 每次 POST 请求生成签名
timestamp = str(int(time.time() * 1000))  # 毫秒级时间戳
nonce = secrets.token_hex(16)              # 随机数
body = '{"cmd": "echo hi"}'               # 请求体 JSON 字符串
body_hash = hashlib.sha256(body.encode()).hexdigest()
sign_data = f"POST{path}{timestamp}{nonce}{body_hash}"
# path 不含 query string,如 "/api/shell"
signature = hmac.new(sign_key.encode(), sign_data.encode(), hashlib.sha256).hexdigest()

# 3. 发送请求
headers = {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json",
    "X-Timestamp": timestamp,
    "X-Nonce": nonce,
    "X-Signature": signature,
}
POST /api/shell with body

📡 API 端点

GET  /api/status              公开,返回在线状态
GET  /api/client?token=XXX    返回签名客户端脚本
GET  /api/security/info       需要 token,返回签名密钥
POST /api/shell               需要 token + 签名,执行 shell 命令
POST /api/screenshot          需要 token + 签名,截图
POST /api/tap                 需要 token + 签名,点击屏幕
POST /api/keyboard            需要 token + 签名,键盘输入
POST /api/input               需要 token + 签名,输入操作
POST /api/apps/list           需要 token + 签名,应用列表
POST /api/apps/launch         需要 token + 签名,启动应用
POST /api/ui                  需要 token + 签名,获取 UI 元素
POST /api/tap_text            需要 token + 签名,按文本点击
POST /api/tap_area            需要 token + 签名,区域点击
GET  /api/logs?limit=20       需要 token,获取日志
GET  /api/system/info         需要 token,系统信息