How to install Plex on non-jailbroken Apple TV 2 and Apple TV 3 [Mac tutorial]

by tomek on June 7, 2013


plex on apple tv 2 3 How to install Plex on non jailbroken Apple TV 2 and Apple TV 3 [Mac tutorial]

Update: Latest Apple TV update broke the Plex hack, here is how to fix it.

Earlier this week we reported that it’s now possible to run Plex on non-jailbroken Apple TV 2 and Apple TV 3, as group of devs (Baaroidy and f00b4r) has released a PlexConnect, a little hack that allows a fully-functional Plex client on non-jailbroken ATV2 and ATV3. You can find more details here.

And here is a tutorial on how to get it all working using a Mac:

(via PlexConnect wiki)

Note: This guide can also be used with firmwares prior to 5.2 and those with Apple TVs on wireless connections, just use some common sense for changing the DNS on the ATV and leave the subnet mask and router settings as they are (the screens are slightly different for this bit only).

personalize atv How to install Plex on non jailbroken Apple TV 2 and Apple TV 3 [Mac tutorial]

  • Ensure that your PlexConnect machine always has the same IP address

In order for PlexConnect to work the Apple TV has to have its DNS server changed to that of the ATV. In order to ensure that the device’s IP does not change you need to need to either set a DHCP reservation or static IP in your router for the device and then make a note of it. Click here for a Lifehacker guide on how to set this up.

  • Configuring your ATV

1. On your Apple TV, go to Settings -> General -> Network -> Ethernet (if you are connected via wireless select that instead)

plex apple tv 2 3 installation mac 04 How to install Plex on non jailbroken Apple TV 2 and Apple TV 3 [Mac tutorial]

2. Make a note of the current DNS server (you will need to add this into your PlexConnect settings later) and then click on the ‘configure DNS’ button:

plex apple tv 2 3 installation mac 05 How to install Plex on non jailbroken Apple TV 2 and Apple TV 3 [Mac tutorial]

3. On the ‘configure DNS’ screen click on the ‘manually’ button:

plex apple tv 2 3 installation mac 06 How to install Plex on non jailbroken Apple TV 2 and Apple TV 3 [Mac tutorial]

4. On the ‘configure DNS’ screen change the IP address to that of the local IP of the device that you are running the PlexConnect application on and then click on the ‘done’ button (if you are using a firmware prior to 5.2 and it asks you to configure the IP address of your router and the subnet mask leave them as they are):

plex apple tv 2 3 installation mac 07 How to install Plex on non jailbroken Apple TV 2 and Apple TV 3 [Mac tutorial]

5. It should return you to the previous network configuration screen, check that the DNS server is set to manual and that the IP address is now that of the machine that you are running PlexConnect on:

plex apple tv 2 3 installation mac 08 How to install Plex on non jailbroken Apple TV 2 and Apple TV 3 [Mac tutorial]

  • Downloading, installing and configuring PlexConnect
  1. Download the latest zip from Github here.
  2. Place it in a directory of your choosing on the machine you wish to run PlexConnect on and unzip it.
  3. Open the “Settings.py” file using TextEdit
  4. OPTIONAL: edit the line “return ’8.8.8.8′ # google public DNS”, replacing the “8.8.8.8″ with your DNS server, the one you noted down from the ATV before you changed it (if this was your gateway you can instead choose to use your ISP’s DNS server).
  5. Save the file
  6. Open a terminal window and change its directory to that of the PlexConnect folder (either by typing “cd”, without the quotes, hitting space and then dragging the folder to the terminal window and hitting return or by enabling the really useful ‘new terminal at folder’ right click command).
  7. Type “sudo ./PlexConnect.py”, without the quotes and hit return.
  8. It will then ask to enter your password for your Mac, so enter this and hit return (it will not show anything as you type!).
  9. You should see output in the terminal as PlexConnect starts.
  10. Open the Trailer application on your Apple TV and you should see the PlexConnect interface appear.
  11. Enjoy!

Note: if you have any issues please refer to this before posting.

Specific guides targeting the different firmwares and wireless connections will follow.

  • wracz

    PlexConnect works great! I already had a DNS and web server running, so I shut down my own DNS server and changed plexwebserver to another port (8089). Then setup an Apache virtual host to redirect trailers.apple.com:80 to 8089. Works like a charm.

  • oe

    If you have your own DNS server, and it’s set to read hosts file, then it suffices to just add

    1.2.3.4 trailers.apple.com

    to /etc/hosts on the DNS server.

    I have open-wrt as my router and had been using google’s DNS servers for all clients. If you did something similar and want to strictly set your AppleTVs DNS setting to the router and have the above in /etc/hosts then add the following to /etc/config/dhcp

    config mac

    option mac ‘AA:BB:CC:DD:EE:FF’

    option networkid ‘appletv’

    list dhcp_option ’6,192.168.1.1′

    Replace 192.168.1.1 with IP address of your DNS server (router in this case)

    To make sure you’re reading hosts files have the

    option expandhosts ’1′

    line within the

    config dnsmasq

    section. Then it’s a matter of changing PlexConnect Settings.py to enable_dnsserver to (‘False’)

    And just start PlexConnect and you don’t need any other pieces running

  • oe

    Forgot to mention in /etc/hosts 1.2.3.4 refers to your PlexConnect IP address

  • eyot08

    So, I am getting this:

    Failed to create socket on UDP port 53: [Errno 48] Address already in use
    PlexConnect : DNSServer not alive. Shutting down.

    What does it mean and how do I go about? Cheers!

  • Bryan

    code 404, message File Not Found: /appletv/us/genres/action_and_adventure/index.xml. Is there any thoughts on this message? It appears the appletv folder doesn’t exist in the plexconnect download.

  • http://fnordell.com/ WestN

    Plex Media Server is still the worst program ever… takes 100% CPU. If you have more than 1 movie, then don’t use this!!!

  • oe

    It means you’re already running a DNS Server. You need to stop it, or simply configure it to respond to trailers.apple.com with that particular machine’s IP address

  • dani12o82

    can you explain to me how to do it on may imac?
    tnx

  • toom

    I dont have a password on my mac and it doesnt me install plex it says : sorry try again :(

  • toom

    now i done, but i have another issue

    Starting up.

    DNSServer : intercept trailers.apple.com: xxx.xxx.x.xx

    DNSServer : forward other to higher level DNS: 8.8.8.8

    DNSServer : ***

    WebServer : Failed to connect to port 80 (http): [Errno 48] Address already in use

    PlexConnect : WebServer not alive. Shutting down.

    DNSServer : Shutting down.

  • toom

    maybe its because i’m from spain and need to set something in my router? i did exactly step by step but it doesnt work..

  • miyagi

    so surprisingly i got this to work 1st go. my question is do i have to keep terminal running in order to keep this working because when i do it stops, am i missing a step here to keep it running? also might be a stupid question, but when it streams is it through my local network right? not through the internet.

  • Macdatho

    Can you please explain this in more detail. The “configuring it to respond to trailer.apple.com” part.

  • pechas

    Thanks now I got it working, but get error when try to play a movie.
    any ideas why?
    No error nr,just says try again later

  • eyot08

    Some app was interfering with DNS, by killing processes from Activity Window I was able to isolate which one. Now PlexConnect is working like a charm! Cheers.

  • CageX

    Biggest question well be, only linux? or windows too can process this?

  • Dave

    It didn’t work for me either. I get a “problem loading video” warning right away… Too bad. Have to go back to jailbreak

  • Matt

    Do i have to leave terminal running?

  • JottaD

    PlexConnect: started: 19:21:51

    PlexConnect: ***

    PlexConnect: PlexConnect

    PlexConnect: Press ENTER to shut down.

    PlexConnect: ***

    PlexConnect: started: 19:21:51

    PlexConnect: IP_self: 192.168.1.127

    PlexGDM: ***

    PlexGDM: looking up Plex Media Server

    PlexGDM: ***

    PlexGDM: No servers discovered

    PlexConnect: PMS: 192.168.178.10:32400

    DNSServer: started: 19:21:52

    DNSServer: ***

    DNSServer: Starting up.

    DNSServer: intercept trailers.apple.com: 192.168.1.127

    DNSServer: forward other to higher level DNS: 84.208.20.110

    DNSServer: ***

    WebServer: started: 19:21:53

    WebServer: ***

    WebServer: WebServer: Serving HTTP on 0.0.0.0 port 80.

    WebServer: ***

  • Dave

    It works. DON’T DO STEP 4! you have to leave terminal running too. This isn’t really a great fix but it’s ok… Your ATV becomes pretty much ONLY a plex app once you do this because you can no longer connect to the internet for netflix and other stuff. I wish there was an automated program that would change the IP and run the terminal script at the click of a button (like PLEX ON / PLEX OFF) so that i didn’t have to do all these mods every time i want to use plex or netflix…

  • Dave

    For me, keep terminal running and DO NOT DO step 4, leave setting.py as is

  • Dave

    And… it stopped working

  • no9fletch

    i have followed teh steps and this is what i get… can anyone help?

    14:16:36 PlexConnect: started: 14:16:36

    14:16:36 PlexConnect: ***

    14:16:36 PlexConnect: PlexConnect

    14:16:36 PlexConnect: Press ENTER to shut down.

    14:16:36 PlexConnect: ***

    14:16:36 Settings: add section PlexConnect

    14:16:36 Settings: add option port_pms=32400

    14:16:36 Settings: add option enable_plexgdm=True

    14:16:36 Settings: add option ip_dnsmaster=8.8.8.8

    14:16:36 Settings: add option ip_webserver=0.0.0.0

    14:16:36 Settings: add option loglevel=Normal

    14:16:36 Settings: add option enable_dnsserver=True

    14:16:36 Settings: add option ip_pms=192.168.178.10

    14:16:36 Settings: add option port_webserver=80

    14:16:36 PlexConnect: IP_self: 192.168.2.13

    14:16:36 PlexConnect: started: 14:16:36

    14:16:36 PlexGDM: ***

    14:16:36 PlexGDM: looking up Plex Media Server

    14:16:36 PlexGDM: ***

    14:16:37 PlexGDM: No servers discovered

    14:16:37 PlexConnect: PMS: 192.168.178.10:32400

    14:16:37 DNSServer: started: 14:16:37

    14:16:37 DNSServer: ***

    14:16:37 DNSServer: Starting up.

    14:16:37 DNSServer: intercept trailers.apple.com: 192.168.2.13

    14:16:37 DNSServer: forward other to higher level DNS: 8.8.8.8

    14:16:37 DNSServer: ***

    14:16:38 WebServer: started: 14:16:38

    14:16:38 WebServer: ***

    14:16:38 WebServer: WebServer: Serving HTTP on 0.0.0.0 port 80.

    14:16:38 WebServer: ***

    14:17:08 DNSServer: DNS request received!

    14:17:08 DNSServer: Source: (’192.168.2.22′, 60134)

    14:17:08 DNSServer: Domain: trailers.apple.com

    14:17:08 DNSServer: ***intercept request

    14:17:08 DNSServer: -> DNS response: 192.168.2.13

    14:17:08 WebServer: serving application.js

    14:17:08 WebServer: serving /Users/jamesfletcher/Downloads/PlexConnect-0.1-iOS-pre5.1/assets/plexconnect.xml

    14:17:08 WebServer: serving /Users/jamesfletcher/Downloads/PlexConnect-0.1-iOS-pre5.1/assets/utils.js

    14:17:08 ATVLogger: loadItem: Library

    14:17:08 WebServer: serving .xml: /library/sections

    14:17:18 XMLConverter: Unable to connect to 192.168.178.10:32400

    Reason: timed out

    14:17:18 XMLConverter: No Response from Plex Media Server

    14:17:21 ATVLogger: loadItem: Channels

    14:17:21 WebServer: serving .xml: /channels/all

    14:17:31 XMLConverter: Unable to connect to 192.168.178.10:32400

    Reason: timed out

    14:17:31 XMLConverter: No Response from Plex Media Server

    14:17:38 ATVLogger: loadItem: Search

    14:17:38 WebServer: serving /Users/jamesfletcher/Downloads/PlexConnect-0.1-iOS-pre5.1/assets/search.xml

    14:17:40 ATVLogger: loadItem: Settings

    14:17:40 WebServer: serving .xml: /

    14:17:50 XMLConverter: Unable to connect to 192.168.178.10:32400

    Reason: timed out

    14:17:50 XMLConverter: No Response from Plex Media Server

    14:20:05 DNSServer: DNS request received!

    14:20:05 DNSServer: Source: (’192.168.2.22′, 54931)

    14:20:05 DNSServer: Domain: trailers.apple.com

    14:20:05 DNSServer: ***intercept request

    14:20:05 DNSServer: -> DNS response: 192.168.2.13

    14:20:05 WebServer: serving application.js

    14:20:05 WebServer: serving /Users/jamesfletcher/Downloads/PlexConnect-0.1-iOS-pre5.1/assets/plexconnect.xml

    14:20:05 WebServer: serving /Users/jamesfletcher/Downloads/PlexConnect-0.1-iOS-pre5.1/assets/utils.js

    14:20:05 ATVLogger: loadItem: Library

    14:20:05 WebServer: serving .xml: /library/sections

    14:20:15 XMLConverter: Unable to connect to 192.168.178.10:32400

    Reason: timed out

    14:20:15 XMLConverter: No Response from Plex Media Server

    14:20:39 ATVLogger: loadItem: Channels

    14:20:39 WebServer: serving .xml: /channels/all

    14:20:49 XMLConverter: Unable to connect to 192.168.178.10:32400

    Reason: timed out

    14:20:49 XMLConverter: No Response from Plex Media Server

  • Bradley C Rawleigh

    anyone tested this on the new iOS or the iOS 7 beta?

  • molimc

    PLEX CONNECTION Apple Tv 3 Tutorial

    http://www.youtube.com/watch?v=bFKPCXHXERE

  • dave

    turn off internet sharing in system prefs.

  • Tom

    you’re an idiot. I have 142 movies 30 tv shows with multiple seasons and works perfect.

  • molimc

    TUTORIAL PLEX CONNECT APPLE TV 3 IOS 5.3

    http://www.youtube.com/watch?v=puAAgQTlnBI

  • Mat

    +1

    I was looking 4 this answer for more than a week. Rly tks man!

  • http://fnordell.com/ WestN

    Sorry, I’m not an idiot… The problem is that plex server doesn’t currently work with arm-cpu if you got to much data. And 142 movies + 30 tv shows is not much data..

  • Nicholas Schaible

    I’ve got 1500+ movies and 70+ TV show series and plex media server handles all of them like a champ. Even my 5-10gb 1080p Blu Ray rips. As Jobs would say…”you’re holding it wrong.”

  • DLAMP

    Where are Github files now??? Links no longer active.

  • Truth Teller

    There is always some guy in the bunch who has some P.O.S hardware that has to bitch about software not working with his superior machine. The problem is your ARM processor. Idiot was an appropriate adjective.

  • http://fnordell.com/ WestN

    Because I’m the only one using ARM processor for a NAS which I use to host movies. I guess it is good for all the other people that uses this equipment to know that they shouldn’t install plex server on it.

    And I’m not into Dota are any other flame-war game…
    There is always some guys trying to mock the guy because they think he has better equipment, when the reality is unknown…

Previous post:

Next post: