Cómo descargar videos de Youtube en tu Raspberry Pi

¿Habéis visto un video alojado en YouTube que os gustaría descargar y ver cuando queráis en vuestra querida Raspberry? Si es así estáis en el sitio indicado porque hoy os voy a explicar cómo hacerlo mediante youtube-dl

Como casi todo lo que cuento aquí, estas instrucciones son totalmente válidas para cualquier ordenador corriendo Debian. Vamos al lío.

  1. Ejecuta el comando sudo apt-get install youtube-dl para instalarlo.
  2. ¡Ya está!

¿Verdad que es fácil?. Para descargar un video nada tan sencillo como escribir youtube-dl seguido de la URL del video que queramos descargar. Vamos a ver esto con un ejemplo.

  1. Vamos a YouTube, buscamos el video que queremos descargar y le damos a compartir. Ahí vemos que su url es (por ejemplo) http://youtu.be/63fCoDvyF2E
  2. Vamos a la terminal y escribimos youtube-dl http://youtu.be/63fCoDvyF2E y el video empezará a descargarse automáticamente.
  3. Si hacemos un ls -lh veremos que el video se ha guardado como un fichero .mp4 y que ocupa 8,5MB (en este caso).

youtube-dl cuenta con muchísimas opciones para descargar el video con distintas calidades y formatos, o descargar los subtítulos, e incluso le podemos pasar una lista de reproducción y se la bajará enterita. Genial ¿verdad? Podéis ver todas las opciones disponibles escribiendo youtube-dl -h o yendo a su sitio web http://rg3.github.io/youtube-dl/

Ahora sólo queda añadir el video a nuestra librería de XBMC para poder verlo tranquilamente en nuestro televisor o monitor. ¿Y si no tienes XBMC y quieres reproducirlo directamente desde la terminal? Eso lo veremos en la próxima entrada.

Articulo resumen y guía rápida

  1. Instalar Raspbmc en la tarjeta SD mediante el método que más nos guste. Enlace: http://www.raspbmc.com/download/
  2. Iniciar el sistema conectado con el cable de red y todos los discos enchufados, y esperar a que termine de configurarse.
  3. Conectar el dongle WiFi y reiniciar habiendo desconectado el cable de red.
  4. Configuración adicional de XBMC:
    1. Habilitar bob light support (para hacer un ambilight en el futuro).
    2. Cambiar región.
    3. Cambiar país.
    4. Deshabilitar Ignorar los artículos al ordenar (cuestión de gustos).
    5. Habilitar Permitir el renombrado y borrado de archivos (para poder borrar archivos después de verlos).
    6. Habilitar Actualizar la colección en el arranque (nunca viene mal).
    7. Seleccionar la acción por defecto: mostrar información (nuevamente, cuestión de gustos).
    8. Idioma de subtitulo preferido: english (cada cual que elija el idioma que quiera).
    9. Servicio de tv por defecto: conseguir más > opensubtitles.org > instalar (para poder bajar los subtítulos de las series).
    10. Seleccionar ubicación para el tiempo (me gusta poder ver la previsión).
    11. Instalar Add-on de Youtube (para poder ver los trailers).
    12. Habilitar AirPlay (aunque aun no he sido capaz de hacerlo funcionar).
  5. Reiniciar el sistema para aplicar los cambios.
  6. Añadir los vídeos a la biblioteca indicando si las carpetas son de series o de películas. Enlace: Añadir contenido a XBMC
  7. Revisar si hay series o películas que ha cogido mal o no ha reconocido y arreglarlo.
  8. Actualizar el sistema mediante el comando sudo apt-get update && sudo apt-get upgrade
  9. Instalar transmission mediante el comando sudo apt-get install transmission-daemon Enlace: Instalación de transmission
  10. Parar transmission-daemon mediante sudo /etc/init.d/transmission-daemon stop para configurar el fichero /var/lib/transmission-daemon/info/settings.json y luego re-arrancarlo con sudo /etc/init.d/transmission-daemon start
  11. Instalar sendemail mediante el comando sudo apt-get install libio-socket-ssl-perl libnet-ssleay-perl perl sendemail Enlace: Recibir un email al finalizar una descarga
  12. Arreglar sendemail con sudo nano +1907 /usr/bin/sendemail y modificar la linea donde dice SSLv3 TSLV1 para dejar solamente SSLv3
  13. Instalar flexget mediante sudo apt-get install python python-setuptools ; sudo easy_install flexget mechanize transmissionrpc
  14. Comprobar que flexget se ha instalado bien ejecutando flexget -V
  15. Crear un directorio de configuracion de flexget con mkdir /home/pi/.flexget y editar la configuracion con nano /home/pi/.flexget/config.yml
  16. Editar el fichero config.yml para que envíe un email al encontrar un fichero, la frecuencia del daemon y añadir todas las series a seguir. Enlace: Instalación de flexget y configuración (I): series.
  17. Comprobar la sintaxis de la configuracion mediante flexget check
  18. Hacer un test de descarga mediante flexget –test execute
  19. Indicar el punto donde tiene que empezar a descargar las series mediante flexget series begin “<SERIE>” S<temporada>E<capitulo>” Enlace: Cómo decirle a flexget que ya hemos visto un capítulo
  20. Iniciar el daemon mediante flexget daemon start -d Enlace: FlexGet en Daemon mode y Scheduling
  21. Instalar curl
  22. Configurar fichero de download_complete para mover los archivos .mkv, borrar carpeta bajada y actualizar la librería con curl. Enlace: Movimientos de ficheros y auto-actualizacion de librería
  23. Ejecutar ssh-keygen para generar las claves y añadir la clave pública de nuestro equipo al archivo /home/pi/.ssh/authorized_keys de la raspberry. Enlace: Utilización de claves pública y privada

 

Contenido fichero download_complete.sh

#!/bin/bash

#Se envia un email de que ha finalizado la descarga
USUARIO="<usuario>"
PASSWORD="<contraseña>"
DIRECCION="$USUARIO@gmail.com"
ASUNTO="[Transmission] Descarga finalizada"
MENSAJE="Se ha completado la descarga del trabajo \n$TR_TORRENT_NAME\nHora: $TR_TIME_LOCALTIME\nFolder: $TR_TORRENT_DIR\nID: $TR_TORRENT_ID"
SERVIDOR="smtp.gmail.com:587"
sendemail -f $DIRECCION -t $DIRECCION -u $ASUNTO -m $MENSAJE -s $SERVIDOR -xu $USUARIO -xp $PASSWORD -v -o username=$USUARIO -o password=$PASSWORD -o tls=yes

#mueve los ficheros mkv de la carpeta de descarga a su carpeta padre
find "$TR_TORRENT_DIR/$TR_TORRENT_NAME" -name "*.mkv" ! -name *sample* -exec mv {} "$TR_TORRENT_DIR" \; | logger

#borra los archivos y carpetas que no son mkv de la carpeta de descarga
find "$TR_TORRENT_DIR/$TR_TORRENT_NAME" ! -name "*.mkv" -exec sudo rm -r {} \; | logger #debian-transmission tiene que ser sudoer para borrar

#Actualizacion de la libreria de video
curl --data-binary '{ "jsonrpc": "2.0", "method": "VideoLibrary.Scan", "id": "mybash"}' -H 'content-type: application/json;' http://localhost/jsonrpc

 

Contenido fichero config.yml

schedules:
 - tasks: '*'
 interval:
 hours: 2

tasks:

  tv-shows:
    series_premiere: no

    email:
      from: <usuario>@gmail.com
      to: <usuario>@gmail.com
      smtp_host: smtp.gmail.com
      smtp_port: 587
      smtp_username: <usuario>
      smtp_password: <contrasena>
      smtp_tls: yes

    transmission:
      path: /media/e864a2d9-5479-41a6-852f-4dbd2166cd12/tvshows
      host: localhost
      port: 9091
      username: transmission
      password: <contraseña de transmssion>
      addpaused: no

    rss: http://rss.thepiratebay.se/208

    thetvdb_lookup: yes

    quality: 720p HDTV h264

    regexp:
      reject:
        - SUB
        - DUAL
        - WEB
        - CENSORED
        - SCREENER
        - LATINO
        - PSYPHER

    content_filter:
      reject:
        - '*.avi'
        - '*.mpg'
        - '*.mpeg'

    series:
      - 12 Monkeys:
        path: "/media/My\ Book/tvshows/12 Monkeys"
        set:
          tvdb_id: 272644
      - 2 Broke Girls:
        path: "/media/My\ Book/tvshows/2 Broke Girls"
        set:
          tvdb_id: 248741

Instalación de XBMC sobre Raspbian

Tal como comenté en la entrada anterior, ya que parece que mi instalación de XBian no debe de andar muy fina porque no me deja usar/instalar Add-ons, voy a intentar hacer una instalación de XBMC sobre Raspbian. El único inconveniente de esto es que no será fool proof (a prueba de tontos) y con el autoarranque chulo de XBian, pero creo que me dará más flexibilidad y control sobre todo.

Bueno, lo primero es descargar la última versión de Raspbian desde aquí y luego proceder con la copia en una tarjeta SD que tengo de 4GB siguiendo las instrucciones de una de las primeras entradas y que podéis ver aquí.

Ahora arranco la Raspberry con la tarjeta recién preparada habiéndole conectado previamente un teclado y un monitor (o televisor) ya que por defecto Raspbian no trae el servicio SSH iniciado. Dicen que lo hacen así porque todo el mundo conoce el usuario y contraseña por defecto (pi, raspberry) pero yo creo que sería más sencillo si lo hicieran y no nos forzaran a conectar un monitor y teclado para luego habilitar SSH y poder hacer tranquilamente la instalación en remoto. En fin…

Raspi-config

Lo primero que se nos presenta la primera vez es la conocida como raspi-config, una pequeña utilidad que nos permite ciertas modificaciones que veremos en detalle más adelante. Yo lo primero que quiero es habilitar el servicio de SSH para poder conectarme tranquilamente en remoto, así que voy a Opciones Avanzadas (Advanced Options) y después al menú donde dice SSH.

Advanced Options

SSH

Habilitar servidor SSH

Como podeis ver nos pregunta si queremos habilitarlo (Enabled) o deshabilitarlo (Disabled). En mi caso pulso en Enabled.

Ya que estamos en raspi-config, aunque luego volveré a abrirlo en remoto, voy a aprovechar y hacer la expansión de la partición para que ocupe todo el espacio disponible en la tarjeta SD. Eso se hace en la primera opción del menú principal Expand filesystem.

Redimensionado de la partición

Como veis nos dice que los cambios se verán aplicados después del próximo reinicio aunque no nos fuerza a reiniciar, pero yo lo fuerzo (comando reboot) y conecto el cable ethernet. Así, después de reiniciar veo la siguiente pantalla donde puedo apreciar que ya ha sido asignada automáticamente la dirección IP 192.168.0.115.

Primer arranque con IP

Ahora ya puedo conectarme por ssh desde mi máquina usando el terminal, utilizando el usuario pi y la contraseña por defecto raspberry, y sabiendo la dirección IP que me ha mostrado el log de arranque (en mi caso 192.168.0.115).

Conexión a Raspbian con ssh

Antes de nada y por motivos de seguridad, voy a cambiar la contraseña por defecto con el comando passwd.

Cambiar contraseña

Ok. Ahora voy a volver a entrar en configuración que vimos antes mediante el comando sudo raspi-config y hago los siguientes cambios:

  • 3 Enable Boot to Desktop/Scratch >  Console Text console, requiring login (default). Para que por defecto arranque en modo consola.
  • 4 Internationalisation Options > I2 Change Timezone. Para configurar el país a efectos de fecha y hora.
  • 5 Enable Camera > Disable. Básicamente porque no la tengo.

Y ya está. Cuando le doy a Finish para salir de raspi-config me pregunta si quiero reiniciar, así que le digo que sí y espero unos segundos hasta que el servicio de ssh vuelve a responder para conectarme. Ahora busco posibles actualizaciones del sistema con el comando sudo apt-get upgrade ; sudo apt-get update (esto no podía hacerse en XBian porque podías cargarte el sistema).

Antes de liarme con la configuración de Samba y demás, voy a ir al lío a hacer la instalación de XBMC. En su sitio web (xbmc.org) encuentro que para proceder con la instalación tengo que ejecutar los siguientes comandos:

  • sudo apt-get install python-software-properties pkg-config
  • sudo apt-get install software-properties-common
  • sudo add-apt-repository ppa:team-xbmc/ppa
  • sudo apt-get update
  • sudo apt-get install xbmc

Así que los ejecuto uno a uno, respondiendo Yes cada vez que me pregunta si estoy seguro de que quiero proceder con la instalación.

Error al instalar XBMC

Como veis el update dio un error de conexión al repositorio y la instalación de XBMC ha fallado porque parece que no encuentra el paquete. Me vuelvo a meter en la página de xbmc.org y esta vez encuentro otra página (esta) que explica mucho mejor qué hay que hacer, y veo que me había dejado un montón de cosas. Así que nada, hago todo lo que dicen…

Bueno, pues después de 4 horas (exactamente 4 horas y 10 minutos) recibo un error de la compilación y cuando ejecuto el comando sudo make install me da un error.

Error de compilación

Busco en Google ese error y parece que las instrucciones que he estado siguiendo durante toda la mañana está totalmente desactualizadas. Así que navegando por la página de elinux.org encuentro otras instrucciones que añaden un repositorio y hace la instalación desde apt-get

  • sudo echo “deb http://archive.mene.za.net/raspbian wheezy contrib” > /etc/apt/sources.list.d/mene.list
  • sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-key 5243CDED
  • sudo apt-get update
  • sudo apt-get install xbmc

Después de esto ejecuto xbmc así a pelo y el sistema se queda como parado, así que me voy a la tele y veo que efectivamente XBMC está corriendo.
XBMC corriendo en Raspbian Lo único que no me gusta es que con todo el rollo anterior me da la sensación de que la instalación de Raspbian o incluso de XBMC haya quedado con basura, por lo que después de las pruebas de los subtítulos volveré a hacer una reinstalación. Total, si no tengo que recompilar no tengo que estar 4 horas mirando 🙂

Ahora tengo que montar los discos. Como uno de ellos está en formato exFAT, tengo que instalar un par de paquetes para que Raspbian lo reconozca, y lo hago con sudo apt-get install exfat-fuse exfat-utils.

Instalando fuseAhora tengo que crear los puntos de montaje para los discos. Lo hago creando los directorios /mnt/disco1TB y /mnt/disco2TB con el comando mkdir

Creando puntos de montaje

Ahora podría montarlos con el comando mount pero como quiero que se monten automáticamente después de los reinicios, lo que hago es editar el fichero /etc/fstab con el comando sudo nano /etc/fstab y escribo lo siguiente

/etc/fstabComo veis he creado dos entradas, una por cada disco, donde le indico el dispositivo (dev), el punto de montaje, el tipo de sistema de ficheros, y algunas opciones más que podemos dejar así.

Ahora reinicio y miro a ver si se han montado los discos con el comando df- h

df -h

Bien, ejecuto XBMC mediante el comando xbmc, después presiono CTRL+Z para que quede en segundo plano y me devuelva el control de la terminal y luego ejecuto el comando bg para decirle que el proceso que he dejado parado siga corriendo en segundo plano.

ejecutando XBMC en segundo plano

Ahora puedo irme a la tele y ver que XBMC está corriendo. Lo que voy a hacer ahora es añadirle la fuente de series al igual que os enseñé en esta entrada, para poder volver a probar el tema de los subtítulos.

Pueeeeeees resulta que cuando intento navegar por los menús de XBMC o se queda medio colgado o me muestra caracteres raros, así que creo que tenía yo razón con lo de que los intentos de instalaciones previas me lo iban a corromper. Una vez más tengo que capitular (por ahora). Lo que haré será volver a cargar la imagen limpia de Raspbian y luego instalar XBMC con la forma que (en teoría) funciona, a ver si así no da problemas. Parece que el premio se me resiste una vez más…

Recibir un email al finalizar una descarga

Sé que os había dicho que os hablaría de Samba, pero en esta entrada voy a explicaros de forma sencilla cómo hacer que transmission nos mande un email cuando finalice una descarga. Quizás para algunos no sea interesante, pero a mi me gusta despertarme por las mañanas y ver cuántas cosas se han descargado durante la noche.

Si recordáis la entrada anterior en la que modificamos la configuración de transmission después de su instalación (settings.json), una de las lineas nos permitía indicarle un fichero a ejecutar cada vez que finalice una descarga (script-torrent-done-filename). Pues eso es lo que vamos a usar.

Lo primero que hay que hacer (como siempre) es conectarnos a la Raspberry mediante ssh xbian@[dirección IP]

Captura de pantalla 2014-01-05 a la(s) 21.11.26

En la configuración de transmission yo ya había dejado indicado dónde se encontraba el fichero a ejecutar. Si no lo hicisteis, es buen momento para mirar la entrada anterior para ver cómo cambiarlo.

El envío de los emails lo vamos a hacer mediante el comando sendemail. En XBian no viene instalado por defecto, por lo que tenemos que hacerlo. Además, dicho comando utiliza ciertas librerías de Perl que tampoco están instaladas, así que podemos aprovechar a instalarlo todo junto mediante la ejecución de sudo apt-get install libio-socket-ssl-perl libnet-ssleay-perl perl sendemail No pasa nada si lo ejecutamos y resulta que ya estaban instalados.

Captura de pantalla 2014-01-05 a la(s) 21.15.38

Captura de pantalla 2014-01-05 a la(s) 21.15.53

Ahora debemos crear un fichero ejecutable donde indicaremos el comando para el envío del email. En mi caso me he creado una carpeta llamada scripts, y ahí voy a crear un fichero llamado download_complete.sh donde iré añadiendo cosas que quiero que se ejecuten al terminar una descarga. Para crear el fichero usamos el comando sudo nano download_complete.sh

Captura de pantalla 2014-01-05 a la(s) 21.24.23

Voy a indicaros la cadena que habrá que escribir dentro del fichero y a continuación os la explico paso a paso:

sendemail -f torrated@gmail.com -t torrated@gmail.com -u "[Transmission] Descarga finalizada" -m "Se ha completado la descarga del trabajo \n$TR_TORRENT_NAME\nHora: $TR_TIME_LOCALTIME\nFolder: $TR_TORRENT_DIR\nID: $TR_TORRENT_ID" -s smtp.gmail.com:587 -xu torrated -xp <CONTRASEÑA> -v -o username=torrated -o password=<CONTRASEÑA> -o tls=yes

Captura de pantalla 2014-01-05 a la(s) 21.25.14

  1. sendemail <-nombre del comando
  2. -f <remite>@gmail.com <-(From) direccion que envía
  3. -t <destino>@gmail.com <-(To) direccion de destino
  4. -u “[Tramission] Descarga finalizada” <-Asunto del email. Importante que esté entre comillas dobles.
  5. -m <-Lo que viene después es el texto del email, que también deberá estar entre comillas dobles.
  6. “Se ha completado la descarga del trabajo\n <-\n sirve para hacer salto de linea.
  7. $TR_TORRENT_NAME\n <-esta variable es el nombre del torrent descargado.
  8. Hora: $TR_TIME_LOCALMACHINE\n <-hora de finalización de descarga.
  9. Folder: $TR_TORRENT_DIR\n <-carpeta donde se ha descargado.
  10. ID: $TR_TORRENT_ID” <-número de ID de la descarga en la cola. Ojo, que aquí ya hay que cerrar las comillas.
  11. -s smtp.gmail.com:587 <-servidor de SMTP y puerto. Si no es gmail será diferente.
  12. -xu <usuario> <-usuario de gmail para enviar el email. Será igual a remite.
  13. -xp <contraseña> <-contraseña del usuario de gmail.
  14. -v <-(Verbose) para detallar más información en caso de fallo.
  15. -o username=<usuario> <-otra vez el usuario
  16. -o password=<password> <-otra vez la contraseña
  17. -o tls=yes <-para autenticación segura de gmail

Los campos que he marcado como <azul> son los que tendríais que modificar con vuestros propios datos. Básicamente son el usuario y contraseña. Yo en mi caso tengo puestos como dirección de origen y de destino la misma.

Una vez tenemos puesta la cadena de envío, salimos de nano utilizando CTRL+X , después le damos Y para confirmar que queremos guardar y finalmente ENTER para el nombre del fichero.

Ahora ya tenemos el fichero creado pero tenemos que hacerlo ejecutable ya que si no transmission no podría hacer nada con él. Podemos ver que por defecto los permisos que tiene un fichero creado con nano son de lectura y modificación para el propietario haciendo ls -l

Captura de pantalla 2014-01-05 a la(s) 23.28.02

Vemos que efectivamente los permisos son -rw-r–r–, que significa:

  1. <-es un archivo. Si fuera directorio sería una una d.
  2. rw- <-permisos de lectura y escritura para el propietario.
  3. r– <-permiso de solo lectura para el grupo.
  4. r– <-permiso de lectura para el resto (other).

Para que no haya líos a mi me gusta ponerle permisos de ejecución para todo el mundo, lo que se logra fácilmente con el comando sudo chmod +x download_complete.sh

Si hacemos de nuevo un listado mediante ls -l vemos que ahora aparece una x en todas las ternas, lo que significa ejecución.

Captura de pantalla 2014-01-05 a la(s) 23.29.43

Lo siguiente que podemos hacer es probar nuestro script, y para ello nada tan fácil como escribir sh seguido del nombre del fichero.

Captura de pantalla 2014-01-05 a la(s) 23.34.23

En este punto me he encontrado que a veces, igual que en este caso, puede darnos un error: invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 332

Creo que este error viene dado por un problema de incompatibilidad entre TTL y la versión de Perl instalada. La forma de solucionarlo es editar el fichero de sendemail mediante sudo nano /usr/bin/sendemail y luego modificar la linea donde dice SSLv3 TSLV1 para dejar solamente SSLv3. En mi caso la linea era la 1907, pero en vuestro caso puede variar. Para editar el fichero directamente en la linea que queremos podemos usar el comando sudo nano +1907 /usr/bin/sendemail

Captura de pantalla 2014-01-05 a la(s) 23.38.37

Captura de pantalla 2014-01-05 a la(s) 23.41.07

Ahora podemos volver a hacer la prueba de email lanzando de nuevo nuestro comando.

Captura de pantalla 2014-01-05 a la(s) 23.42.50

Aquí vemos que ahora el email ha salido, por lo que solamente nos faltaría irnos a nuestra bandeja de entrada y comprobar que efectivamente está ahí. Prometo que el próximo día os cuento cómo crear carpetas compartidas para que podamos acceder a ellas desde nuestra red local.

Instalación de Transmission

Bueno, tal como comenté en la última entrada, ahora que hemos terminado de configurar nuestra Raspberry como mediacenter y le hemos enlazado toda nuestra librería, es hora de hacer que también funcione como gestor de descargas.

Para ello yo voy a utilizar Transmission, que es un cliente bastante ligero y que funciona muy bien. Además, existe posibilidad de ir añadiendo ficheros desde cualquier otro equipo mediante su interfaz web. Yo esto lo he utilizado incluso para añadir descargas desde fuera de mi red local, lo cual es muy útil en algunos casos.

Creo que XBMC da la posibilidad de instalar Transmission como un programa dentro del propio mediacenter, pero esto es algo que no he probado y no sé muy bien cómo funciona, quizás lo investigue en profundidad en el futuro.

Antes de instalar nada nuevo siempre me gusta cerciorarme de que el sistema está totalmente actualizado. Esto nos ayudará a que no haya problemas de compatibilidad de paquetes a la hora de instalar algo nuevo.

Usando XBian, la forma de hacerlo será yendo a Sistema > Ajustes > XBian > Update

20131228-203802.jpg

20131228-203826.jpg

20131228-203840.jpg

Aquí podemos ver tanto si el kernel de nuestro sistema está actualizado como si lo están los paquetes adicionales.

20131228-204429.jpg

En mi caso tengo pendientes de instalar algunos paquetes. Podríamos ir uno a uno diciéndole que los instale, pero la forma más rápida de instarlos todos es bajando hasta el final de la lista, donde nos da una opción para actualizarlos todos.

20131228-204453.jpg

20131228-204531.jpg

Después de instalar las actualizaciones, salimos del menú. XBian hará una comprobación para ver si alguna de las actualizaciones hace necesario un reinicio del sistema. En caso de ser necesario, nos presentaría una ventana preguntando si queremos reiniciar ahora.

Una vez reiniciado (en caso de haberlo hecho), nos conectamos mediante terminal usando el comando ssh xbian@[dirección IP]

Captura de pantalla 2013-12-29 a la(s) 11.14.46

Ahora procedemos con la instalación de nuestro cliente. En nuestro caso se llama transmission-daemon, y lo instalamos con el comando sudo apt-get install transmission-daemon

Captura de pantalla 2013-12-29 a la(s) 11.15.19

El sistema comenzará con la instalación de Transmission, y una vez acabada arrancará el servicio que irá corriendo en background, llamado transmission-daemon.

Captura de pantalla 2013-12-29 a la(s) 11.15.42

Captura de pantalla 2013-12-29 a la(s) 11.16.39

En este punto tenemos nuestro gestor de descargas funcionando, pero tenemos que hacer cambios referentes a los directorios de descarga, acceso web y otros. Lo primero que haremos para realizar estos cambios será parar el servicio mediante el comando sudo /etc/init.d/transmission-daemon stop

Captura de pantalla 2013-12-29 a la(s) 11.17.07

Ahora ya podemos proceder con los cambios en la configuración, la cual se encuentra en un archivo llamado settings.json. Para editarlo ejecutamos el comento sudo nano /var/lib/transmission-daemon/info/settings.json

Captura de pantalla 2013-12-29 a la(s) 11.17.45

A continuación os pongo los cambios que he llevado yo a cabo, así como el significado de cada uno. Podéis ver que hay muchísimas más cosas a configurar, por lo que si tenéis interés podéis buscar sus significado en la página de Transmission aquí.

  1. “download-dir”: “/media/drive/torrent/finish”  <-este es el directorio por defecto de las descargas si no se indica lo contrario
  2. “download-queue-size”: 20 <-número de elementos simultáneos que se pueden descargar
  3. “incomplete-dir-enabled”: true <-esto sirve para que los archivos que aun se están descargando vayan a un directorio distinto de los ya descargados.
  4. “incomplete-dir”: “media/drive/torrent/temp” <-aquí es donde se almacenan los archivos incompletos
  5. “rpc-enabled”: true <-esto habilita la interfaz web para poder manejarlo desde un navegador
  6. “rpc-username”: “transmission” <-el nombre de usuario que usaremos para logarnos en la web
  7. “rpc-password”: “password” <-la contraseña para la interfaz web
  8. “rpc-whitelist-enabled”: false <-esto lo pondremos a true si queremos una whitelist, que sirve para que solamente ciertas direcciones IP puedan conectarse a la web de Transmission. Yo lo deshabilito porque como accedo desde el móvil y la IP cambia, entonces no podría hacerlo.
  9. “rpc-port”: 9091 <-el puerto para acceder a la web
  10. “script-torrent-done-enabled”: true <-esto es por si queremos que ejecute un script cada vez que termine una descarga.
  11. “script-torrent-done-filename”: “/home/xbian/scripts/download_complete.sh” <-este es el script. Lo explicaré más adelante en otra entrada
  12. “watch-dir”: “/var/flexshare/shares/watch-torrent” <-este es el directorio donde, si copiamos un archivo .torrent, Transmission lo añadirá automáticamente a la cola de descargas.
  13. “watch-dir-enabled”: true <-esta es la opción para habilitar la monitorización automática de un directorio en busca de archivos .torrent.

Captura de pantalla 2013-12-29 a la(s) 11.24.56

Salimos del editor mediante CTRL + C , le damos a Y cuando nos pregunte si queremos guardar y presionamos ENTER para confirmar que el nombre será el mismo.

Ahora que ya hemos hecho los cambios arrancamos de nuevo el cliente mediante el comando sudo /etc/init.d/transmission-daemon start

Captura de pantalla 2013-12-29 a la(s) 11.26.06

Si todo ha ido bien deberíamos poder acceder a la interfaz de Transmission entrando la dirección de la Raspberry en el navegador de cualquier otro equipo (ordenador, tablet o Smartphone) indicando el puerto 9091 (o el que pusierais en la configuración). Si accedeis desde el navegador de la propia Raspberry, entonces la dirección sería la localhost o 127.0.0.1 Si no lo habéis cambiado durante la configuración, el usuario por defecto es transmission y el password también es transmission

Captura de pantalla 2013-12-29 a la(s) 12.07.08Captura de pantalla 2013-12-29 a la(s) 12.07.17

Podéis hacer la prueba de añadir un archivo torrent y ver cómo empieza a bajar al directorio que habéis indicado por defecto. Lo bueno es que también admite magnet links.

Captura de pantalla 2013-12-29 a la(s) 12.08.40

Captura de pantalla 2013-12-29 a la(s) 12.10.21

Lo voy a dejar aquí de momento aunque seguro que hay una pregunta en vuestras cabezas: ¿cómo accedo al directorio donde se bajan los archivos? Esto lo veremos en la próxima entrada, aunque os adelanto la respuesta: SAMBA.