Tutorial de Mldonkey: P2P MultiRed

+1
0
-1

Hola, he decidido hacer un tutorial sobre Mldonkey. Aunque se puede descargar de los repositorios a mi por lo menos instalandola asi no me funcionaba bien, asi que en el tutorial explico como compilarlo.

Mldonkey es un cliente compatible con la red edonkey, que ademas como principal ventaja tiene que tambien se puede conectar a otras redes como,

-Overnet
-Kademlia
-BitTorrent
-FastTrack (Kazaa)
-Gnutella
-Gnutella2
-FileTP (descarga desde HTTP y FTP)
-DirectConnect (alpha)
-OpenNapster (alpha)
-SoulSeek (beta)
-AudioGalaxy (defunct)

A parte de su capacidad multired, el principal atractivo de este P2P es que el nucleo del programa y la GUI (Interfaz grafica) funcionan por separado. Esto nos permite hacer que el nucleo se ejecute como un servicio del sistema, esto es, que se arranque al iniciar el PC y se cierre al apagarlo, sin que nosotros nos tengamos que preocupar de nada, y sin tener ninguna ventana abierta. Cuando necesitemos ver como van nuestras descargas no tenemos mas que abrir nuestra GUI favorita y mirar. El que el nucleo y la interfaz grafica esten separados tambien nos da la posibilidad de controlar Mldonkey desde un ordenador que no sea el que tiene el nucleo instalado. Esto es ideal para cuando nos vamos de vacaciones, podemos seguir añadiendo descargas aunque estemos en San Petersburgo.

Cuando decidi probar Mldonkey vi que apenas habia documentacion dirigida a una persona que no sabe de que va el tema. En su pagina web hay una Wiki, que ahora que controlo medianamente Mldonkey la entiendo, pero es muy complicada para un novato. Ademas de eso apenas hay tutoriales en castellano y son todos muy escasos. Por eso, ahora que despues de investigar bastante por hay he conseguido hacerlo andar, he decidido crear este hilo, para que otras personas que esten interesadas en Mldonkey lo tengan mas facil que yo.

Mldonkey esta disponible para Linux, Mac OSX y Windows. Su desarrollo se hace en Linux y luego se porta a las demas plataformas, por lo que la version que funciona mejor y la que tiene las ultimas novedades es la de Linux.

Antes de nada decir que este programa aunque manejable por cualquier persona que le ponga un poco de interes, no es un programa demasiado "amigable" y desde luego no un programa de instalar y a correr. Es un programa en constante desarrollo, la red edonkey funciona perfectamente , pero las otras estan en diferentes grados de desarrollo, por eso es recomendable estar antento a parches y nuevas versiones.

============================================================================

-Descargar el nucleo del programa:

Para descargar el nucleo debemos ir a la pagina MLDonkey Cores Spiralvoice: http://ftp.berlios.de/pub/mldonkey/spiralvoice/. Alli tenemos que elegir que nucleo queremos instalar. Lo primero que hay que decidir es si vamos a compilar nosotros el nucleo o si vamos a usar los binarios precompilados que ofrece esa web. A mi los binarios me funcionaron bien, pero fui incapaz de hacer que funcionaran como servicio del sistema (a partir de ahora demonio, que es como se les llama en Linux). Por eso yo os recomiendo que compileis vosotros el nucleo, ya que no es nada complicado y os asegurais una total compatibilidad con vuestra distribucion de Linux. Lo siguiente que hay que elegir es la serie que vamos a usar. Como nucleos estables se ofrecen la serie 2-5-16x y la 2-5-28-1. Hay gente que dice obtener mejores resultados con la 2-5-16x, pero yo para hacer este manual me voy a basar en la 2-5-28-1, que es la que yo uso, y me va muy bien. La rama 2-5-30-1 es la inestable o en pruebas, por lo que se recomienda no usarla a no ser que quieras hacer de beta tester.

Antes de comenzar la instalacion tenemos que decidir donde queremos instalar Mldonkey, y poner las fuentes del nucleo en esa carpeta.

============================================================================

-Parchear el nucleo:

Si la serie que hemos elegido dispone de algun parche es imprescindible parchear el nucleo antes de compilarlo. Podemos encontrar los parches en la misma pagina que los nucleos. Para aplicar el parche se necesita tener instalado en el sistema autoconf:

Ponemos en la misma carpeta las fuentes y el parche descomprimido y:

$patch -p0 -E < patch_file
$cd config
$autoconf
$cd ..

Donde patch_file seria el nombre del parche.

============================================================================

-Compilar el nucleo:

Es necesario tener instalado zlib, zlib-dev y m4, y si queremos usar la GUI que viene con el nucleo tenemos 2 opciones, instalar ocaml-base, ocaml-native-compilers, liblablgtk-ocaml y todas sus dependencias (recomendado) o hacer que durante el proceso de instalacion se nos instale todo eso en nuestra carpeta donde vamos a instalar Mldonkey. Esta ultima opcion requiere descargar unos cuantos megas cada vez que compilemos un nucleo nuevo, mientras que con la anterior solo tienes que hacerlo la primera vez.

-Teniendo todo instalado en nuestro sistema:

$export OCAMLRUNPARAM="l=256M"
$./configure
$make depend
$make

-Instalando todo lo necesario localmente en nuestra carpeta Mldonkey:

$./configure -enable-batch
$make depend
$make

-Sin soporte para la GUI oficial.

$./configure
$make depend
$make

En este momento ya tenemos instalado Mldonkey en nuestro sistema, enhorabuena!
Si habeis llegado hasta aqui ya habeis hecho lo mas dificil.

============================================================================

-Hacer que se ejecute como demonio (Si no vas a usarlo de esta forma puedes saltarte este paso):

Hay varias formas de hacerlo, yo os cuento como lo hice yo. En esta pagina, MLDonkey start/stop script: http://www.lsi.usp.br/~dulley/mldonkey/, teneis un Script que nos va a resultar de mucha utilidad. Se necesita tener instalado bash, ps, wc, grep, awk y netcat.

Editamos el script poniendo el path hacia nuestro directorio Mldonkey y nuestro nombre de usuario. Despues como root copiamos el script a /etc/init.d/ y hacemos:

#chmod +x /etc/init.d/MLDonkey
#update-rc.d MLDonkey defaults

Y se usa de la siguiente manera:

$/etc/init.d/MLDonkey start (Para arrancarlo)
$/etc/init.d/MLDonkey stop (Para pararlo)
$/etc/init.d/MLDonkey restart (Para reiniciarlo)

============================================================================

-Como ponerlo en marcha:

Si lo habeis instalado como demonio siempre que arranqueis el PC Mldonkey estara en marcha, y al apagar el PC se cerrara correctamente. En cambio si no lo vais a usar de esta forma teneis que ejecutar ./mlnet desde la carpeta en la que lo instalasteis. Si lo ejecutais desde la terminal no la cerreis, y nunca cerreis el programa a lo bestia, la forma correcta de cerrarlo es introduciendo el comando kill, desde telnet o utilizando algunas de las opciones que incorporan las GUIs. En el siguiente punto aclaro todo lo referente a las GUIs y el telnet.

============================================================================

-Formas de controlar Mldonkey

Ahora que ya lo tenemos instalando empieza la tarea de configuracion. Pero como vamos a configurar algo que no podemos ver? En este punto voy a tratar de explicaros un poco las diferentes posibilidades que hay a la hora de controlar Mldonkey:

Interfaz Telnet:

Esta es la manera mas friki de hacerlo,... por comandos. Para acceder a la interfaz telnet debeis escribir telnet localhost 4000, en la terminal, y para cerrar la interfaz se utiliza el comando q. Atencion, cerrar la interfaz telnet no cierra el nucleo. Para cerrarlo debemos usar el comando kill, que nos cerrara tanto el nucleo como la interfaz telnet.

Interfaz Web:

Esta es una manera bastante curiosa de controlar Mldonkey. Poniendo http://localhost:4080/ en la barra de direcciones de nuestro navegador accedemos a una sencilla pero potente interfaz grafica que nos permite configurar y controlar nuestro Mldonkey. Cerrando la interfaz web tampoco cerramos el nucleo, para esto debermos pinchar sobre Kill core en la pestaña Help+.

GUI:

Esta es la manera mas normal de controlar Mldonkey. Hay varias GUIs, y todas cojean por alguna pata, asi que la eleccion de la GUI a utilizar la dejo a vuestra cuenta, probar unas cuantas y elegir la que mejor os vaya. Las pricipales GUIs son:

-Sancho: http://sancho-gui.sourceforge.net/
-Kmldonkey: http://kmldonkey.org/

El uso de las diferentes GUIs es muy intuitivo, no creo que haya nada que explicar, simplemente deciros que algunas GUIs se pueden configurar para que el nucleo se ejecute al abrirlas y se apague al cerrarlas, de tal manera que estariamos usando Mldonkey como si se tratase de un programa "normal". En caso de que no configuremos asi nuestra GUI acordaros de que al cerrarla el nucleo sigue abierto y de que no se debe cerrar a lo bestia. Podeis tener instaladas varias GUIs a la vez, y usar las opciones que mas os gusten de cada una para las diferentes tareas.
Si compilasteis el nucleo con soporte para la GUI oficial la forma de arrancarla seria ejecutando mlgui en la carpeta Mldonkey.

============================================================================

-Configurando Mldonkey:

Hay diferentes maneras de configurar Mldonkey, se puede hacer desde la GUI, desde la interfaz web, desde Telnet introduciendo comandos o editando manualmente los archivos de configuracion. Normalmente si lo configuramos desde nuestra GUI no suele haber problemas, pero cada una de las GUIs que existen tiene algun problema con algun parametro, o incluso hay veces que no dan opcion de modificar un valor en concreto. Con esto no quiero decir que vayais a estropear algo, sino que os puede pasar que por ejemplo cambieis la velocidad de subida desde la GUI y al reiniciar siga el valor anterior.

Por eso la forma mas segura de cambiar un valor es o bien editar los ficheros de configuracion (con el nucleo parado), o desde Telnet introduciendo comandos. Tambien las opciones de configuracion de la interfaz web son bastante fiables, desde aqui cada vez que cambiemos un valor tenemos que pulsar enter y despues darle a save.

Nota: Todas las GUIs incluyen un apartado llamado consola. Utilizar la consola o la interfaz telnet es lo mismo, por eso cuando digo que algo lo podeis hacer desde telnet, tambien lo podeis hacer desde la consola de vuestra GUI. A partir de ahora me referire a ambas formas como hacer las cosas por Comandos.

-Definiendo nuestra carpeta temporal:

Para decirle a Mldonkey donde queremos que guarde los ficheros temporales, desde la interfaz web ir a Options - Files.

-Importando los temporales de eMule:

Introducir el comando import_temp ruta_hacia_nuestra_carpeta_temporal_de_eMule

Muy Importante: Si importamos los temporales de eMule no podemos volver a usarlos con eMule, aunque no nos guste Mldonkey tendremos que acabar las descargas que teniamos a medias con el.
Otra cosa muy importante que teneis que saber antes de importar vuestros temporales es la siguiente: Despues de haber importado los temporales es normal que algunas descargas, o todas, nos aparezcan con el nombre cambiado por su hash, ej: 4ds58re34f5f8r566f4f6f4 y con el porcentaje de descarga bien al 0% o al 100%. Tranquilos no pasa nada y es normal, a medida que Mldonkey encuentra fuentes, va recomponiendo los nombres de los archivos y ajusta el porcentaje descargado al que realmente teniamos antes. Normalmente al de un par de horas de haber importado los temporales ya nos a recompuesto la mayoria de los archivos, y algun fichero suele tardar mas, pero lo normal es que en 24 horas ya tengais todo como antes. Depende de las fuentes que tengan los archivos.

-Compartiendo directorios y definiendo el incoming:

Antes de empezar a compartir directorios tenemos que decidir si queremos que por defecto se comparta el directorio y todas las subcarpetas que incluya. Si queremos esa opcion no tenemos que hacer nada, es la opcion que viene por defecto. Si la queremos cambiar para que no se compartan las subcarpetas tenemos que editar el archivo downloads.ini, con el nucleo parado:
Buscamos la seccion donde pone:

(************************************)
(* SECTION : Paths *)
(* Paths options *)
(************************************)

Y donde pone:

default_sharing_strategy = all_files

lo cambiamos por:

default_sharing_strategy = only_directory

Una vez elegida la forma de compartir podemos empezar a añadir carpetas compartidas, para eso desde la interfaz web vamos a options - shares - add share. Se nos abrira una ventana en la que tenemos que introducir la ruta hacia la carpeta compartida de la siguiente manera:

0 /ruta_hacia_la_carpeta opcion

Donde las posibles opciones son, all_files, only_directory y release_dir. El significado de las opciones respectivamente es, compartir subcarpetas, no compartir subcarpetas y poner los ficheros de ese directorio en lanzamiento. El numero que va delante de la ruta hacia la carpeta es la prioridad de subida que queremos darle a los archivos del directorio, cuanto mayor sea el numero mas prioridad.

Es importante tener en cuenta que Mldonkey asume que tu incoming de edonkey es el primer directorio que compartes. Los archivos de las demas redes aparecen en carpetas con el nombre de la red dentro de tu incoming. Para cambiarlo desde la interfaz web ir a options y en plugins elegir la red que queramos cambiar y poner la ruta en la casilla commit_in_subdir. La ruta que pongamos empieza desde nuestro "incoming general", asi que no poner nada equivale a que los archivos de esa red te aparezcan en tu incoming de edonkey.

-Habilitar redes:

Las redes que bienen activadas por defecto en Mldonkey son edonkey (sin overnet ni kademlia), BitTorrent y FileTP (descarga desde HTTP y FTP). Para activar las demas desde la interfaz web vamos a options - net y ponemos en true las que queramos. Desde hay solo se pueden habilitar Edonkey, Overnet, Kademlia, BitTorrent, FastTrack (Kazaa), Gnutella, Gnutella2 y FileTP. Para habilitar DirectConnect, OpenNapster y SoulSeek tenemos que editar el archivo downloads.ini, con el nucleo parado y buscar la seccion donde pone:

(************************************)
(* SECTION : Networks *)
(* Networks options *)
(************************************)

Y cambiar false por true en las redes que queramos. De todas formas estas redes estan muy verdes y en mi opinion no merece la pena habilitarlas, pero bueno, cada uno que haga lo que quiera. El desarrollo de la red AudioGalaxy a sido abandonado por razones obvias.

-Añadir nodos a Overnet:

Para que Overnet funcione no basta con habilitarla, hay que añadirle nodos. La forma de añadirlos es introduciendo el comando ov_boot ip puerto, donde ip es la ip del nodo y puerto el puerto del nodo. Las direcciones de los nodos las podeis encontrar aqui: http://www.edk2000.com/onb_list.php. Meterlas todas en una rayada, pero solo hay que hacerlo una vez y merece la pena, con Overnet activado Mldonkey encuentra muchisimas mas fuentes que sin el.

-Añadir elinks desde Firefox:

Hay una extension que nos permite asociar los elinks con Mldonkey, la podeis encontrar aqui, Mozilla MLdonkey Protocol Handler: http://www.informatik.uni-oldenburg.de/~dyna/mldonkey/

-Añadir elinks por comandos:

Util si no usamos Firefox o para añadir torrents, que no son soportados por la extension de añadir elinks:

dllink ruta_hacia_el_elink_o_el_torrent

El torrent puede estar en la web o en tu disco duro.

-Bloqueo de IPs malignas (Lease SGAE, ACAM y RIAA):

Desde la interfaz web options - all y en la casilla ip_blocking poner la ruta hacia nuestro fichero con formato guarding.p2p.

-No dejar que los demas usuarios vean nuestros archivos compartidos:

Desde la interfaz web options - files y en la casilla allow_browse_share cambiar el 2 por un 0 para que nadie vea nuestros archivos compartidos o por un 1 para que solo los vean nuestros amigos.

Nota: Como con cualquier P2P teneis que abrir los puertos en el Firewall para que funcione y es importante saber que las dos ultimas series de Mldonkey tienen un bug por el cual hay que poner los valores de subida aproximadamente al doble del valor que queramos subir.

============================================================================

Bueno, se acabo el tutorial. Yo creo que queda bastante claro como dar los primeros pasos con Mldonkey, a partir de aqui os quedan muchas opciones por descubrir, pero eso ya lo dejo a vuestra cuenta. Que quede claro que no soy ningun guru del Mldonkey, asi que si creeis que hay algun fallo o que algo podria estar mejor explicado comentarlo por favor.

Para mas informacion la web oficial: http://mldonkey.berlios.de/

Liet

Comentarios

Imagen de Anónimo

No me funciona el script de iniciar o parar el demonio, me dice esto que tengo a continuación, pero no ejecuta el demonio:

root@kubuntu:~ # /etc/init.d/MLDonkey start
Starting mldonkey:
root@kubuntu:~ #

Que puede ser? :(

Imagen de Liet-Kynes

¿Estas seguro de que no lo tienes arrancado?

Mira en el monitor del sistema si tienes un proceso llamado mlnet.
Si esta, es que ya lo tienes funcionando.

suerte

Imagen de Anónimo

No. Solo me funciona si lanzo el ./mlnet logueado como usuario mldonkey (tuve que darle permisos /bin/sh en vez de /bin/false).
Si lo ejecuto a manoplin de esa manera no me da problemas. He seguido todos los pasos que indicas excepto el de compilar el tar.gz ya que si vas a la url de spiralvoice los últimos cores vienen compilados y listos para usar.

¿¿Qué puedo hacer??

Imagen de Liet-Kynes

En el tutorial puedes leer que yo nunca consegui que los nucleos precomilados me funcionaran como demonio.

Ademas ayer me compile la ultima version, la 2.5.30-17 y veo que el script que puse en el tutorial no funciona con esta version.

Asi que si quieres usarlo como demonio usa la serie 2.5.28 o la 2.5.16 compiladas por ti. Sino tambien lo que puedes hacer es lo que he hecho yo como solucion temporal, te creas un script que dentro tenga esto:

#!/bin/sh
cd /RUTA_HACIA_LA CARPETA_MLDONKEY
./mlnet

y pones en el inicio de sesion de Gnome que se ejecute al inicio. La unica pega es que tienes que acordarte de cerrar el nucleo de Mldonkey manualmente antes de apagar el ordenador, porque no es bueno cerrarlo a lo bestia.

Cuando tenga tiempo y investigue un poco actualizare el tutorial para adecuarlo a los cambios de la nueva version.

saludos

Imagen de Anónimo

Probaré a compilar el 2.5.16, ahora desde debian. No entiendo porque algo tan sencillo a veces puede resultar tan complicado :(

Gracias por tu ayuda :)

Imagen de Anónimo

Prueba a borrar el archivo .pid dentro de /usr/lib/mldonkey (o algo asi, yo lo uso en debian) y los .tmp a ver si te furrula.
-krusher

Imagen de aitorcalero

Excelente tutorial, ¡enhorabuena!

Comencé a usar mldonkey porque amule no me iba bien en mi equipo, y además cuando vi las características que tenía me pareció muy intersante, sin embargo, no sabía muy bien como funcionaba hasta que lei este tutorial.

Sin embargo, tengo un par de dudas que quizá tu me pudieras aclarar:

En la lista de servidores conectados solo me aparecen 4 ¿es normal?, además en emule había una forma de que actualizara los servidores al iniciar el equipo, ¿aquí tambien?

Muchos de los archivos que me quiero descargar están todo el tiempo pausados, ¿es normal?

Imagen de Anónimo

"Mldonkey es un cliente compatible con la red edonkey, que ademas como principal ventaja tiene que tambien se puede conectar a otras redes como,

-Overnet
-Kademlia
-BitTorrent
-FastTrack (Kazaa)
-Gnutella
-Gnutella2
-FileTP (descarga desde HTTP y FTP)
-DirectConnect (alpha)
-OpenNapster (alpha)
-SoulSeek (beta)
-AudioGalaxy (defunct) "

Pero vamos a ver, a dia de hoy no se conecta a muchas de estas redes, verdad?? Por lo que he leido por ahi es lo que esta en proyecto. Yo de momento he conseguido descargar torrents y "edonkeys" con mldonkey, pero por ejemplo con la red soulseek no hay manera, Y con estas 3 redes ya me conformaria. Me equivoco?

Imagen de Anónimo

Muy Importante: Si importamos los temporales de eMule no podemos volver a usarlos con eMule, aunque no nos guste Mldonkey tendremos que acabar las descargas que teniamos a medias con el.

Por si a alguien le sirve: los temporales se pueden importar.
Basta con copiar el archivo .part a tu carpeta temp de mldonkey, por ejemplo /var/lib/mldonkey/temp y renombrarlo para que coincida con el hash.

Para conocer este Hash podeís verlo en eMule o buscarlo en el archivo downloads.txt de eMule. En cada linea aparece algo así:

001.part|Nombre del Archivo|Otros|Datos|....|HASH|\

Es la última sequencia de dígitos y números (la larga), que nos interesa.
En este caso cambiariamos el nombre de 001.part por lo que diga HASH.

Luego reiniciamos el núcleo de mldonkey.

Imagen de Anónimo

Para completar esto, en el wiki de mldonkey.org ay 1 apartado dedicado a debian, no es complicado.
http://mldonkey.sourceforge.net/CompileForDebian

Imagen de Anónimo

Muy buen tutorial para aquellos que apenas comenzamos. Felicidades!

Mi inquietud es la siguiente, cuando inicio el demonio (mediante ./mlnet) y me conecto a la interface web (http://localhost:4080) me aparece el aviso "Connected to 0 servers on the Donkey network " cuando voy a "Servers", pero aún así puedo realizar la busqueda y descarga de archivos, ¿esto es normal?, ¿cómo lo puedo solucionar?, además ¿cuál debería ser la velocidad de descarga (en KB/s) si todo anda bien?

Muchas Gracías.

Imagen de Anónimo

no se si he seguido bien todos los pasos pero al darle a ./configure me sale en la parte final esto....

checking for _LARGE_FILES value needed for large files... no
checking for ranlib... ranlib
checking for gmake... no
checking for make... no
configure: error: GNU make not found

q puede ser? gracias...

Imagen de Anónimo

Te falta instalar el make / gmake

Imagen de Anónimo

Saludo, lo que pasa es que acabo de instalar ubuntu en mi equipo pero no sé por donde iniciar los comandos, una cosa:no la he tocado para nada (puesto o quitado programas) y me gustaría instalar mldonkey. Gracias.