EMule
eMule | ||
---|---|---|
Archivo:Vista-amule.png Logo de eMule | ||
Información general | ||
Tipo de programa | aplicación informática | |
Autor | Hendrik Breitkreuz | |
Desarrollador | Equipo de eMule | |
Lanzamiento inicial | 2002 | |
Licencia | GPL | |
Información técnica | ||
Programado en | C++ | |
Plataformas admitidas | Microsoft Windows | |
Versiones | ||
Última versión estable | 0.50a7 de abril de 2010 | |
Última versión en pruebas | 0.60d14 de agosto de 2020 | |
Enlaces | ||
eMule (apócope de electronic mule, en inglés mula electrónica), es un programa creado por Hendrik Breitkreuz (conocido como Merkur), quien estaba descontento con el cliente de eDonkey. Es un programa P2P libre de intercambio de ficheros que utiliza la red eDonkey 2000, pero ofrece mayor cantidad de funciones que el cliente eDonkey original, motivo por el cual ha logrado superarlo en popularidad y convertirse en uno de los programas favoritos de los usuarios de redes P2P.
Sus principales características son el intercambio directo de archivos entre sus nodos, el uso de un sistema de créditos, la recuperación rápida de partes corruptas y el uso complementario de una red sin servidores, denominada Kademlia, de reciente implantación y prometedoras expectativas; además en algunos mods (versiones modificadas) se ha implementado el uso de la opción Webcaché como método extra y de ayuda para descargar archivos (ver Emule Morph ). También destaca el hecho de que, al ser un programa GPL, cualquier usuario puede colaborar y modificarlo libremente. Ésta es la razón por la que han proliferado toda una serie de mods del programa, como Morph, Phoenix, o Plus. Existen incluso proyectos independientes basados en su código como los clientes eMule para otras plataformas. Todo ello contribuye a una continua mejora tanto del programa original, como de sus derivados.
eMule se basa en un sistema de créditos por el cual quien más sube a la red más descarga, si bien puede funcionar también con este sistema desactivado. Los créditos permiten avanzar más rápido en la cola de espera de un cliente, de forma que se pueda conseguir antes un slot para descargar. Ya que los créditos se registran de forma descentralizada en cada uno de los usuarios de la red, para evitar que sean falsificados, únicamente tendremos créditos en los usuarios a los que le hayamos subido algún archivo (aunque como sólo afectan en el avance en la cola de espera, podemos descargar de un usuario al que nunca le hayamos subido un fichero). De cada usuario se descargan partes de ficheros (que puede estar siendo descargado en ese momento de otros usuarios) que se ensamblan al finalizar para formar el fichero completo. Esta red P2P resulta especialmente útil cuando los ficheros que se pretenden descargar son de gran tamaño. Otra de las ventajas de esta red es la posibilidad de encontrar archivos muy poco comunes.
Aunque el cliente eMule es una aplicación para sistemas Windows, su código es libre y existen en la actualidad proyectos muy avanzados que utilizan distintos sistemas operativos. Los más conocidos son xMule y aMule.
Su amplia implantación, así como su carácter descentralizado lo han hecho el preferido por la mayor parte de los usuarios, dispuestos a “compartir contenidos”. Esas mismas causas son las que han levantado la polémica sobre la necesidad o no de una legislación internacional que vele por la defensa de los derechos de propiedad intelectual y sancione actos que los puedan vulnerar.
También el eMule cuenta con la posibilidad de enviar mensajes a usuarios de la red eDonkey 2000 conectados a las descargas en curso y de un chat IRC para buscar información sobre lo que le interese a los usuarios
Funciones clave de eMule
- Compartir chunks. Los archivos se pueden compartir aunque no estén completamente bajados. Una vez que un usuario tiene una parte de 9.28 MB que ha podido ser verificada, eMule la pone a disposición del resto de la red.
- Detección de errores. eMule utiliza algoritmos de detección de errores. De esta manera es casi imposible que se corrompan los archivos que se descargan. El sistema AICH (Advanced Intelligent Corruption Handling) utiliza el método de hashtree para individualizar trozos de archivo más pequeños de 9500 KB, disminuyendo muy notablemente la cantidad de datos que hay que volver a bajar para corregir un error de transmisión.
- Independencia de los nombres de archivo. En otros programas, cuando se renombra un archivo, éste ya no se considera el mismo. eMule en cambio, permite cambiar los nombres, pues utiliza un sistema que reconoce los archivos por sus contenidos y no por la denominación. Es posible consultar todos los nombres que se le asignan al mismo archivo.
- Sistema de créditos y colas. Se recompensa a los usuarios que han subido más datos dándoles más prioridad a la hora de progresar dentro de la cola de espera.
- Comentarios para los archivos. eMule permite calificar la calidad de un archivo y escribir comentarios sobre cada archivo haciendo que otros usuarios los puedan leer. Gracias al uso de la red Kad, se pueden buscar comentarios de archivos incluso antes de empezar a descargarlo.
- Ficheros de Colección. eMule permite crear ficheros en un formato especial nombrado colección de eMule. Este fichero contiene un conjunto de links de eMule. Es posible bajarlo como un conjunto y guardar toda la colección de ficheros como un conjunto, aunque cada descarga se gestiona independientemente.
- Filtro de direcciones. eMule tiene la posibilidad de prohibir cualquier tipo de acceso por parte de determinadas direcciones IP. La lista de estas direcciones puede ser mantenida automáticamente por eMule. El propósito del filtro de direcciones es impedir la descarga de ficheros falsos (fakes) o filtar direcciones consideradas non-gratas. El uso del filtro de direcciones no mejora el anonimato en el uso del eMule, ya que es imprescindible que el programa conozca la dirección del cliente con el que realiza una transferencia.
- Previsualizar archivos multimedia. eMule permite la visualización de diversos tipos de archivos, como por ejemplo de audio y vídeo, aunque el archivo no se haya acabado de descargar del todo. Desde la web oficial se recomienda el Videolan, aunque se puede configurar para usar cualquier otro programa.
- Cliente IRC. eMule incluye un cliente para chat en las redes IRC.
- Servidor Web. eMule incluye un servidor web. Una vez activado por el usuario se puede controlar las funciones básicas de eMule desde cualquier navegador web, desde cualquier lugar del mundo.
- Multilingüe. eMule puede funcionar en muchos idiomas diferentes incluido el castellano. Gracias a la implementación del Unicode, eMule puede funcionar en cualquier idioma, incluidos los idiomas ideográficos, y los de escritura de derecha a izquierda.
eMule ha sido diseñado para funcionar mejor con archivos grandes. Se considera que un archivo es grande si ocupa más de 10 MB y pequeño si ocupa menos de 10. Por este motivo es mejor agrupar los ficheros pequeños utilizando programas compresores como por ejemplo WinZip o 7-Zip.
Funcionamiento de las redes
Actualmente, eMule dispone de dos redes: la red clásica basada en servidores eD2k y una red completamente nueva (Kad) que no hace uso de servidores y está basada en Kademlia. A continuación se explican los conceptos básicos de funcionamiento, y posteriormente cómo consiguen estos objetivos cada una de las dos redes.
- Identificación de archivos. Todos los archivos tienen asociado un valor de hash, una clave alfanumérica que identifica de forma única un archivo, aunque éste tenga diversos nombres, de manera que un mismo archivo que tengan diferentes usuarios, aunque alguno de ellos haya modificado el nombre, continúa siendo el mismo archivo. Además, todo los archivos se separa en bloques de 9,28 MB (9500 KB), y cada una de las partes tiene su valor hash, de manera que el valor hash final del archivo es una combinación de los valores hash de todas sus partes.
- Identificación de otros clientes. Cada usuario tiene asignado un valor hash único y permanente que se encuentra protegido mediante un algoritmo de encriptación de claves públicas.
- Descarga de datos. Una vez un cliente ha encontrado una fuente para la descarga de un cierto archivo, se pone en contacto para pedir un sitio a su cola de descargas. La fuente reserva un sitio en su cola, que hay que mantener contactando periódicamente con la fuente (se requiere una vez cada media hora). Cuando la posición en la cola llega al primer lugar, la fuente abre una conexión con el cliente para proceder a subir el archivo.
Red de servidores
Para conectarse a esta red hay que conocer la dirección IP del servidor. Una vez conectados a un servidor, éste puede informarnos de la existencia de otros servidores. Con el fin de mantener actualizada esta lista, los servidores están conectados entre sí. Cuando un nodo se conecta a un servidor le comunica los archivos que quiere compartir. Para buscar un archivo se envía la consulta a uno o más servidores. Cada servidor responde con la lista de archivos de los que dispone. Para conocer las fuentes de un determinado archivo, se le pide esta información a uno o más servidores. Cada servidor responde con una lista de nodos que comparten el archivo solicitado.
La lista de servidores que presenta eMule, puede ser actualizada, permitiendo busquedas más precisas y extensas, encontrar servidores más rápidos, entre otras cosas. Existe varias páginas para actualizar esa lista, una de las más conocidas es [1]. Además hay un tutorial para agregar servidores [2].
Existen servidores falsos que se dedican a recoger información sobre quién comparte qué archivo. Por este motivo se recomienda obtener las listas de servidores de fuentes fiables. La descarga de una lista de servidores puede hacerse automáticamente.
Red Kad
La red Kad es una red totalmente descentralizada donde todos los nodos son iguales. Ha sido diseñada para que eMule pueda sobrevivir a una posible caída de la red de servidores. Para conectarse a esta red hay que conocer la dirección IP de otro nodo, pero es posible conectarse a partir de los nodos obtenidos de la red de servidores. Cada nodo conoce una pequeña parte de la red, de manera que el tamaño de la red puede crecer tanto como haga falta sin afectar al rendimiento. Cuando un nodo se conecta, almacena los identificadores de los archivos que quiere compartir a dentro de otros nodos, escogidos en función del identificador del archivo. Cuando se quiere bajar un archivo, se localizan los nodos que lo indexan y estos nodos devuelven la lista de fuentes para este archivo concreto. La búsqueda por nombre funciona de una manera parecida, guardando el nombre del archivo dentro de otros nodos escogidos en función de cada palabra del nombre. Una búsqueda en Kad se ejecuta siempre en toda la red.
Intercambio de fuentes
Cuando un cliente se conecta a otro que es fuente de un archivo, le puede pedir la lista de otras fuentes que conoce. Esta manera de obtener fuentes es muy eficiente y libera la carga de trabajo de las redes de servidores y Kad.
Buscar archivos
Buscar archivos en eMule significa normalmente que a todos los servidores a la lista de servidores se les pregunta si conocen a algún cliente que tenga un archivo que coincida con los términos de la búsqueda. Los propios servidores no almacenan ningún archivo, sólo generan una lista de los archivos de los usuarios conectados. La función de búsqueda avanzada de eMule permite hacer búsquedas precisas para los archivos de la red. Una búsqueda realizada con precisión es mejor, ya que las búsquedas generales suponen una considerable carga para los servidores. Por este motivo, eMule sólo busca un máximo de 201 resultados de cualquier búsqueda, o 300 si el servidor y nuestra versión soportan compresión gzip.
eMule nos permite entrar diferentes opciones de búsqueda, tales como el tamaño máximo o mínimo, los tipos de archivo, etc. Una de las opciones que podemos seleccionar es el método de búsqueda, es decir, la manera que eMule utilizará para hacer las búsquedas. Hay cuatro métodos:
- Servidor. sólo se buscará en el servidor dónde el cliente está actualmente conectado.
- Global (Servidor). Se pregunta a todos los servidores de la lista, pero a cada uno individualmente.
- Kademlia. Se busca en toda la red Kademlia. Con este método no se buscará en la red eD2k. Los resultados pueden tardar un rato. Si una expresión de búsqueda popular no devuelve resultados, entonces es posible que el puerto UDP esté bloqueado por un cortafuegos o un router.
- Filedonkey. Motor de búsqueda basado en web.
Existen páginas web que contienen links del formato ed2k://. Al hacer click sobre uno de estos links, se añade automáticamente la descarga a eMule.
Véase también
- Red eDonkey 2000
- Peer-to-peer
- Historia de las aplicaciones P2P
- Descarga directa
- Gestor de descargas
- Kademlia
- Webcaché
Otros Programas P2P
Lphant, BitTorrent, Kazaa,Gnutella, Freenet, Entropy, GNUnet, aMule, Ares Galaxy, Audiogalaxy, eMule Plus, Ktorrent, MLDonkey, Napster, Shareaza, Pando_(programa), Marabunta...
Enlaces externos
- Página oficial
- La página sobre el desarrollo, en inglés
- WEBCACHÉ: Qué es y cómo configurarlo] Hilo en el que se explica como configurar el Webcaché para clientes de la red ed2k