Etiquetado: ssh

Raspberry Pi; Montando algo más que un media center (parte 3)

Esta es la tercera entrada del tutorial Raspberry Pi; Montando algo más que un media center.
Puedes acceder desde aquí al resto de entradas de este tutorial publicadas hasta la fecha:

Instalación del cliente bittorrent: Transmission

Transmission (Web Oficial) es un pequeño cliente bittorrent que instalaremos y configuraremos para que corra en la distribución linux, gestionaremos las descargas mediante su interfaz Web.
Para instalar transmission utilizaremos apt-get vía SSH:

sudo apt-get update
sudo apt-get install transmission-daemon

Alternativamente también puedes optar por la versión más ligera que han compilado la gente de xbian:

sudo apt-get install xbian-package-transmission

Esto dejará instalado y funcionando el servicio Transmission.

Varios comandos útiles:

  • Detener el servicio transmission:
    sudo service transmission-daemon stop
  • Iniciar el servicio transmission:
    sudo service transmission-daemon start
  • Reiniciar el servicio transmission:
    sudo service transmission-daemon restart
  • Comprobar el estado actual del servicio:
    sudo service transmission-daemon status
  1. Configuración de transmission y permisos:

    Antes de hacer totalmente funcional el servicio tenemos que editar el archivo de configuración:

    1. Detenemos primero el servicio para poder editar la configuración:
      sudo service transmission-daemon stop
    2. Abrimos el archivo para editarlo:

      /etc/transmission-daemon/settings.json

      Yo para editar estos ficheros uso FileZilla con el puerto y las credenciales del SSH por SFTP.

      Y editamos los siguientes valores:

      • download-dir: Carpeta donde transmission guardará las descargas.
      • incomplete-dir: Carpeta donde transmission guardará los archivos incompletos.
      • incomplete-dir-enabled: Poner a true para que transmission utilice la carpeta incomplete-dir.
      • peer-port: El puerto que utiliza tranmission para descargar torrents, se debe configurar en las NAT del router.
      • rpc-username: Nombre de usuario de la interfaz Web.
      • rpc-password: Contraseña de la interfaz Web, la escribimos plana que transmission ya se encargará de encriptarla al próximo incicio.
      • rpc-port: Puerto de la interfaz Web.
      • rpc-whitelist-enabled: Importante ponerlo en false si queremos acceder a la interfaz Web desde cualquier ip.

      Estos son los que yo considero más importantes, pero échale un ojo a todas las variables, son muy intuitivas.

      Tienes la explicación completa de todas las variables en el siguiente enlace: https://trac.transmissionbt.com/wiki/EditConfigFiles (inglés).

    3. Cambiamos el usuario que iniciará transmission modificando el fichero:

      /etc/init.d/transmission-daemon

      Cambiamos el valor de USER a root, si no hacemos esto transmission lanzará un error de permisos al iniciar las descargas.
    4. Ahora ya podemos volver a arrancar transmission con la nueva configuración:
      sudo service transmission-daemon start

    La interfaz Web de transmission ya debería funcionar, en mi caso sería: http://192.168.1.50:9091.

    Almacenar las descargas en disco USB o Pendrive:

    XBian monta automáticamente los discos usb, si lanzamos el siguiente comando:

    df -h

    Podremos ver nuestra unidad en el listado, algo como /media/usb0.

    Esta es la ruta de nuestro disco, con acceso root.

    Almacenar las descargas en una unidad de red SMB:

    Nota: es necesario haber instalado antes Samba, se explica en este mismo tutorial, un poco más arriba.

    1. Crear una carpeta vacía donde veremos el contenido de la unidad de red:
      mkdir -p /mnt/descargas

      Reemplaza descargas por el nombre que quieras para tu carpeta.

    2. Editar el fichero /etc/fstab, añadimos la siguiente linea al final:
      //192.168.1.40/descargas /mnt/musica cifs user=admin,pass=1234,rw 0 0

      La primera ruta corresponde a la ruta de la carpeta SMB remota, la segunda es la que hemos creado previamente, cambia los valores de user y pass por los correspondientes.

    3. Ahora solo falta recargar fstab para que haga efecto sin tener que reiniciar:
      mount -a

      Ya tenemos montada la carpeta remota descargas en /mnt/descargas, podemos probarlo listando el contenido por ejemplo:

      ls /mnt/descargas

      Podemos ver todas las unidades montadas con el comando:

      df -h

      Que producirá un listado similar a:

      Filesystem Size Used Avail Use% Mounted on
      rootfs 15G 941M 14G 7% /
      /dev/mmcblk0p2 15G 941M 14G 7% /
      tmpfs 38M 280K 38M 1% /run
      tmpfs 5.0M 0 5.0M 0% /run/lock
      tmpfs 10M 0 10M 0% /dev
      tmpfs 75M 0 75M 0% /run/shm
      /dev/mmcblk0p1 34M 11M 24M 32% /boot
      //192.168.1.50/series 3.7T 2.5T 1.2T 68% /mnt/series
      //192.168.1.50/peliculas 3.7T 2.5T 1.2T 68% /mnt/peliculas
      //192.168.1.50/musica 3.7T 2.5T 1.2T 68% /mnt/musica
      //192.168.1.50/descargas 3.7T 2.5T 1.2T 68% /mnt/descargas
      //192.168.1.50/incoming 3.7T 2.5T 1.2T 68% /mnt/incoming
      //192.168.1.50/juegos 3.7T 2.5T 1.2T 68% /mnt/juegos
      //192.168.1.50/software 3.7T 2.5T 1.2T 68% /mnt/software

      En mi caso, utilizo incoming para almacenar los archivos temporalmente mientras se descargan, una vez completados (y si no está flexget de por medio) pasan a descargas, de todo esto se encarga transmission.

    Automatizando las descargas con Flexget

    Flexget (Web Oficial) es un servicio que se ejecutará con la frecuencia que parametricemos y buscará en las fuentes rss que especifiquemos contenido que coincida con los criterios configurados para añadirlos a transmission, también es posible mover ficheros una vez completados así como enviar notificaciones, el formato del fichero de configuración de bastante complejo por lo que goza de muchas posibilidades y con una simple búsqueda en Google aparecen cientos de ejemplos.

    Veamos como instalar Flexget en XBian:

    1. Instalar flexget:
      sudo apt-get update
      ssudo apt-get install python-pip
      sudo pip install flexget

      Atualizamos el módulo python de transmission:

      sudo easy_install –upgrade transmissionrpc

      Si todo ha ido bien obtendremos la versión lanzando el siguiente comando:

      flexget -V

      Debería respondernos con un You are on the latest release conforme tenemos la última versión de flexget instalada.

    2. Archivo de configuración:
      Creamos una carpeta para el archivo de configuración:

      mkdir /root/.flexget

      Ahora tenemos que crear un archivo de configuración en esa ubicación (/root/.flexget) siguiendo el protocolo descrito en la Web Oficial: http://flexget.com/wiki/Configuration.

      Aquí pongo un ejemplo de un archivo de configuración que revisa tu cuenta de showRSS buscando los episodios nuevos de las series allí configuradas y los añade a transmission, luego envía un email con los torrent añadidos. Se pueden hacer maravillas con este archivo de configuración, internet está lleno de ejemplos y cada uno tiene sus necesidades, así que este queda como un mero ejemplo:

      1. Regístrate en showRSS: http://showrss.karmorra.info/.
      2. Añade tus series en la pestaña Your Shows.
      3. Consigue tu identificador accediendo a feeds → your feed address → Generate, verás el user_id en la URL del RSS (un número de 6 dígitos normalmente).
      4. Creamos el fichero config.yml en la ruta /root/.flexget/ modificando los valores de las variables por los que correspondan a tus credenciales del correo, tu cuenta de tranmission, tus series y demás, he marcado en rojo los valores que deberías modificar:
        presets:
        global:
        # Configuración de los parámetros del correo
        # Puedes deshabilitar el envio estableciendo: active a False.
        email:
        active: True
        from: tucorreo@gmail.com
        to: tucorreo@gmail.com
        smtp_host: smtp.gmail.com
        smtp_port: 587
        smtp_login: true
        smtp_username: tucorreo@gmail.com
        smtp_password: tupassworddecorreo
        smtp_tls: true
        tasks:
        download-rss:
        rss: http://showrss.karmorra.info/rss.php?user_id=tu_id_de_showRSS
        all_series: yes
        # Limita a 10 el número de espisodios (por cada llamada)
        limit_new: 10
        # Configuración del servidor transmission
        transmission:
        host: localhost
        port: 9091
        username: tu_usuario_de_transmission
        password: tu_password_de_transmission
        removewhendone: no

        sort-files:
        find:
        # Descargas de transmission
        path: /mnt/descargas/
        regexp: ‘.*\.(avi|mkv|mp4)$’
        accept_all: yes
        seen: local
        thetvdb_lookup: yes
        all_series:
        parse_only: yes
      5. Creamos una tarea cron para que se ejecute el script de flexget una vez cada hora:
        crontab -e

        y añadimos la siguiente linea al final del fichero (Ctrl+X para grabar y salir):

        @hourly /usr/local/bin/flexget –cron

        Puedes aprender más sobre como funciona cron en este artículo: Cron & Crontab, explicados.

    Pronto la cuarta entrega…

    Esta es la tercera entrada del tutorial Raspberry Pi; Montando algo más que un media center.
    Puedes acceder desde aquí al resto de entradas de este tutorial publicadas hasta la fecha:

Raspberry Pi; Montando algo más que un media center (parte 2)

 

Esta es la segunda entrada del tutorial Raspberry Pi; Montando algo más que un media center.
Puedes acceder desde aquí al resto de entradas de este tutorial publicadas hasta la fecha:

Primer arranque de XBian y configuración inicial.

Nota: Es importante conectar el cable de red antes de arrancar XBian por primera vez, nos facilitará las cosas aunque no es imprescindible.

Después de instalar XBian en la SD usando nuestro ordenador personal, insertamos la SD en la Raspberry Pi y arrancamos el sistema. Raspberry Pi no tiene botón de encendido ni de reinicio, por lo que con el simple hecho de proporcionarle alimentación eléctrica se iniciará.

XBMC arranca a la primera, sin preguntas salvo un mensaje de bienvenida, ya podemos utilizar el mando a distancia siempre y cuando sea compatible tu TV con el sistema CEC, si no es así podemos utilizar un teclado USB, si aún no lo has conectado, cuando lo hagas lo más probable es que Raspberry Pi se reinicie, don’t panic!.

Si notas que va algo lento, es normal, está actualizando los Addons que vienen instalados por defecto.

Contunuar leyendo