# 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.

- Type: Case study
- Targets: Binary · Protocol
- Category: Community REA investigations
- Relationship: Author-reported mixed workflow
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/jxgedouard/remote-me>
- Primary source: <https://github.com/jxgedouard/remote-me/blob/702a81c88a6e8f42d37bc5816ab5a44cd62cd8b2/docs/apple-remote-protocol.md>
- Catalog page: <https://awesomerea.org/resources/remote-me-apple-tv-companion-case/>
- Record JSON: <https://awesomerea.org/resources/remote-me-apple-tv-companion-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/remote-me-apple-tv-companion-case/index.md)

## 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.

## Primary sources

1. <https://github.com/jxgedouard/remote-me/blob/702a81c88a6e8f42d37bc5816ab5a44cd62cd8b2/docs/apple-remote-protocol.md>
2. <https://github.com/jxgedouard/remote-me/blob/702a81c88a6e8f42d37bc5816ab5a44cd62cd8b2/docs/reverse-engineering.md>
3. <https://github.com/jxgedouard/remote-me/blob/702a81c88a6e8f42d37bc5816ab5a44cd62cd8b2/README.md>

## More in Protocols

- [Attack Shark K86: recovering HID controls from the official driver](https://awesomerea.org/resources/attack-shark-k86-case/index.md) · Case study
- [Redragon K652: macOS control from driver and HID analysis](https://awesomerea.org/resources/redragon-k652-macos-case/index.md) · Case study
- [AK·LINK: reconstructing AJAZZ AK820 Pro HID control](https://awesomerea.org/resources/aklink-case/index.md) · Case study
- [Etrel Load Guard Configurator: reconstructing the meter's UDP protocol](https://awesomerea.org/resources/etrel-load-guard-configurator-case/index.md) · Case study
- [hw-harness: scanner USB protocol investigation](https://awesomerea.org/resources/hw-harness-reference-case/index.md) · Case study
- [Roborock Local Server: a self-hosted stand-in for Roborock’s vacuum cloud](https://awesomerea.org/resources/roborock-local-server-cloud-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
