Subido por Orlando Escribano Baigorri

Servicio MLDonkey en Raspberry Pi

Anuncio
Raspberry Pi como servidor
Servicio MLDonkey
Raspberry Pi como servidor
Servicio MLDonkey
R.23.6
@aula30x@masto.es
Indice
0 Escenario.......................................................................................................................................................1
1 MLDonkey....................................................................................................................................................2
1.1 Instalación............................................................................................................................................2
1.2 Primeras comprobaciones..................................................................................................................3
2 Configuración básica..................................................................................................................................4
2.1 Acceso a la interfaz web desde cualquier máquina.......................................................................4
2.2 Contraseña del administrador..........................................................................................................4
2.3 Carpetas de descargas........................................................................................................................4
3 Descargar archivos......................................................................................................................................5
4 Gestionar las descargas desde el móvil....................................................................................................7
5 Apéndice. mldonkey-server vs mlnet......................................................................................................7
6 Referencias...................................................................................................................................................8
0 Escenario
•
•
Hardware:
◦ Raspberry Pi 1 Modelo B
Software:
◦ MLDonkey 3.1.3
1/8
Raspberry Pi como servidor
Servicio MLDonkey
1 MLDonkey
1.1
Instalación
Instalación.
apt-get install mldonkey-server
En la carpeta /var/lib/mldonkey encontramos los archivos de configuración y las carpetas de
descargas.
La configuración se realiza en una serie de archivos .ini
pi@guara ~ $ ls /var/lib/mldonkey/*.ini
/var/lib/mldonkey/bittorrent.ini
/var/lib/mldonkey/searches.ini
/var/lib/mldonkey/bt_dht.ini
/var/lib/mldonkey/servers.ini
/var/lib/mldonkey/directconnect.ini /var/lib/mldonkey/shared_files.ini
/var/lib/mldonkey/donkey.ini
/var/lib/mldonkey/shared_files_new.ini
/var/lib/mldonkey/downloads.ini
/var/lib/mldonkey/statistics.ini
/var/lib/mldonkey/fasttrack.ini
/var/lib/mldonkey/stats_bt.ini
/var/lib/mldonkey/files.ini
/var/lib/mldonkey/stats.ini
/var/lib/mldonkey/file_sources.ini
/var/lib/mldonkey/stats_mod.ini
/var/lib/mldonkey/fileTP.ini
/var/lib/mldonkey/users.ini
/var/lib/mldonkey/friends.ini
Por ejemplo, uno de los parámetros importantes que debemos conocer es el puerto para la
administración vía web.
Fichero /var/lib/mldonkey/donwloads.ini
http_port = 4080
Los directorios de descargas también están ubicados en /var/lib/mldonkey:
temp
donde se guardan los archivos mientras se están descargando
incoming/directories
donde se guardan los directorios ya descargados (1)
incoming/files
donde se guardan los archivos ya descargados (2)
(1) Típico de redes torrent, cuyas descargas pueden ser carpetas completas, sin
necesidad de estar comprimidas en un único archivo
(2) Típico de redes donkey, en las cuales se descargan archivos individuales,
usualmente comprimidos
Las carpetas que el usuario comparte para el resto de usuarios de la red P2P son, dentro también
de /var/lib/mldonkey:
shared
incoming/directories
incoming/files
2/8
Raspberry Pi como servidor
Servicio MLDonkey
Todas las carpetas son propiedad del usuario mldonkey y tienen los siguientes permisos:
drwxr-xr-x 2 mldonkey mldonkey
Probablemente el servicio no arranque automáticamente y ni siquiera nos permita arrancarlo con
el parámetro start y tengamos que utilizar la opción force-start
service mldonkey-server start
Starting MLDonkey: mlnet.
MLDonkey: mlnet [ERROR] configuration file prevent mlnet to be started
(use force-start).
service mldonkey-server force-start
1.2
Primeras comprobaciones
Listar los puertos que utiliza el servicio:
pi@guara ~ $ sudo netstat -ltnp | grep mlnet
tcp
0
0 0.0.0.0:4000
0.0.0.0:*
tcp
0
0 0.0.0.0:4001
0.0.0.0:*
tcp
0
0 0.0.0.0:6881
0.0.0.0:*
tcp
0
0 0.0.0.0:6882
0.0.0.0:*
tcp
0
0 0.0.0.0:17797
0.0.0.0:*
tcp
0
0 0.0.0.0:4080
0.0.0.0:*
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
Comprobar el archivo de log:
/var/log/mldonkey/mlnet.log
pi@guara ~ $ tail -n 4 /var/log/mldonkey/mlnet.log
2019/11/22 12:34:41 [cCO] Options correctly saved
2019/11/22 12:49:41 [cCO] Options correctly saved
2019/11/22 13:04:41 [cCO] Options correctly saved
2019/11/22 13:19:41 [cCO] Options correctly saved
Comprobar que podemos acceder a la interfaz web mediante http://localhost:4080
3/8
1950/mlnet
1950/mlnet
1950/mlnet
1950/mlnet
1950/mlnet
1950/mlnet
Raspberry Pi como servidor
Servicio MLDonkey
2 Configuración básica
2.1
Acceso a la interfaz web desde cualquier máquina
Para acceder a la interfaz web, sólo está permitido hacerlo por localhost (o la IP 127.0.0.1), ni
siquiera utilizando la IP de la propia interfaz Ethernet se permite el acceso.
Acceso mediante la URL http://192.168.1.21:4080
Mensaje de error:
403 Forbidden
Connection from 192.168.1.21 rejected (see downloads.ini, allowed_ips)
Para permitir el acceso a la interfaz web y que nos sea permitido desde cualquier equipo:
Fichero /var/lib/mldonkey/downloads.ini
El parámetro:
allowed_ips = [ "127.0.0.1";]
Cambiarlo por:
allowed_ips = [ "0.0.0.0";]
2.2
Contraseña del administrador
Cuando accedemos a la interfaz web, MLDonkey nos avisa del riesgo de que “el admin no tiene
todavía contraseña”
Para corregir esta situación, tenemos que dar de alta al usuario admin en el propio cuadro de
introducción de comandos de la interfaz web y pinchar en el botón Input.
2.3
Carpetas de descargas
Si queremos cambiar los directorios de descargas a otra ubicación con mayor capacidad (por
ejemplo, a un disco duro externo conectado a la Raspberry), lo único que tenemos que hacer es
crear enlaces a la nueva ubicación y mantener los permisos como estaban en la ubicación original.
Ejemplo: para dejar todas las descargas en un único directorio del disco duro en /mnt/discoduro.
Crear los enlaces:
/var/lib/mldonkey/incoming/directories -> /mnt/discoduro/descargas/incoming/
/var/lib/mldonkey/incoming/files
-> /mnt/discoduro/descargas/incoming/
/var/lib/mldonkey/temp
-> /mnt/discoduro/descargas/temp/
4/8
Raspberry Pi como servidor
Servicio MLDonkey
Y dejar los permisos como estaban antes, en todas las carpetas:
drwxr-xr-x 2 mldonkey mldonkey
3 Descargar archivos
La interfaz web de MLDonkey es muy rudimentaria, pero perfectamente funcional. Existen
algunas programas cliente GUI (como Sancho, por ejemplo) que permiten utilizar este servicio con
mayor comodidad pero la interfaz web integrada nos permite algo muy interesante: conectarnos
desde cualquier máquina utilizando un simple navegador.
Para descargar un archivo, vamos a la sección Search, escribimos el texto del archivo que
queremos buscar y pinchamos en el botón Search.
El servicio envía la consulta.
5/8
Raspberry Pi como servidor
Servicio MLDonkey
Ahora tenemos que pinchar en Search results para ver la lista de los archivos que ha encontrado,
pinchamos en el que queramos y se inicia la descarga.
Conviene escoger un archivo que tenga bastantes fuentes, para lo cual, podemos ordenar la lista
por disponibilidad (A = Availability) o por fuentes completas (C = Complete sources).
Cuando pinchamos en un archivo, éste empieza a descargarse. Podemos ver la lista de descargas y
su progresión en Transfers.
6/8
Raspberry Pi como servidor
Servicio MLDonkey
Las tres letras que aparecen a la izquierda de cada archivo en descarga sirven para:
P
pausar la descarga
R
reanudar la descarga
C
cancelar la descarga
Si queremos, por ejemplo, detener la descarga de un archivo y eliminarlo, activamos la casilla C y
pinchamos en Submit changes.
4 Gestionar las descargas desde el móvil
Para poder utilizar un programa GUI para conectarnos al servidor, tenemos que habilitar el puerto
4001.
En el fichero downloads.ini
gui_port = 4001
Si queremos deshabilitarlo: gui_port = 0
En nuestro caso, probamos MLAndroid, una app GUI que nos permite conectarnos a nuestro
servidor desde el móvil. Es una app sencilla pero funcional que quizá ya ni siquiera esté en
GooglePlay y haya que buscar otra similar o buscar otro repositorio alternativo y descargar
directamente el archiv APK. En todo caso, todas deberían funcionar de la misma manera.
5 Apéndice. mldonkey-server vs mlnet
A raíz de unos fallos recurrentes que no pudimos corregir, optamos por esta solución:
1. Eliminar la carpeta de configuración “/var/lib/mldonkey”
2. Iniciar el servicio mediante el comando “mlnet”
Este modo crea la carpeta y archivos de configuración en el directorio personal del usuario
“$HOME/.mldonkey”
7/8
Raspberry Pi como servidor
Servicio MLDonkey
Antes de la v2.6.1, MLdonkey guardaba los archivos de configuración en el directorio
actual.
Ahora, los “*.ini” se guardan en “$HOME/.mldonkey” (a menos que esté configurado el
parámetro $MLDONKEY_DIR)
Para arrancar el servicio de forma básica:
$ mlnet
Para arrancar el servicio en modo demonio, corriendo en segundo plano:
$ mlnet > /dev/null 2>&1 &
6 Referencias
[Tutorial] mldonkey-server en Raspberrypi - Raspberry Pi Forums
https://forums.raspberrypi.com//viewtopic.php?t=13447
HowToStartMLdonkey - MLDonkey (sourceforge.net)
https://mldonkey.sourceforge.net/HowToStartMLdonkey
8/8
Descargar