{
  "added_at": "2026-11-08",
  "additional_evidence_urls": [
    "https://github.com/zackwag/landbook-api/blob/0fc9992155ca10e9c4e2bb25bce9c31783a45517/pyproject.toml"
  ],
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "landbook-api reconstructs Landbook smart-home client access in Python from analysis of its iOS app. It handles REST login and device queries, MQTT state and control messages over WebSocket/TLS, and direct TCP control on a local network.",
  "description_zh": "landbook-api 根据对 Landbook iOS 应用的分析，用 Python 重建智能家居客户端访问方式。它处理 REST 登录与设备查询、通过 WebSocket/TLS 传送的 MQTT 状态和控制消息，以及局域网内的直接 TCP 控制。",
  "entry_url": "https://awesomerea.org/resources/landbook-api-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/landbook-api-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/zackwag/landbook-api/blob/0fc9992155ca10e9c4e2bb25bce9c31783a45517/README.md",
  "group": "cases",
  "id": "landbook-api-case",
  "json_url": "https://awesomerea.org/resources/landbook-api-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/landbook-api-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/landbook-api-case/index.md",
  "name": "landbook-api: reconstructing Landbook cloud and local device access",
  "name_zh": "landbook-api：重建 Landbook 云端及局域网设备访问",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "testing",
    "license"
  ],
  "requirements": [
    "Python 3.10 or newer and Landbook account credentials for cloud login.",
    "EU and China endpoints are listed but untested by the author.",
    "MIT License."
  ],
  "requirements_zh": [
    "需要 Python 3.10 或更新版本；云端登录需要 Landbook 账户凭据。",
    "作者列出了欧洲和中国接口地址，但尚未测试。",
    "MIT 许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/zackwag/landbook-api",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
