Skip to content

Install Guide AppleTV 3

moodyblue edited this page Oct 6, 2020 · 80 revisions

Warning

From Oct 1, 2020 onwards login to plex.tv requires TLS 1.1, and in turn this requires python 2.7.9 or higher. The python version available for Apple TV2/3 is at level 2.7.6. Therefore, if you jailbreak ATV3 to install PlexConnect you are limited to local/GDM communication.

Overview

PlexConnect can be installed in jailbroken ATV2's and ATV3's. However:

  • ATV's do not have fast processors. Computing intensive tasks (such as image rendering) can take longer in the ATV than in a separate, more powerfull, computer. If you have a large Plex library and you are satisfied with PlexConnect installed in a separate computer think twice before moving to a jailbreak situation
  • python for ATV does not include PIL/pillow, therefore you can't use fanart
  • When the ATV becomes unstable (this can happen for unknown reasons) and you decide to reset the ATV to factory settings you can't use the ATV menus. You need one USB cable and an appropriate tool, such as iTunes. After the reset you may decide to jailbreak the ATV again, or not

Installing PlexConnect in ATV has significant advantages:

  • There is no need to have a separate computer to run PlexConnect. The ATV will be autonomous and you will be able to use PlexConnect, YouTube, Netflix, etc. either locally or remotely
  • Installation process is stable. In all other platforms PlexConnect's installation process can be impacted by new operating system versions. Issues such as conflicting tcp ports, python version, autorun at boot, and generating certificates are among the known issues that have occurred in the past

Different users have different requirements, it's up to you to judge what's best for your installation.

Jailbreaking the AppleTV 3

Please check if your ATV3 is at firmare 7.4 level. If not, you can download it from here (it's the Sept/2019 version). To install it in the ATV3 you need one USB cable and an appropriate tool, such as iTunes.

After loading iOS 7.4 you can jailbreak using the process explained here (do not install more apps because the ATV may become unstable, just follow the process up to step 15).

Install PlexConnect to acess Plex via the iMovie Theater icon

In order to avoid any interference with the jailbreak process it is recommended to setup PlexConnect to not use trailers. Using the following instructions PlexConnect will be installed to use iMovie Theater instead.

Take note of AppleTV-IP's address, you will need it to login via SSH. Userid is root and default password is alpine (you may change it after the jailbreak).

Login and install some prerequisites:

apt-get update
apt-get upgrade
apt-get install python
apt-get install git
reboot

Login to install PlexConnect and certificates:

cd /Applications/
git clone git://github.com/iBaa/PlexConnect.git
cd PlexConnect/support/aTV_jailbreak/
./inst_atv3.sh
reboot

Then it's time to install certificates. If certificates are not properly loaded you will see a 'no available' message when trying to access Plex.

To use PlexConnect it's highly recommended that you login PlexConnect to https://plex.tv to benefit from secure connections, Plex Pass, and be able to access remote Plex servers. If not you have to authorize the ip used by the ATV3 to access Plex Media Server as explained here.

A note about certificates

PlexConnect now includes sample certificates that can be used to parametrize and test the ATV3. It is suggested that you replace them by your own certs. Here is a possible template:

openssl req -new -nodes -newkey rsa:2048 -out iMovie.pem -keyout iMovie.key -x509 -days 7300 -subj "/C=US/CN=www.icloud.com" -config /etc/ssl/openssl.cnf
openssl x509 -in iMovie.pem -outform der -out iMovie.cer
cat iMovie.key >> iMovie.pem

Do not use the ATV3 to generate certificates. They will not work.

How to update PlexConnect

Login the ATV3 and give following commands:

cd /Applications/PlexConnect/
launchctl unload /Library/LaunchDaemons/com.plex.plexconnect.bash.plist
git pull
launchctl load /Library/LaunchDaemons/com.plex.plexconnect.bash.plist