{
  "added_at": "2026-11-09",
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "BunATV reconstructs Apple TV control protocols as a Bun and TypeScript library with a companion CLI. It implements Companion pairing and remote input, MRP playback and state messages, and AirPlay transport layers, exposing messages close to their wire format. The author credits PyATV research and reports finding additional MRP messages through Ghidra analysis of Apple frameworks.",
  "description_zh": "BunATV 以 Bun 和 TypeScript 库重建 Apple TV 控制协议，并附带命令行工具。它实现 Companion 配对与遥控输入、MRP 播放和状态消息及 AirPlay 传输层，接口贴近线上消息格式。作者引用 PyATV 的研究，并报告通过 Ghidra 分析 Apple 框架发现更多 MRP 消息。",
  "entry_url": "https://awesomerea.org/resources/bunatv-apple-tv-protocol-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/bunatv-apple-tv-protocol-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/JarekToro/bunatv/blob/b3842e36633fc39615c409f4630cc788deaa1523/README.md",
  "group": "cases",
  "id": "bunatv-apple-tv-protocol-case",
  "json_url": "https://awesomerea.org/resources/bunatv-apple-tv-protocol-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/bunatv-apple-tv-protocol-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/bunatv-apple-tv-protocol-case/index.md",
  "name": "BunATV: reconstructing Apple TV control protocols in TypeScript",
  "name_zh": "BunATV：用 TypeScript 重建 Apple TV 控制协议",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "limits",
    "limits",
    "license"
  ],
  "requirements": [
    "Bun is required to run the library and CLI from source.",
    "The project describes itself as an unstable alpha; APIs, CLI flags, output formats and credential storage may change.",
    "Voice input, game-controller input, playback migration and endpoint discovery remain unimplemented.",
    "MIT license is stated in the README."
  ],
  "requirements_zh": [
    "从源码运行库和命令行工具需要 Bun。",
    "项目自述为不稳定的 alpha 版本，API、命令行参数、输出格式和凭据存储方式可能变化。",
    "语音输入、游戏控制器输入、播放会话迁移和设备端点发现尚未实现。",
    "README 标明 MIT 许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/JarekToro/bunatv",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
