Hacking Apple TV

De Área31 Hackerspace
Revisão de 04h31min de 5 de janeiro de 2014 por Coffnix (discussão | contribs)
Responsável:
* Raphael Bastos

O hackerspace possui hoje uma Apple TV de terceira geração disponível para hack. :D

Instalação do PLEX (media center) sem necessidade de jailbreak


Instalação do Plex Connect no Linux

Obtenha o código fonte do Plex Connect

cd /opt ; git clone https://github.com/iBaa/PlexConnect.git


Crie os certificados SSL para o DNS Fake

cd /opt/PlexConnect/assets/certificates/
openssl req -new -nodes -newkey rsa:2048 -out trailers.pem -keyout trailers.key -x509 -days 365 -subj "/C=US/CN=trailers.apple.com"
openssl x509 -in trailers.pem -outform der -out trailers.cer && cat trailers.key >> trailers.pem


Execute o Plex Connect

cd /opt/PlexConnect && python2.7 PlexConnect.py

Caso não tenha nenhum serviço nas portas 80, 443 e 53 tudo será executado sem problemas. Deixe o processo rodando, pode ser em nohup. ;)

Instale os certificados SSL na Apple TV

Acesse as configurações da Apple TV de rede, e configure o DNS apontando para o IP do Linux ao qual está sendo executado o PlexConnect.py.


Acesse o menu principal dos ajustes, e na opção "Enviar dados a Apple" selecione NÃO. Após isso, pare sobre a opção sem clicar, e pressione o botão PLAY.


Surgirá uma tela para criação do perfil. Selecione que deseja criar um perfil, e preencha o endereço conforme abaixo, supondo que o IP do Linux é o 192.168.100.254:


Após isso, reinicie sua Apple TV (pressione os botões "Menu+direcional para baixo" durante 6s). Após o reboot, acesse no menu principal o ícone "Trailers". voilá! Você está dentro do Plex. :D


Instale o Plex Media Center no Funtoo Linux (compatível 100% com Gentoo Linux)

echo app-portage/layman mercurial >>/etc/portage/package.use
emerge layman


Adicione no arquivo de configuração o repositório megacoffee conforme exemplo abaixo:

vi /etc/layman/layman.cfg
overlays  : http://www.gentoo.org/proj/en/overlays/repositories.xml
            http://gentoo-overlay.megacoffee.net/repositories.xml

#-----------------------------------------------------------


Atualize os repositórios:

layman -f


Após atualizar, adicione o overlay "MegaCoffee":

layman -a megacoffee


Atualize seu /etc/make.conf

Adicione o overlay

PORTDIR_OVERLAY="
/var/lib/layman/megacoffee
"


Adicione as flags globais

USE='gtk utils X'


Instale o Plex Media Server

emerge plex-media-server


Execute o Plex Media Server

/etc/init.d/plex-media-server start


Adicione o Plex ao boot do Funtoo

rc-update add plex-media-server default


Personalize o boot, caso seja o mesmo servidor de Plex Media Center e Plex Connect

Personalize seu script de init do Plex conforme abaixo:

vi /etc/init.d/plex-media-server
#!/sbin/runscript

depend() {
        need netif.eth1
        need avahi-daemon
}

start() {
        ebegin "Starting Plex Media Server"
        start-stop-daemon -S -m -p /var/run/plex-connect.pid -1 /var/log/pms/plex-connect.log -2 /var/log/pms/err-plex-connect.log --quiet -u root -N -5 -b --exec /opt/PlexConnect/PlexConnect.py

        start-stop-daemon -S -m -p /var/run/plex-media-server.pid -1 /var/log/pms/out.log -2 /var/log/pms/err.log --quiet -u plex -N -5 -b --exec /usr/sbin/start_pms
        eend $?
}

stop() {
        ebegin "Stopping Plex Media Server"
        start-stop-daemon --stop --pidfile /var/run/plex-media-server.pid --quiet --exec /usr/sbin/start_pms
        start-stop-daemon --stop --pidfile /var/run/plex-connect.pid --quiet --exec /usr/sbin/start_pms
        kill -- -`cat /var/run/plex-media-server.pid`
        kill -- -`cat /var/run/plex-connect.pid`
        eend $?
}

restart() {
        stop
        sleep 3
        start
}


PS: Lembre-se de alterar o cabeçalho do script python caso seu python default do sistema não seja a versão 2.7 (a minha versão do python default é a 3.3) conforme exemplo abaixo:

vi /opt/PlexConnect/PlexConnect.py
#!/usr/bin/env python2.7


Acesse via Browser e personalize seu sistema

É possível criar bibliotecas novas de filmes, músicas e outros. Acesse via browser:

http://192.168.100.254:32400/manage


Após isso, basta acessar via Apple TV seu media center. \o/

É possível criar bibliotecas via rede, usando NFS, DRBD. CIFS... use sua imaginação. ;)


Linux on Apple TV first generation (based on x86)

http://www.mythic-beasts.com/resources/appletv/walk-through.html


Jailbreak Apple TV 3rd Gen

Estamos tentando fazer jailbreak na Apple TV terceira geração, porém ainda não saiu nada oficial:

http://snow3rd.com


Outras opções de Jailbreak da Apple TV

http://ijailbrk.com


Referências:

http://samkear.com/software/linux/install-plex-media-server-funtoo-linux
https://github.com/iBaa/PlexConnect/wiki/OSX-and-ATV-with-5.2-firmware-and-ethernet-internet-connection-installation-guide
Cookies nos ajudam a entregar nossos serviços. Ao usar nossos serviços, você concorda com o uso de cookies.