Raspberry Pi: Torrents e séries
Atualização em 2018: desde que eu escrevi esse post, melhores opções apareceram pra automatizar essa tarefa. Dentre elas eu recomendo dar uma olhada no SickChill e no CouchPotato. Eles substituem o flexget com muito mais funções (como por exemplo, fazer o download de legendas).
Por isso, esse post está basicamente desatualizado e está aqui só pra fins históricos. :)
No último post eu comentei um pouco sobre o raspberry e sobre o XBMC, mas a outra coisa que precisa é botar os filmes e séries dentro dele, e ficar passando manualmente quebra um pouco o propósito de ter o negócio todo contido numa caixa só.
Como ele roda Linux, tem duas opções principais: Transmission e rTorrent.
Nunca havia usado nenhum dos dois, mas a maioria das dicas nos fóruns fala do transmission e foi o que acabei escolhendo.
Nota: Confira duas vezes ao copiar os comandos porque pode ser que alguns caracteres estejam incorretos
Instalar ele é a parte fácil, assumindo que você esteja num raspbmc, basta abrir um ssh pro raspberry e fazer
apt-get install transmission-daemon
Com isso feito, pra iniciar basta fazer:
sudo /etc/init.d/transmission-daemon start
O Raspberry não tem o hardware mais poderoso do mundo, então é bom colocar algumas limitações nas configurações do transmission, as minhas são as seguintes:
Update (20-11-2012, 14:12): Todas as configurações do transmission ficam em /etc/transmission-daemon/settings.json
"download-queue-enabled": true,
"download-queue-size": 1,
"peer-limit-global": 240,
"peer-limit-per-torrent": 100,
"seed-queue-enabled": true,
"seed-queue-size": 9,
"speed-limit-up": 20,
"speed-limit-up-enabled": true
É uma boa também mudar o local de download dos arquivos. Coloquei duas pastas separadas, como o transmission permite, ficou assim (Raspberry Pi é o meu hd externo):
"download-dir": "/media/Raspberry Pi/seeding",
"incomplete-dir": "/media/Raspberry Pi/downloading",
"incomplete-dir-enabled": true,
Não esqueça que o transmission tem que ter permissão para escrever nessas pastas. Com essas configurações e ligando o rpc, já dá pra acessar o transmission e mandar ele baixar coisas pela interface web (Não esqueça de botar seu próprio nome de usuário e password):
"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "**_seu-password_**",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "**_seu-usuário_**",
"rpc-whitelist": "127.0.0.1,192.168.\*.\*",
"rpc-whitelist-enabled": true,
Mas não vamos ficar contentes só com isso. A boa é que quando saiam séries novas, elas sejam baixadas automagicamente. Pra isso, vamos instalar o flexget:
easy_install flexget
easy_install transmissionrpc
A configuração, que deve ficar em ~/.flexget/config.yml
deve ficar parecida com essa:
Com essa configuração, ele vai baixar somente com definição de 720p, e que tenha qualidade de hdtv ou mais (dvdrip, etc).
É preciso ajustar as configurações do plugin do transmission para as mesmas usadas no rpc.
Daí basta ir nas configurações do raspbmc, pela interface do XBMC mesmo, e lá ligar o cron. Com ele ligado, basta adicionar a seguinte linha ao crontab (crontab -e):
0 \* \* \* \* /usr/local/bin/flexget --cron
Isso vai fazer com que o flexget seja chamado uma vez por hora, botando suas séries no transmission e tal :)
Ainda pretendo fazer a última parte da automatização: pegar as séries que foram baixadas e movê-las para a pasta correta e reindexar o xbmc, e já baixar as legendas. Já comecei fazendo isso tirando os que já estão com seeding completos para uma pasta separada, a partir da dica desse post. Se for usar, note que só consegui usar esse script modificando as chamadas do transmission para incluir --auth <seu-usuário>:<seu-password>
Uma segunda coisa ideal seria que as séries tivessem uma prioridade alta quando adicionadas no transmission, parando qualquer torrent que existisse para que elas fossem baixadas. Mas isso é assunto para outra vez ;)
Bônus: Tudo aqui deve funcionar para qualquer distro, com as devidas adaptações :)