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 y darle todos los perrmisos:

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

Instalamos los paquetes necesarios:

sudo apt install deluged deluge-web -y

Vamos a crear un usuario y un grupo del sistema, sin privilegios (esto es, sin contraseña y sin acceso) para correr la aplicación:

sudo adduser --system --group deluge

Esto creará el directorio /home/deluge, que es donde se guardará la configuración del cliente.

Ahora añadiremos nuestro usuario habitual al grupo deluge para tener acceso a los ficheros descargados:

sudo adduser pi deluge

Para que estos cambios surtan efecto, conviene reiniciar:

sudo reboot

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:

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

Añadimos el siguiente texto:

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

[Service]
Type=simple
User=deluge
Group=deluge
UMask=007
ExecStart=/usr/bin/deluged -d
Restart=on-failure

# Configura el tiempo de espera antes de que el servicio se detenga forzosamente TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

Lo ponemos en marcha, lo activamos para que se arranque al reiniciar el sistema y comprobamos su estado:

sudo systemctl start deluged
sudo systemctl enable deluged
systemctl status deluged                                     [salimos pulsando la tecla q]

Si después del último comando no aparece el servicio como active (running), habrá que reiniciarlo:

sudo systemctl restart deluged

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

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

[Install]
WantedBy=multi-user.target

Al igual que el anterior, este también necesitamos arrancarlo, activarlo y comprobar su estado:

sudo systemctl start deluge-web
sudo systemctl enable deluge-web
systemctl status deluge-web                                     [salimos pulsando la tecla q]

Configurar la interfaz web

Ahora 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:

Si hacemos clic en la categoría Descargas aparecerá la ruta por defecto para guardar los torrents (/home/deluge/Downloads). Podemos cambiarla por la carpeta del disco duro que creamos al principio (/media/hdusb/torrents), pero para ello hemos de asignarle el dueño y el grupo apropiados:

sudo chown deluge:deluge /media/hdusb/torrents

En Red conviene desmarcar la casilla Utilizar puertos aleatorios para que se usen los puertos 6881 al 6891, que hemos de abrir en el router y redireccionar a la IP local de la Raspberry. En Interfaz cambiaremos la contraseña por defecto (deluge) para el acceso a la interfaz web por otra menos obvia y más compleja. 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. Aparte de esto, Deluge permite añadir complementos (plugins) para ampliar sus capacidades.

NOTA: Si observamos que no funcionan las descargas, será necesario reiniciar el servicio. Podemos hacerlo desde el Asistente de conexión que se encuentra en el menú superior (deteniendo el demonio e iniciándolo de nuevo) o bien desde la terminal mediante el comando sudo systemctl restart deluged.


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 teléfono móvil 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".

Esto sucede porque el demonio arranca antes de que se inicien otros procesos del sistema que son necesarios para que funcione el servicio. Por ello, la solución a este problema consiste, cada vez que se arranque la Raspberry Pi, en retrasar el inicio del demonio; por consiguiente, lo que tenemos que hacer es detenerlo (sudo service amule-daemon stop), esperar un tiempo prudencial y luego volver a iniciarlo (sudo service amule-daemon start). Dado que hacer esto manualmente resulta bastante tedioso, 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, por ejemplo, amule.sh:
    nano amule.sh
    e incluimos este contenido:
    #!/bin/bash
    sleep 30
    sudo service amule-daemon stop
    sleep 30
    sudo service amule-daemon start
  2. 2.- Después de guardarlo, 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 ponga en marcha o se reinicie 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.