EMule

eMule
Información sobre la plantilla
3,2 MB
Software para intercambio de archivos.
CreadorHendrik Breitkreuz
Última versión estable0.50a
GéneroP2P
Sistemas Operativos compatiblesWin95/98/98SE/Me/2000/NT/XP/Vista/7
IdiomaInglés, Español
LicenciaGPL
Sitio web
http://emule.softonic.com/


eMule es un programa para intercambio de archivos con sistema P2P utilizando el protocolo eDonkey 2000 y la red Kad, publicado como software libre para sistemas Microsoft Windows. Está escrito en C++.

Creado en un principio como alternativa al programa eDonkey, en poco tiempo lo superó en funciones, y sumando el hecho de que era libre y gratuito, entre otros motivos, lograron que en poco tiempo lo superase en popularidad para convertirse en uno de los programas más usados por los usuarios de P2P. Existen también múltiples programas derivados con el objetivo de portarlo a otros sistemas operativos, como lMule, xMule o aMule.

Surgimiento

El proyecto eMule fue iniciado el 13 de mayo de 2002 por Hendrik Breitkreuz (también conocido como Merkur) que no estaba satisfecho con el cliente original de eDonkey2000. Su nombre es un apócope de electronic mule, en inglés literalmente mula electrónica, haciendo referencia al eDonkey de donde se origina (burro electrónico).

Con el tiempo, siete desarrolladores más se unieron al proyecto. El código fuente se publicó por primera vez como la versión 0.02 en SourceForge el 6 de julio del mismo año. eMule fue lanzado por primera vez como binario el 4 de agosto en la versión 0.05a. El sistema de créditos fue implementado por primera vez el 14 de septiembre en la versión 0.19a. El sitio web del proyecto fue lanzado el 8 de diciembre. Desde ese momento, eMule ha sido descargado alrededor de 300 millones de veces (cifras de mayo de 2007).

Actualmente el proyecto está formado por dieciséis personas: dos desarrolladores, dos coordinadores de proyecto (incluyendo al fundador, Breitkreuz), tres testeadores y nueve depuradores. El sitio oficial es mantenido por siete desarrolladores y cuatro moderadores o administradores.

Características de eMule

  1. Intercambio directo de archivos entre sus clientes.
  2. Recuperación rápida de partes corruptas.
  3. El uso complementario de una red sin servidores, denominada Kademlia, de 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 MorphXT).
  4. El hecho de que, al estar licenciado bajo GPL, cualquier usuario puede colaborar y modificarlo libremente, es la razón por la que han proliferado toda una serie de modificaciones (mods) del programa, como eMule MorphXT, Xtreme, Phoenix, Plus o NeoMule. Existen incluso proyectos independientes basados en su código como los clientes eMule para otros sistemas operativos, como aMule, que corre bajo el sistema GNU/Linux y Mac OS X Todo ello contribuye a una continua mejora tanto del programa original, como de sus derivados.
  5. Usa 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.
  6. 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.
  7. 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 interese a los usuarios.

Funciones de eMule

  1. Ofuscación del protocolo: Esta función sirve para evitar que las conexiones del eMule sean detectadas y bloqueadas por los ISP. La Ofuscación de Protocolo es una característica que hace que eMule esconda su protocolo al comunicarse con el servidor u otros clientes. Sin ofuscación, cada comunicación de eMule tiene una estructura predeterminada que puede ser fácilmente reconocida e identificada por un observador. Si se activa esta característica, toda la comunicación de eMule aparenta a primera vista estar compuesta de datos aleatorios y ya no es posible realizar fácilmente una identificación automatizada.
  2. Compartir chunks: Los archivos se pueden compartir aunque no estén completamente bajados. Una vez que un usuario tiene una parte de 9500 KB que ha podido ser verificada, eMule la pone a disposición del resto de la red.
  3. 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 fragmentar en trozos de archivo de 180 KB, disminuyendo muy notablemente la cantidad de datos que hay que volver a bajar para corregir un error de transmisión.
  4. Transferencias comprimidas: Cada vez que eMule transmite datos, los comprime con la biblioteca zlib para ahorrar ancho de banda, de forma completamente transparente al usuario.
  5. 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, por ello puede ser que descargues algo que no corresponda con el nombre. Es posible consultar todos los nombres que se le asignan al mismo archivo.
  6. 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. Los modificadores se calculan con base en la cantidad de datos transferidos entre dos clientes, el cual directamente afecta a la valoración de las peticiones de clientes y su posición en la cola.
  7. 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, pudiendo así saber de antemano si el archivo tiene buena/mala calidad o si está corrupto.
  8. Ficheros de Colección: eMule permite crear ficheros en un formato especial nombrado colección de eMule. Este fichero contiene un conjunto de enlaces 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.
  9. 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 filtrar 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.
  10. 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 descargado completamente. Desde la web oficial se recomienda el VLC media player, aunque se puede configurar para usar cualquier otro programa.
  11. Cliente IRC: eMule incluye un cliente para chat en las redes IRC.
  12. Servidor Web: eMule incluye un servidor web. Una vez activado por el usuario se pueden controlar las funciones básicas de eMule desde cualquier navegador web, desde cualquier lugar del mundo.
  13. 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 como imágenes ISO, archivos de vídeo y audio, etc. Se considera que un archivo es grande si ocupa más de 10 MB y pequeño si ocupa menos. Por este motivo es mejor agrupar los ficheros pequeños utilizando programas compresores. Los más usados son WinZip, 7-Zip y WinRar Hay que tener en cuenta que si se utiliza eMule en una configuración que incluya router se hace necesario abrir los puertos correspondientes para mejorar la conectividad con el resto de nodos.

Funcionamiento de las redes

Actualmente, eMule dispone de dos redes: la red clásica basada en servidores eD2k y una red descentralizada (Kad) que no hace uso de servidores y está basada en la 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:

  1. Identificación de archivos. Todos los archivos tienen asociado un valor de hash, una clave hexadecimal 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, todos los archivos se separan en bloques de 9.500 KB y de cada una de estas partes se calcula su hash MD4, de manera que el valor hash final del archivo es el resultado de aplicar el hash MD4 a la concatenación de los valores hash de todas sus partes. En los enlaces ed2k:// es imprescindible especificar el hash del archivo y también su tamaño correcto. El conjunto de hash de las partes puede incluirse opcionalmente en el enlace, aunque lo más habitual es que dicho conjunto se obtenga automáticamente a través de los clientes que comparten ese archivo.
  2. Identificación de otros clientes. Cada usuario tiene asignado un valor hash único y permanente que se encuentra protegido mediante un algoritmo de cifrado de clave pública.
  3. 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.

Comparación de Emule con otras redes P2P

Una de las principales ventajas de emule es su gran base de usuarios actualmente de cinco a diez millones, que le hace excelente para encontrar toda clase de contenido. Se dice que es la más completa aplicación del protocolo ed2k y sus extensiones. Emule emplea AICH, por lo que su manejo de la corrupción de archivos es equiparable a BitTorrent. eMule también emplea intercambios de fuentes, lo que le permite reducir sustancialmente la carga en los servidores y en Kad.

Mods del eMule

El hecho de que eMule sea un programa de código abierto ha favorecido la creación de programas derivados de la modificación del código del eMule original (mods). Estas versiones modificadas, sin perder la compatibilidad con el eMule original, añaden funcionalidades ausentes en este, le dan un nuevo aspecto o lo adaptan a usos concretos o a las necesidades de ciertos usuarios. El desarrolo de algunas de estas variantes corre parejo al del eMule original, de manera que el equipo que mantiene cada mod suele mantener actualizado su programa basándose en las últimas versiones publicadas del eMule. Otros mods, sin embargo, se han ido desarrollando de manera totalmente independiente del eMule original. Algunas de las mejoras y funciones desarrolladas originalmente en estos mods se han incorporado posteriormente en la versión original del programa.

Algunos de los mods de eMule más populares son:

  1. eMule Plus
  2. eMule MorphXT
  3. eMule ScarAngel
  4. Stullemule
  5. Dreamule

El concepto de mod no debe confundirse con el de cliente. Un programa cliente del eMule, o mejor dicho de la red eDonkey 2000, es cualquier programa capaz de compartir archivos cumpliendo con los protocolos de dicha red, esté basado en el código del eMule o no.


Fuente

  1. http://emule.softonic.com/
  2. http://www.softonic.com/s/emule