这是一个云手机远程控制服务。POST 请求需要 HMAC-SHA256 签名。
Token 由手机端 App 生成,启动后自动复制到剪贴板
curl "https://YOUR_URL/api/client?token=YOUR_TOKEN" -o cloudmanager.py
脚本里自动填入了 URL、Token、签名密钥,可以直接运行。
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
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,系统信息