Skip to content

Install Guide AppleTV 3

moodyblue edited this page Feb 5, 2020 · 80 revisions

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 iTunes and a USB cable. After the reset you may decide to jailbreak the ATV again, or not
  • It's not possible to load the Plex icon after jailbreaking the ATV. But if your ATV has the Plex icon before the jailbreak it will "survive" the jailbreak process

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

This can be done using the process explained here (no need to install more apps, just follow the process up to step 15).

This jailbreak process uses Trailers. In order to avoid any interference it is recommended to setup PlexConnect to not use trailers. In the following instructions PlexConnect is parametrized to use iMovie Theater instead.

It is recommended to start with a "clean" situation (ATV reset to factory settings), this can be done in the ATV menus, or using iTunes to reset the ATV to factory settings. The later can also be used to remove the jailbreak.

Install PlexConnect to acess Plex via the iMovie Theater icon

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/
dpkg -i support/aTV_jailbreak/python_2.7.6-3_iphoneos-arm.deb
rm support/aTV_jailbreak/python_2.7.6-3_iphoneos-arm.deb
cp support/aTV_jailbreak/Settings_atv3.cfg Settings.cfg
cp support/aTV_jailbreak/iMovie.* assets/certificates/
echo '## PlexConnect managed app' >> /etc/hosts
echo '127.0.0.1 www.icloud.com' >> /etc/hosts
cd support/aTV_jailbreak/
chmod +x install_atv3.bash
./install_atv3.bash
reboot

Then it's time to install certificates and use PlexConnect. It is highly recommended that you login PlexConnect to https://plex.tv to benefit from secure connections and Plex Pass. 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
rm /Applications/PlexConnect/support/aTV_jailbreak/python_2.7.6-3_iphoneos-arm.deb
launchctl load /Library/LaunchDaemons/com.plex.plexconnect.bash.plist