node-appletv - A node module for interacting with an Apple TV (4th-generation or later) over the Media Remote Protocol

  •        451

A node module for interacting with an Apple TV (4th-generation or later) over the Media Remote Protocol. node-appletv is a node.js implementation of the Media Remote Protocol which shipped with the 4th-generation Apple TV. This is the protocol that the Apple TV remote app uses, so this should enable the creation of an Apple TV remote app for various platforms. It can also be used in a homebridge plugin to connect Apple TV events to HomeKit and vice versa. node-appletv can be used as a standalone command line application, or as a module in your own node app. Keep reading for installation and usage instructions.


camelcase : ^4.1.0
caporal : ^0.10.0
curve25519-n2 : ^1.1.3
ed25519 : 0.0.4
fast-srp-hap : ^1.0.1
inquirer : ^5.1.0
mdns : ^2.3.3
ora : ^2.0.0
protobufjs : ^6.8.4
snake-case : ^2.1.0
sodium : ^2.0.3
uuid : ^3.2.1
varint : ^5.0.0



Related Projects

SOAPEngine - This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and AppleTV app

  •    Objective-C

This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and Apple TV app. With this Framework you can create iPhone, iPad, Mac OS X and AppleTv apps that supports SOAP Client Protocol. This framework able executes methods at remote web services with SOAP standard protocol.

AirLib - C# Library and Client App for sending pictures and video to an Apple TV

  •    CSharp

This is a library for interfacing with the Apple TV from C# based on Unofficial Airplay Protocol Specification:


  •    Javascript

This lightweight (2kb) plug-in will automatically turn your layered Apple TV PNGs into 3D parallax icons, the same way the new Apple TV treats app icons. You can have any number of AppleTV Images on your web page. No dependencies, this plugin is just plain ol' vanilla javascript. Works on all major browsers. It even supports touch and mobile.

node-airplay - Apple AirPlay client library for node.js

  •    Javascript

node-airplay is a client library for Apple's AirPlay remote playback protocol. It implements a simple AirPlay device browser using mdns and command interface. node-airplay depends on both node-plist and node_mdns. Unfortunately node_mdns is woefully out of date and has required many tweaks to get working, resulting in a fork.

StreamCenter - tvOS project that aims at providing various video feeds to the AppleTV.

  •    Swift

tvOS project that aims at providing various video feeds to the AppleTV.

Slave-in-the-Magic-Mirror - Open source implementation of AirPlay Mirroring. WIP.

  •    Python

In short: Apple has a thing that lets you show what's on your iPhone or iPad or Mac on your Apple TV. This lets you see it on your Linux or Mac computer or media center too, maybe. AirPlay Mirroring uses a funky mish-mash of standards wrapped in some DRM. Slave in the Magic Mirror packs the audio and video data into a standard media container and hands it to VLC. The DRM is handled by calling into the original Apple TV server binary using a pure-python ARM interpreter.

typescript-starter - Quickly create and configure a new library or Node.js project

  •    TypeScript

Run one simple command to install and use the interactive project generator. You'll need Node v8.9 (the current LTS release) or later. The interactive CLI will help you create and configure your project automatically.

TorrenTV - TorrenTV node-webkit source code

  •    Javascript

Working on compatibility for Chromecast and Roku... Visit the project's website at

MythTV - Digital Video Recorder

  •    TypeScript

MythTV is a digital video recorder software and home media center hub. It supports Watch and record analog and/or digital TV, including HDTV, Pause, skip, and rewind live TV shows, Parental controls, Watch and archive DVDs, capable of managing your personal photo, video, and music collections and lot more.

cli - Heroku CLI

  •    TypeScript

The Heroku CLI is used to manage Heroku apps from the command line. This is the next generation Node-based Heroku CLI. The goals of this project were to make plugins more flexible, remove Ruby as a runtime dependency, and make the CLI faster.

ParallaxView - tvOS controls and extensions that add parallax effect to your application.

  •    Swift

Easy to use UIView, UICollectionViewCell with parallax effect and extensions to add this effect to any UIView. Rotate view using Apple TV remote. Works confusingly similar to tiles in the home screen of the Apple TV. Open your storyboard or xib and drag and drop UIView control. Change custom class to ParallaxView in Identity inspector. You can also create control from code.



PonkTV is a P2P media server for the TV. It allows downloading of various media (music, videos, flash, web pages, games, and programs) from P2P and web servers for viewing on a TV and controlled by a TV remote.

rx-player - Smooth/DASH HTML5 Video Player

  •    TypeScript

The Rx-player is a library implementing a DASH and Microsoft Smooth Streaming video player directly on the browser, without plugins. It relies on HTML5 Media Source Extensions and Encrypted Media extensions and is written in TypeScript, a superset of JavaScript. It is currently used in production for premium services and targets several devices, such as computers, phones, but also set-top-boxes, smart TVs and other peculiar environments.

oclif - Node.js Open CLI Framework. Built with 💜 by Heroku.

  •    TypeScript

This is a framework for building CLIs in Node.js. This framework was built out of the Heroku CLI but generalized to build any custom CLI. It's designed both for simple CLIs that can be just a single file with a few flag options, or for very complex CLIs that have subcommands (like git or heroku). See the docs for more information.

ts-node - TypeScript execution and REPL for node.js

  •    TypeScript

TypeScript execution and REPL for node.js, with source map support. Works with typescript@>=2.0. Tip: Installing modules locally allows you to control and share the versions through package.json.