{
  "added_at": "2026-11-08",
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "ninebot-go reconstructs the Ninebot app's encrypted cloud communication in a Go client. It implements NET request encryption and response decryption using AES and RSA, then exposes vehicle, battery and travel data through CLI, web and MCP interfaces; vehicle-control commands remain unfinished.",
  "description_zh": "ninebot-go 用 Go 重建 Ninebot App 的加密云端通信。它以 AES 和 RSA 实现 NET 请求加密及响应解密，并通过命令行、网页和 MCP 接口提供车辆、电池及行程数据；车辆控制命令仍未完成。",
  "entry_url": "https://awesomerea.org/resources/ninebot-go-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/ninebot-go-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/likz0421/ninebot-go/blob/d29b31de3d4bfcf693930dc1b296235a82880c41/README.md",
  "group": "cases",
  "id": "ninebot-go-case",
  "json_url": "https://awesomerea.org/resources/ninebot-go-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/ninebot-go-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/ninebot-go-case/index.md",
  "name": "ninebot-go: reconstructing Ninebot app cloud communication",
  "name_zh": "ninebot-go：重建 Ninebot App 云端通信",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "Go 1.25 or newer and a Ninebot account for authenticated operations.",
    "Vehicle-control commands have not been integrated; response signature verification is currently omitted.",
    "MIT."
  ],
  "requirements_zh": [
    "需要 Go 1.25 或更新版本；需登录 Ninebot 账户才能使用鉴权功能。",
    "车辆控制命令尚未联调；目前未校验响应签名。",
    "许可证为 MIT。"
  ],
  "scope": "unknown",
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/likz0421/ninebot-go",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
