hits counter
Este sitio web utiliza cookies para obtener estadísticas de navegación. Si sigue adelante, consideraremos que acepta su uso. Acepto | Más información

P2P:



Transmission

Transmission es un programa cliente-servidor para el intercambio de archivos torrents en redes P2P. Existen distintas versiones de este programa. Vamos a instalar la que se maneja a través del navegador mediante una interfaz web. Esta versión se instala en el sistema como un servicio o "demonio" (daemon en inglés), por lo que consume muy pocos recursos, además de poseer la ventaja añadida de que podemos usarlo sin tener un escritorio instalado, esto es, usando la versión Raspberry Pi OS Lite.

Como lugar donde guardar los torrents, podemos utilizar un disco duro USB conectado a la Raspberry Pi (si no lo tenemos instalado, aquí se explica cómo formatearlo y montarlo). Suponiendo que lo hemos montado en la ruta /media/hdusb, sólo tendremos que crear dentro de ella una carpeta específica para almacenar las descargas y otorgarle luego los permisos adecuados:

cd /media/hdusb
sudo mkdir torrents
sudo chmod 777 torrents

Para instalar Transmission simplemente escribiremos este comando:

sudo apt install transmission-daemon

Una vez instalado, arrancará automáticamente, así que para configurarlo, antes hay que detenerlo:

sudo service transmission-daemon stop

Ahora podemos realizar la configuración del servicio. Para ello editamos el fichero correspondiente:

sudo nano /etc/transmission-daemon/settings.json

Las líneas indicadas a continuación son las que debemos comprobar o cambiar en este fichero. Al hacerlo, hay que tener en cuenta que, por motivos de seguridad, en rpc-password y rpc-username deberíamos poner una contraseña y un nombre distintos de los que aparecen por defecto. El tamaño de la memoria caché (cache-size-mb) conviene aumentarlo, pues así se tendrán que hacer menos accesos al dispositivo de almacenamiento (aunque, por contra, aumentará el consumo de memoria RAM). En cuanto a peer-port y rcp-port, estos parámetros corresponden, respectivamente, al puerto de conexión para las descargas de torrents y al puerto de acceso a la interfaz web de Transmission. Podemos cambiarlos o dejar los que vienen por defecto. Tras estas modificaciones, el resultado quedaría así:

“cache-size-mb”: 12,
"download-dir": "/media/hdusb/torrents",
"incomplete-dir-enabled": false,
"peer-port": 44027,
"rpc-authentication-required": true,
"rpc-bind-address": “0.0.0.0″,
"rpc-enabled": true,
"rpc-password": "contraseña",
"rcp-port": 9091,
"rpc-username": "nombre",
"rpc-whitelist-enabled": false,

Guardamos el fichero con los cambios realizados (Ctrl+o, Intro, Ctrl+x), arrancamos de nuevo el servicio:

sudo service transmission-daemon start

y ya podemos acceder mediante el navegador del PC a la interfaz web de Transmission, escribiendo como dirección la IP local de nuestra Raspberry, seguida por dos puntos (:) y el puerto 9091 indicado antes:

192.168.1.33:9091

En la parte superior veremos una barra de iconos:

El primero por la izquierda es el que nos permite añadir los torrents, bien sea examinando nuestro disco duro hasta localizar el fichero o bien escribiendo directamente su URL.

En la parte inferior tenemos otra barra con varios iconos más pequeños:

El segundo por la izquierda (el que representa una herramienta) es el que nos permite configurar Transmission de una forma gráfica. Pero aquí (contrariamente al fichero de configuración que vimos antes) las posibilidades de configuración son más limitadas. Entre las cosas que podemos modificar está, por ejemplo, la ruta de la carpeta de descargas, el límite de velocidad para las bajadas y subidas o el puerto para las descargas, que, como es de rigor, deberemos redireccionar en el router a la IP de la Raspberry.

Además de usar el navegador, también podemos utilizar una aplicación externa llamada Transmission Remote para gestionar las descargas. En el caso de Windows, se puede bajar de SourceForge, y si usamos un smartphone o una tableta digital con sistema operativo Android, podemos descargar la app del mismo nombre desde Google Play (Transmission Remote) u otra como Remote Transmission, que es muy similar a la anterior.

Recibir un email al terminar las descargas

Algo muy interesante que podríamos añadir ahora es la posibilidad de recibir un correo electrónico cuando se hayan descargado cada uno de los torrents que se están bajando. Dicho correo nos indicará el nombre del fichero o carpeta que se acaba de descargar en nuestra Raspberry.

Para lograrlo, lo primero que hemos de hacer es seguir los pasos para instalar un sistema de envío de correos desde la terminal. Una vez hecho esto, detenemos Transmission para realizar algunos cambios:

sudo service transmission-daemon stop

Vamos a editar el fichero de configuración:

sudo nano /var/lib/transmission-daemon/info/settings.json

y a modificar estas dos líneas, de manera que queden así:

"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/usr/local/bin/aviso.sh",

Creamos (en la ruta indicada en la línea anterior) el fichero que enviará el aviso por email:

cd /usr/local/bin/
sudo nano aviso.sh

cuyo contenido será este:

#!/bin/bash
echo "$TR_TORRENT_NAME descargado" | mail -s "Transmission" micorreo@gmail.com

Ahora le cambiamos los permisos y el dueño al archivo que acabamos de crear:

sudo chmod 755 aviso.sh
sudo chown pi aviso.sh

Cambiaremos también el propietario por defecto de las descargas. Para ello editamos el siguiente fichero:

sudo nano /etc/init.d/transmission-daemon

y dentro del mismo modificamos el usuario que, en adelante, será el dueño de las descargas:

USER=pi

Por último, cambiamos el propietario de los ficheros de configuración y de la carpeta de descargas:

sudo chown pi -R /var/lib/transmission-daemon/info/
sudo chown pi -R /etc/transmission-daemon/settings.json
sudo chown pi -R /media/hdusb/torrents/

No debemos olvidar reiniciar el servicio antes de poder usar Transmission de nuevo:

sudo service transmission-daemon restart



qBittorrent

qBittorrent es una aplicación cliente-servidor para el intercambio de archivos torrents en redes P2P. Existen distintas versiones de este programa. Vamos a instalar la que se maneja a través del navegador mediante una interfaz web. Esta versión se instala en el sistema como un servicio o "demonio" (daemon en inglés), por lo que consume muy pocos recursos y tiene la ventaja, además, de que no necesita un SO con escritorio, es decir, que funciona con la versión Lite de Raspberry Pi OS.

Como lugar donde guardar los torrents, podemos utilizar un disco duro USB conectado a la Raspberry Pi (si no lo tenemos instalado, aquí se explica cómo formatearlo y montarlo). Suponiendo que lo tenemos montado en la ruta /media/hdusb, sólo tendremos que crear dentro de ella una carpeta específica para almacenar las descargas y otorgarle luego los permisos adecuados:

cd /media/hdusb
sudo mkdir torrents
sudo chmod 777 torrents

Hecho lo anterior, ya podemos instalarlo con este comando:

sudo apt install qbittorrent qbittorrent-nox -y

Vamos a configurar el demonio o servicio para que se ejecute tras cada arranque del sistema, para lo que crearemos el siguiente archivo:

sudo nano /etc/systemd/system/qbittorrent.service

En él incluiremos este contenido:

[Unit]
Description=qBittorrent Daemon Service
After=network.target

[Service]
Type=forking
User=pi
ExecStart=/usr/bin/qbittorrent-nox -d

[Install]
WantedBy=multi-user.target

A continuación arrancamos el servicio y comprobamos que esté corriendo:

sudo systemctl start qbittorrent.service
sudo systemctl status qbittorrent.service

Salimos pulsando la tecla q.

Finalmente lo activamos:

sudo systemctl enable qbittorrent.service

Reiniciamos el sistema para comprobar que se inicia correctamente tras el arranque:

sudo reboot

Ahora ya podremos entrar en la interfaz web escribiendo la IP de la Raspberry seguida de dos puntos (:) y el puerto 8080:

192.168.1.33:8080

Usaremos el login por defecto, que es el nombre de usuario admin y la contraseña adminadmin:

Una vez hayamos entrado en la interfaz de la aplicación, en el menú Herramientas -- Opciones podremos configurarla a nuestro gusto, modificando lo que creamos oportuno:

En las diversas pestañas tenemos la posibilidad de cambiar, por ejemplo, la ubicación para las descargas, el protocolo usado, el puerto para las conexiones entrantes, los límites de velocidad de bajada/subida, el nº máximo de descargas y subidas activas, el puerto de acceso a la interfaz web o el nombre y la contraseña para acceder a la misma, entre otras muchas cosas.

Para abandonar la interfaz web, vamos al menú Archivo y pinchamos en Salir.


Información extra

Además de usar el navegador, también podemos recurrir a una app externa para gestionar las descargas desde el smartphone o la tableta digital con sistema operativo Android. La podemos descargar desde Google Play y se llama qBittorrent Controller.

Por otro lado, puede resultarnos útil conocer la ubicación de algunos ficheros: el de configuración se encuentra en /home/pi/.config/qBittorrent/qBittorrent.conf, mientras que los que contienen los logs y otros detalles están situados en la carpeta /home/pi/.local/share/data/qBittorrent/.




Deluge

Deluge es, como las anteriores, otra aplicación cliente-servidor para el intercambio de archivos torrents en redes P2P. También posee distintas versiones y, al igual que en los otros casos, vamos a utilizar la que se instala en el sistema como un servicio o "demonio" y se maneja a través del navegador mediante una interfaz web. Como sabemos, esto tiene la ventaja de que consume muy pocos recursos y además no necesita un SO con escritorio, por lo que funciona con la versión Lite de Raspberry Pi OS.

Para guardar los torrents que descarguemos podemos utilizar, como en los caso anteriores, un disco duro USB conectado a la Raspberry Pi (si no lo tenemos instalado, aquí se explica cómo formatearlo y montarlo). Suponiendo que lo tenemos montado en la ruta /media/hdusb, sólo tendremos que crear dentro de ella una carpeta específica para almacenar las descargas:

cd /media/hdusb
sudo mkdir torrents

Instalamos la aplicación:

sudo apt install deluged deluge-web -y

Usar Deluge como un servicio

Crearemos un nuevo fichero para configurar el servicio deluged y que el demonio se ejecute automáticamente en cada arranque, en cuanto se establezca una conexión de red:

sudo nano /etc/systemd/system/deluged.service

Añadimos el siguiente texto, en el que incluimos al usuario debian-deluged que se crea al instalar la aplicación:

[Unit]
Description=Deluge Daemon
After=network-online.target

[Service]
Type=simple
User=debian-deluged
Group=debian-deluged
UMask=002
ExecStart=/usr/bin/deluged -d
Restart=on-failure
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

Y lo activamos:

sudo systemctl enable deluged.service

A continuación haremos lo mismo con el servicio deluge-web, que activará la interfaz web cada vez que se inicie el sistema:

sudo nano /etc/systemd/system/deluge-web.service

Incluiremos este texto:

[Unit]
Description=Deluge Web Interface
After=network-online.target deluged.service
Wants=deluged.service

[Service]
Type=simple
User=debian-deluged
Group=debian-deluged
UMask=002
ExecStart=/usr/bin/deluge-web
Restart=on-failure

[Install]
WantedBy=multi-user.target

Al igual que el anterior, este también necesitamos activarlo:

sudo systemctl enable deluge-web.service

Configuración y permisos

La primera vez que se ejecuta Deluge genera sus propios archivos de configuración en el directorio /var/lib/deluged, perteneciente al usuario debian-deluged. Así pues, arrancamos ambos servicios:

sudo systemctl start deluged
sudo systemctl start deluge-web

y comprobamos que se han activado:

sudo systemctl status deluged                             [salimos pulsando q]
sudo systemctl status deluge-web                       [salimos pulsando q]

Ahora los detenemos para hacer algunos cambios:

sudo systemctl stop deluged
sudo systemctl stop deluge-web

Añadimos el usuario pi al grupo debian-deluged para que tenga acceso a las descargas:

sudo usermod -aG debian-deluged pi

Es necesario que los ficheros de configureación que se creen tengan el dueño y grupo correctos:

sudo chown -R debian-deluged:debian-deluged /var/lib/deluged

Y que tengan los permisos adecuados:

sudo chmod -R 770 /var/lib/deluged

Para evitar posibles errores, también el subdirectorio de descargas debe tener el dueño y grupo apropiados:

sudo chown debian-deluged:debian-deluged /media/hdusb/torrents

y tener además los permisos necesarios:

sudo chmod 770 /media/hdusb/torrents

Finalmente reiniciamos para que los cambios surtan efecto:

sudo reboot

Configurar la interfaz web

Una vez reiniciado el sistema, comprobamos que se han activado los servicios:

sudo systemctl status deluged                             [salimos pulsando q]
sudo systemctl status deluge-web                       [salimos pulsando q]

Y ya podemos acceder a la interfaz web mediante la IP local de la Raspberry seguida del puerto 8112:

192.168.1.33:8112

La contraseña por defecto es deluge:

Se nos preguntará si queremos cambiarla. Pulsaremos, de momento, en No, pues la cambiaremos más adelante:

Y por último, aparecerá la ventana con el asistente de conexión. Seleccionamos el servidor que se nos ofrece y pulsamos en el botón Connect:

Ya podemos proceder a configurar el servicio pulsando en el botón Preferencias del menú superior, que nos abrirá una ventana con todas las Categorías y las opciones disponibles en cada una:

Lo básico que tenemos que configurar es lo siguiente: en la categoría Descargas pondremos la ruta que vamos a usar para guardar los torrents (/media/hdusb/torrents); en Interfaz cambiaremos la contraseña por defecto (deluge) para el acceso a la interfaz web por otra menos obvia y más compleja; y en Demonio podemos cambiar, si lo deseamos, el puerto para las descargas, que hemos de abrir en el router y redireccionar a la IP local de la Raspberry. Después podremos mirar con detenimiento las demás opciones de configuración y modificar aquellas que consideremos oportuno, con especial atención a las categorías Ancho de banda y Cola.

Para salir de la interfez web, pinchamos en el botón Logout que se encuentra en el extremo derecho del menú superior.


App para Android

Además de usar el navegador, también es posible recurrir a una aplicación externa para gestionar las descargas desde el smartphone o la tableta digital con sistema operativo Android. Podemos descargar el fichero APK directamente desde este enlace o instalar la app a través del repositorio F-Droid.




aMule

aMule es un programa cliente-servidor para el intercambio de ficheros P2P, libre y multiplataforma, que funciona tanto con la red eDonkey como con Kademlia. Esta aplicación es el resultado de portar el cliente eMule de Windows al sistema operativo Linux.

Lo instalamos con este comando:

sudo apt install amule amule-daemon

Veremos que se van a instalar una gran cantidad de paquetes, debido a las muchas dependencias que posee esta aplicación, sobre todo si usamos la versión Lite de Raspberry Pi OS.

Tenemos que crear un usuario específico para el programa:

sudo adduser amule

De los datos que se nos piden, el más importante es la contraseña, que tendremos que escribir dos veces. Luego ponemos un nombre (amule mismo, por ejemplo). El resto lo podemos dejar por defecto pulsando Intro.


Configuración inicial

Vamos a comenzar la configuración editando un primer fichero:

sudo nano /etc/default/amule-daemon

En él configuramos dos líneas que están sin completar, y lo haremos de la siguiente forma:

AMULED_USER="amule"
AMULED_HOME="/home/amule"

Ya podemos arrancar el servicio:

sudo service amule-daemon start

Ahora escribiremos una contraseña para acceder a la interfaz web de aMule y generaremos su correspondiente código md5:

echo -n contraseña_amule | md5sum

Es muy importante que apuntemos la contraseña elegida y el código md5 generado (sin el - final). Luego reiniciamos la Raspberry:

sudo reboot

A continuación nos desplazamos a la subcarpeta oculta que hay dentro del /home del nuevo usuario que hemos creado antes:

cd /home/amule/.aMule

Aquí se encuentra el fichero de configuración de aMule, que vamos a editar:

sudo nano amule.conf

Buscamos las siguientes líneas (con Ctrl+w) y las dejamos configuradas tal y como se indica a continuación:

AcceptExternalConnections=1
ECPassword=ef2738329ac3318daf3f3737372be             [código md5 generado antes]
[WebServer]
Enabled=1
Password=ef2738329ac3318daf3f3737372be                [el mismo código md5 anterior]
Port=8011                                                                        [ponemos un puerto distinto del 80]

Acabada la configuración, reiniciamos de nuevo:

sudo reboot

Interfaz web de aMule

Ya podemos entrar en la interfaz web de aMule escribiendo su IP y el puerto 8011 que indicamos antes en la configuración:

http://192.168.1.33:8011

Nos pedirá la contraseña (la que anotamos antes) y, tras escribirla y pulsar en Submit, aparecerá una página similar a esta:

En los botones de arriba se pueden ver qué archivos nos estamos bajando, gestionar los servidores en los que estamos conectados, buscar y bajar archivos nuevos… y realizar una configuración muy básica pinchando en configuration (arriba, en el menú de iconos, a la derecha).


Configuración por medio de un programa cliente

Sin embargo, para poder llevar a cabo una configuración mucho más completa y detallada será necesario bajarnos el cliente que se corresponda con el sistema operativo que usemos habitualmente:

  1. 1.- Para Windows podemos descargar la versión 2.3.1 desde este enlace y ejecutar el archivo AmuleGUI.exe que se encuentra entre la lista de ficheros.
  2. 2.- En el caso de Linux instalaremos, desde los repositorios, el paquete amule-utils-gui.

Cuando ejecutemos el cliente (el de Windows en nuestro caso), aparecerá una ventana como esta:

Introducimos los datos referidos a la IP de la Raspberry, el puerto (dejamos el que viene por defecto) y la contraseña. Al pulsar en el botón Connect veremos esto:

Para configurar correctamente aMule pinchamos en el icono Preferences. Se nos abrirá una ventana y en ella tendremos que hacer las modificaciones necesarias e introducir los datos requeridos para que el servicio funcione de la forma que esperamos.

En el apartado Connection indicamos el ancho de banda para las descargas y las subidas. También debemos poner los puertos que usaremos; podemos dejar los que vienen por defecto o cambiarlos (siempre dentro del rango entre el 4500 y el 5000): el puerto Standard TCP Port, el UDP port for server requests (el sistema suma automáticamente 3 al anterior) y el Extended UDP Port. Estos puertos, naturalmente, tendremos que abrirlos en el router y redirigirlos a la IP de la Raspberry.


Carpeta de descargas y carpetas compartidas

Antes de seguir con el proceso de configuración, conviene hacer un par de cosas. En primer lugar, debemos saber que aMule tiene configurada una carpeta por defecto en la que almacena las descargas, que está en la siguiente ruta:

/home/amule/.aMule/Incoming

Sin embargo, lo lógico es usar un disco duro USB conectado a nuestra máquina, ya que de esta forma tendremos una gran capacidad de almacenamiento y además evitaremos que se dañe prematuramente la tarjeta microSD por los constantes accesos a la misma. En este enlace de nuestra web se explica cómo hacer este proceso (localizar la unidad de HD, formatearla y montarla).

En nuestra caso vamos a montar la unidad de disco en la ruta /media/hdusb, y ahí crearemos una carpeta específica para guardar todo lo que descarguemos:

cd /media/hdusb
sudo mkdir amule
sudo chmod 777 amule

Por otro lado, también sería muy útil y práctico instalar el servidor Samba para poder acceder a los ficheros descargados por aMule desde cualquier dispositivo de nuestra red local. Podemos hacerlo fácilmente como explicamos aquí.

Una vez realizado todo lo anterior, ya podemos volver al cliente y configurar el directorio o carpeta de descargas. En el apartado Directories escribimos la Destination folder for downloads y la Folder for temporary download files, que en nuestro caso será la misma, la que hemos creado antes (/media/hdusb/amule), como se puede ver en la imagen de más abajo.

En Shared folders aparecerán las carpetas que deseamos compartir. Para añadir dichas carpetas, detenemos momentáneamente el servicio:

sudo service amule-daemon stop

Creamos la carpeta (o carpetas) compartida:

cd /media/hdusb
sudo mkdir compartidos

Luego editamos el siguiente fichero:

sudo nano /home/amule/.aMule/shareddir.dat

y escribimos una línea con la ruta completa de cada carpeta compartida:

/media/hdusb/compartidos

Guardamos los cambios y arrancamos de nuevo el servicio:

sudo service amule-daemon start

Entramos en el cliente y en Preferences - Directories ahora veremos tanto la capeta de descargas como la carpeta compartida que acabamos de añadir:

Además, en el menú superior de iconos, en Shared files, aparecerán, una vez que hayan sido indexados, todos los ficheros que estamos compartiendo:

Por supuesto, en la carpeta compartida podemos añadir nuevos ficheros o borrarlos. Cuando hagamos esto, será necesario actualizar el listado que se muestra aquí pulsando en el botón Reload que se encuentra a la derecha de la ventana.


Finalizando la configuración desde el cliente

Volvemos de nuevo a Preferences y en el apartado Files activamos las 3 últimas casillas consecutivas que se muestran en esta imagen:

Después accedemos al apartado Security. Aquí, opcionalmente, podemos activar la casilla Accept only obfuscated connections, lo nos proporcionará fuentes de descarga más seguras, pero como contrapartida obtendremos un número mucho menor de ellas, por lo que queda al criterio de cada uno el activarla o no. Lo que sí haremos, más abajo, es marcar las casillas Filter clients y Filter servers. Justo debajo de esta última escribimos la siguiente URL:

http://upd.emule-security.org/ipfilter.zip

Este fichero ZIP contiene una larga lista de instituciones u organismos (como la SGAE española o la ASCAP norteamericana) que espían a los usuarios de programas P2P para saber qué descargan.

Finalmentee, en el apartado Servers activamos la casilla Auto-update server list at startup, pinchamos en el botón List y escribimos la siguiente URL que contiene una lista de servidores:

http://upd.emule-security.org/server.met

Ya sólo nos queda salir del cliente y reiniciar el servicio para empezar a usar aMule:

sudo service amule-daemon restart

Problemas de inicio y solución

Algunos usuarios se encuentran con el problema de que el servicio no se inicia correctamente durante el arranque de la Raspberry y, como consecuencia, tampoco es posible ejecutar el cliente (ni en Windows ni en Linux). Podemos percatarnos también de este problema si entramos en la interfaz web y pulsamos en el enlace de configuration que hay a la derecha del menú de iconos: aparecerán todas las casillas como "undefined".

La solución a este problema consiste, cada vez que se arranque la Raspberry Pi, en detener el demonio (sudo service amule-daemon stop), esperar unos 60 segundos aproximadamente y volver a iniciarlo (sudo service amule-daemon start). Dado que este proceso es bastante tedioso si lo hacemos manualmente, lo mejor es automatizarlo: creamos un script con las instrucciones anteriores y lo ejecutamos en cada reinicio por medio de cron. Lo haremos de esta forma:

  1. 1.- En /home/pi creamos un fichero de script llamado amule.sh con este contenido:
    #!/bin/bash
    sudo service amule-daemon stop
    sleep 60
    sudo service amule-daemon start
  2. 2.- Le damos permiso de ejecución:
    chmod u+x amule.sh
  3. 3.- Editamos el fichero de configuración de cron:
    crontab -e
    y al final del mismo añadimos una línea para que se ejecute el script cada vez que se inicie la Raspberry:
    @reboot /home/pi/amule.sh > /dev/null 2>&1

A partir de ahora, tras cada arranque, damos tiempo a que se reinicie correctamente el servicio y ya podremos acceder a aMule a través del cliente.