Diferencia entre revisiones de «Tecnologías de Internet/Clientes P2P»

Contenido eliminado Contenido añadido
Sin resumen de edición
 
Sin resumen de edición
Línea 1:
Clientes P2P:
Mldonkey es un cliente compatible con la red edonkey, que ademas como principal ventaja tiene que tambien se puede conectar a otras redes como,
 
*[[eMule/aMule]]
-Overnet
*[[eDonkey2000]]
-Kademlia
*[[Ares]]
-BitTorrent
*[[MLDonkey]]
-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 GNU/Linux, Mac OSX y Windows. Su desarrollo se hace en GNU/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 GNU/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.
 
===================================================================================================
 
==Instalacion en Ubuntu Breezy==
 
 
-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 GNU/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 GNU/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.