Raspberry Pi como servidor de descargas directas con pyLoad | Algo de Linux

viernes, 8 de abril de 2016

Raspberry Pi como servidor de descargas directas con pyLoad

pyLoad es un gestor de descargas directas escrito en python.


Sus principales características son:
  • Es rápido.
  • Es ligero, lo que significa que no tiene grandes requerimientos de hardware.
  • Soporta una gran cantidad de Hosts de descarga: Rapidshare, Freakshare, Depositfiles, Youtube... (ver en su página)
  • Soporta reconocimiento de captchas, reconexión, soporte para servicios premium.
  • Soporta contenedores DLC.
  • Es multiplataforma.
  • Dispone de diferentes tipos de interfaz: web, command line o GUI
  • Y, además, es OpenSource.
Es interesante instalarlo en nuestra Raspberry Pi porque nos va a permitir gestionar nuestras descargas directas en un dispositivo de bajo consumo como es la Raspberry.

Vamos a ver cómo instalarlo en Raspbian, aunque el proceso será básicamente el mismo si usáis cualquier otras distribución basada en Debian, como por ejemplo, Raspbmc.

Para empezar, nos convertirmos en administrador:

# sudo -i

Descargamos la última versión disponible, a día de hoy:

# wget https://github.com/pyload/pyload/releases/download/v0.4.9/pyload-cli-v0.4.9-all.deb

Una vez descargado el paquete, lo instalamos:

# dpkg -i pyload-cli-v0.4.9-all.deb

Seguramente, os dará algún error porque dpkg no resuelve automáticamente las dependencias y alguno de los paquetes necesarios no se encontrará instalado aún. No importa. Simplemente ejecutamos el comando apt-get -f install para que se resuelvan las dependencias:

# apt-get -f install 

En mi caso, al realizar la instalación tan sólo faltaba el paquete `python-crypto', que se instaló sin problemas.

Bien. Pues una vez instalado el paquete y sus dependencias obligatorias, vamos a ver qué otros paquetes nos recomienda instalar. Para ello, ejecutamos:

# apt-cache show pyload-cli

El comando anterior nos mostrará una salida como la siguiente:
Package: pyload-cli
Status: install ok installed
Priority: extra
Section: net
Installed-Size: 5320
Maintainer: pyLoad Team 
Architecture: all
Version: 0.4.9
Provides: pyload
Depends: python (>= 2.5), python-pycurl, python-crypto
Recommends: unrar, rhino, python-openssl, tesseract-ocr, tesseract-ocr-eng, python-imaging
Conflicts: pyload
Description: pyLoad without GUI dependencies, fast and lightweight Download-Manager
 pyLoad is a fast, lightweight and full featured download manager
 for many One-Click-Hoster,container formats like DLC, 
 video sites or just plain http or ftp links.
Homepage: http://pyload.org

Si os fijáis en la parte que os he resaltado en amarillo, el paquete pyload-cli nos recomienda instalar los siguientes paquetes:
  • unrar
  • rhino
  • python-openssl
  • tesseract-ocr
  • tesseract-ocr-eng
  • python-imaging
Vamos a instalar todos ellos mediante apt-get, salvo unrar:

# apt-get install rhino python-openssl tesseract-ocr tesseract-ocr-eng tesseract-ocr-spa python-imaging

Si os dáis cuenta, he instalado también de paso tesseract-ocr-spa.

No he instalado unrar desde los repositorios porque el paquete de los repositorios es unrar-free y será mejor instalar unrar-nonfree, que descomprime mayor número de archivos rar puesto que descomprime también archivos a partir de la versión 3.0. 

Para instalar unrar-nonfree, añadís el repositorio de código fuente, si no lo teníais añadido ya:

# echo "deb-src http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi" >> /etc/apt/sources.list

A continuación hacemos un:

# apt-get update

Instalamos las dependencias necesarias para crear el paquete:

# apt-get -y build-dep rar unrar-nonfree

Y creamos el paquete unrar-nonfree a partir del repositorio de código fuente:

# apt-get source -b unrar-nonfree

Cuando termine el proceso, instalamos el paquete:

# dpkg -i unrar_4.1.4-1_armhf.deb

Y borramos el resto de archivos de unrar creados durante el proceso, que ya no vamos a necesitar:

# rm -r unrar-nonfree*

A continuación, dejamos de ser administrador:

# exit

Entramos en el directorio /usr/share/pyload:

$ cd /usr/share/pyload/

Y arrancamos pyload:

$ ./pyLoadCore.py 

Como es la primera vez que lo ejecutamos y no existe el fichero de configuración, se iniciará el asistente de configuración. Lo primero que tendremos que hacer es elegir el idioma del instalador:


Y cuando estemos listos, pulsar ENTER:


Si os fijáis en la imagen anterior, nos recuerda que, una vez configurado pyload, podemos volver a ejecutar el asistente de configuración iniciando pyLoadCore.py con el parámetro --setup o -s:

$ ./pyLoadCore.py -s

Lo primero que hará el asistente será revisar el sistema para comprobar si tenemos todo lo necesario:


Como hemos hecho bien los deberes, nos mostrará todas las características que hemos instalado y que, por tanto, se encuentran disponibles:


Pulsamos ENTER para continuar con el asistente. Nos mostrará la ruta donde se guardará la configuración: /home/pi/.pyload


Como no nos interesa cambiarla, pulsamos ENTER.

A continuación nos preguntará si deseamos realizar la configuración básica:


Pulsamos ENTER para realizarla e introducimos un nombre de usuario y una contraseña con los que vamos a tener acceso vía CLI, GUI y WEB:


Como véis en la imagen anterior, nos ofrece como opción por defecto "Activar acceso remoto". Pulsamos ENTER para aceptarlo. Y, a continuación, elegimos algunas opciones básicas:


A continuación pulsamos ENTER para configurar la interfaz web. Si dejamos la que nos ofrece por defecto (0.0.0.0) escuchará en todas las interfaces. Podemos especificar una dirección IP concreta. Eso sí, nos advierte de que si usamos la dirección de localhost, tan sólo podrá accederse a la interfaz web localmente:


Siguiendo las indicaciones de la pantalla anterior, pulsaremos ENTER para dejar la opción por defecto (usar el servidor web incorporado), y, si por alguna razón no funcionara, podemos volver a esta pantalla de nuevo para configurarlo.

Y con ésto, hemos terminado la configuración:


Pulsamos ENTER para salir del asistente.

A continuación, podemos lanzar de nuevo pyLoadCore en modo daemon:

$ ./pyLoadCore.py --daemon

Y comprobar si funciona, abriendo un navegador en cualquier equipo de nuestra red, indicando la dirección IP de la Raspberry Pi y el puerto de escucha que configuramos: 
http://ipServidor:8000


Por último, introducimos los datos del usuario que especificamos en la configuración:



Y comprobamos que podemos entrar:


Por último, para lograr que pyLoad se inicie automáticamente cada vez que se reinicia la Raspberry, editamos el crontab del usuario:

$ crontab -e

Y añadimos la siguiente línea:


@reboot pyLoadCore –daemon

Publicado por primera vez en http://enavas.blogspot.com.es

9 comentarios:

Miguel Angel Sanchez Moran Iturralde dijo...

Exelente Aporte....MUCHAS GRACIAS

Cesar Malaver dijo...

Amigo, sigo todos tus pasos pero cuando quiere descargar algo no lo hace, apenas esta iniciando la descarga se termina y no descarga.

arzur dijo...

Hola!, yo tambien pude instalarlo pero cuando agrego un link no lo descarga, los pasa a la cola de descargas pero no arrancan nunca

Esteban M. Navas Martín dijo...

¿Qué comprobaciones habéis hecho? ¿Habeis revisado los logs?

Pablo dijo...

Muchas gracias, viene muy bien explicado.

Añadir que hay que instalar el paquete python-qt4.

"sudo apt-get install python-qt4"

Un saludo

rasputin dijo...

hola un post muy bueno, pero la descarga del cliente es ahora por aqui:

https://github.com/pyload/pyload/releases/download/v0.4.9/pyload-cli-v0.4.9-all.deb

Esteban M. Navas Martín dijo...

Modificado. Gracias!!!!

Python Diario dijo...

Excelente entrada, gracias por la info.
Saludos, Diego ;)

Kurro cfa dijo...

tengo un problema funciona todo bien pero no se autoicia al encender