Skip to content

Overview

f00b4r edited this page Jun 28, 2013 · 14 revisions

Plex Connect (or "Plex @ aTV - think different…")

We all want the pleasure of Plex on the big screen - in this case driven by an AppleTV, unfortunately:

  • There is no App Store for the AppleTV.
  • It is not currently possible to jailbreak the AppleTV3
  • Only certain firmwares on the AppleTV2 have an untethered jailbreak (the current firmware does not)
  • It is not possible to move between AppleTV2 firmwares unless the user has previously used a tool to specifically save unique signatures for their device

How does it work?

The basic idea is, to:

  • re-use a native AppleTV app (in this case Apple Trailers)
  • re-route the Trailers app requests to your local Plex Media Server
  • re-work the reply to fit into AppleTV's XML communication scheme
  • let iOS do the rest
  • enjoy Plex on your unmodified AppleTV

More detailed Information about the files

  • PlexConnect.py - Main script file, invoking the DNSServer and WebServer into seperate processes.
  • PlexGDM.py - Auto discovery of running Plex Media Servers: Good Day Mate!
  • DNSServer.py - This is a small DNS server (hence the name) that is now called whenever aTV needs to resolve an internet address. To hijack the trailer App, we will intercept and re-route all queries to trailers.apple.com. Every other query will be forwarded to the next, your original DNS.
  • WebServer.py - This script provides the directory content of "assets" to aTV. Additionally it will forward aTV's directory requests to PMS and provide a aTV compatible XML back. Every media (video, thumbnails...) is URL-wise connected to PMS, so aTV directly accesses the Plex database.
  • XMLConverter.py This script contains the XML adaption from Plex Media Server's response to valid aTV XML files.
  • Settings.cfg - Configuration file. This should be the only file a user modifies, if any.

Disclaimer

The software is provided as is. It might work as expected - or not. Just don't blame us.