Case study
remote-me: an Apple TV remote built from iOS Companion protocol analysis
remote-me implements an Apple TV browser remote from analysis of iOS TVRemoteCore and Rapport frameworks. The author reports using REA and Ghidra to recover Companion transport, pairing, session, HID, touch, and keyboard behavior, then testing requests against an Apple TV. The project also controls LG webOS TVs through SSAP.
- Targets
- Binary · Protocol
- Category
- Community REA investigations
- Relationship
- Author-reported mixed workflow
- Sources reviewed
- Stars
- 6
- Last commit
- 2026-10-13
- Language
- JavaScript
- License (GitHub)
- MIT
GitHub data as of 2026-11-09
Requirements & limits
- Prerequisites: Node.js 20+ and a computer on the same network as the TVs.
- Prerequisites: The documented Apple TV analysis uses an iOS IPSW, ipsw, REA, and Ghidra.
- Testing evidence: The author reports testing on a third-generation Apple TV 4K; other tvOS 15+ models advertising _companion-link._tcp are untested.
- License: MIT licence.
Cite
BibTeX
@misc{remote-me-apple-tv-companion-case,
title = {{remote-me: an Apple TV remote built from iOS Companion protocol analysis}},
howpublished = {\url{https://github.com/jxgedouard/remote-me}},
url = {https://github.com/jxgedouard/remote-me},
urldate = {2026-11-06},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/remote-me-apple-tv-companion-case/}}
}Plain text
remote-me: an Apple TV remote built from iOS Companion protocol analysis. https://github.com/jxgedouard/remote-me (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/remote-me-apple-tv-companion-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- docs/apple-remote-protocol.md GitHub · jxgedouard/remote-me · Revision 702a81c
- docs/reverse-engineering.md GitHub · jxgedouard/remote-me · Revision 702a81c
- README.md GitHub · jxgedouard/remote-me · Revision 702a81c
More in Protocols
- Attack Shark K86: recovering HID controls from the official driver · Case study
- Redragon K652: macOS control from driver and HID analysis · Case study
- AK·LINK: reconstructing AJAZZ AK820 Pro HID control · Case study
- Etrel Load Guard Configurator: reconstructing the meter's UDP protocol · Case study
- hw-harness: scanner USB protocol investigation · Case study
- Roborock Local Server: a self-hosted stand-in for Roborock’s vacuum cloud · Case study