eMule es una aplicación gratuita de intercambio de archivos entre pares para Microsoft Windows . Lanzada en mayo de 2002 como alternativa a eDonkey2000 , eMule se conecta tanto a la red eDonkey como a la red Kad . Sus características distintivas son el intercambio directo de archivos fuente entre nodos cliente, la recuperación de descargas corruptas y el uso de un sistema de créditos para recompensar a los usuarios que suben archivos con frecuencia. eMule transmite los datos comprimidos con zlib para ahorrar ancho de banda.
eMule está escrito en C++ utilizando las clases de Microsoft Foundation . Desde julio de 2002, eMule es software libre , publicado bajo la Licencia Pública General de GNU ; lo que ha llevado a que el código fuente de eMule se utilice como base para los clientes multiplataforma aMule , JMule y xMule , además del lanzamiento de modificaciones de eMule del eMule original.
A partir de octubre de 2023 ,Es el quinto proyecto más descargado en SourceForge , con más de 693 millones de descargas. [ 5 ]
El desarrollo fue reiniciado posteriormente por la comunidad como eMule Community . [ 4 ]
Historia
El proyecto eMule fue iniciado el 13 de mayo de 2002 por Hendrik Breitkreuz (también conocido como Merkur) [ 6 ] , quien no estaba satisfecho con el cliente original eDonkey2000 . Con el tiempo, más desarrolladores se unieron al proyecto. El código fuente se lanzó por primera vez en la versión 0.02 y se publicó en SourceForge el 6 de julio de 2002.
eMule se lanzó por primera vez como binario el 4 de agosto de 2002, en la versión 0.05a. El "Sistema de Créditos" se implementó por primera vez el 14 de septiembre de 2002 en la versión 0.19a. El sitio web del proyecto eMule se puso en marcha el 8 de diciembre de 2002.

Las versiones v0.40+ de eMule añadieron compatibilidad con la red Kad . Esta red implementa el protocolo Kademlia , que no depende de servidores centrales como la red eDonkey , sino que utiliza una tabla hash distribuida .
También se añadió la capacidad de realizar búsquedas utilizando Unicode , lo que permite buscar archivos en alfabetos no latinos, y la capacidad de buscar en los servidores archivos con fuentes completas de archivos inacabados en la red eDonkey .
Se agregó una "Lista de fuentes no válidas". La aplicación añade una dirección IP a esta lista tras un intento de conexión fallido. Una vez añadida a la "Lista de fuentes no válidas", la aplicación la considera una IP "inactiva". Las IP no disponibles se bloquean durante un periodo de entre 15 y 45 minutos.
Otras novedades incluyen: la posibilidad de ejecutar eMule desde una cuenta de usuario con privilegios limitados (lo que mejora la seguridad) y AICH (para que no sea necesario volver a descargar por completo un fragmento dañado).
La versión 0.46b añadió la creación y gestión de archivos de "colección eMule", que contienen un conjunto de enlaces a archivos destinados a ser descargados como un conjunto.
Desde 2007, muchos ISP han utilizado la limitación de ancho de banda para los puertos P2P habituales, lo que ha dado como resultado un rendimiento lento. [ 7 ] La versión 0.47b añade ofuscación de protocolo y eMule seleccionará automáticamente dos números de puerto al azar en el asistente de inicio.
Conceptos básicos

Cada archivo compartido mediante eMule se codifica como una lista hash compuesta por fragmentos separados de 9500 KiB utilizando el algoritmo MD4 . El hash MD4 de nivel superior , el tamaño del archivo, el nombre del archivo y varios atributos de búsqueda secundarios, como la tasa de bits y el códec, se almacenan en los servidores eD2k y en la red sin servidor Kad .

Los usuarios pueden buscar archivos en la carpeta servers/kad y ver los nombres de archivo junto con un identificador único que consta del hash MD4 de nivel superior del archivo y su tamaño, el cual se puede agregar a sus descargas. A continuación, el cliente consulta a los servidores dónde se encuentran los demás clientes que utilizan ese hash. Los servidores devuelven un conjunto de direcciones IP y puertos que indican la ubicación de los clientes que comparten el archivo.
A continuación, eMule solicita el archivo a los demás nodos. Luego, eMule se pondrá en cola hasta que haya un espacio disponible para la carga.
Cuando se descarga y verifica un fragmento completo de 9.728.000 bytes (9500 KiB), el usuario que realiza la descarga también comparte estos datos, lo que ayuda a otros a descargar el archivo.
También es posible que un cliente conozca a otros clientes que compartan el mismo archivo. En ese caso, se produce un intercambio de fuentes entre los clientes. Este intercambio de pares conocidos se realiza directamente entre ellos.
Las versiones más recientes de eMule son compatibles con AICH ( Advanced Intelligent Corruption Handling ). Su objetivo es que el manejo de la corrupción de eMule sea competitivo con BitTorrent . Se calculan hashes SHA-1 para cada subfragmento de 180 KiB y se forma un árbol hash SHA-1 completo . AICH se procesa exclusivamente mediante intercambios de origen entre pares. eMule requiere que 10 pares estén de acuerdo con respecto al hash SHA-1, por lo que los archivos poco frecuentes generalmente no se benefician de AICH.
ID bajo
Los usuarios que no pueden ser contactados desde el exterior porque están bloqueados por un firewall , detrás de un dispositivo NAT que no ha sido configurado correctamente para el reenvío de puertos , o cuya dirección IP termina en cero (por ejemplo, 123.45.67.0) [ 8 ] reciben una "ID baja" de los servidores. Aún pueden cargar y descargar, pero necesitan la ayuda de servidores u otros clientes kad para ser contactados por otros clientes. Como no pueden ser notificados de que están al frente de una cola de carga, tienen que sondear a los pares si hay un espacio de carga disponible. Como no pueden conectarse a ningún otro cliente con ID baja, solo ven entre el 40 y el 60 % [ 9 ] de los clientes que puede ver un ID alto. Sus IP /puertos no se intercambian con otros pares, lo que limita sus posibilidades de encontrar fuentes a través del intercambio de fuentes P2P puro de eMule.
Un cliente de ID bajo también consume muchos más datos [ 10 ] en un servidor que un cliente de ID alto debido a las devoluciones de llamada de ID bajo. Además, un lanzador o un gran cargador que usa un mod de lanzador como MorphXT o Xtreme que se ve obligado a operar en un ID bajo (habitación de hotel, trabajo) también encontrará que tendrá poco control sobre sus prioridades de carga (especialmente powershares) ya que los servidores parecen limitar su reenvío de conexión para cada cliente, lo que convierte su cola de carga en una situación de contención donde el primero que puede obtener reenvío y encuentra un espacio libre lo obtiene.
Sistema de crédito
Los créditos no son globales; se intercambian entre dos clientes específicos. El sistema de créditos se utiliza para recompensar a los usuarios que contribuyen a la red, por ejemplo, al subir archivos a otros clientes. El estricto sistema de colas de eMule se basa en el tiempo de espera de un usuario. El sistema de créditos modifica significativamente este tiempo de espera al tener en cuenta la carga y descarga entre los dos clientes. Cuanto más archivos suba un usuario a un cliente, más rápido avanzará en la cola de ese cliente. Los modificadores se calculan a partir de la cantidad de datos transferidos entre los dos clientes. Los valores utilizados se pueden consultar en el cuadro de diálogo de detalles del cliente. Para ver esta información, haga clic con el botón derecho en cualquier usuario y seleccione «Ver detalles».
Todos los clientes que suben contenido a un usuario reciben recompensas del sistema de créditos. No importa si el cliente admite o no el sistema de créditos. Los clientes que no lo admiten no otorgan créditos si se les sube contenido. Los créditos se almacenan en el archivo clients.met. El hash único del usuario se utiliza para identificar al cliente. Los créditos los guarda el cliente que los debe.
La fórmula de cálculo del Sistema Oficial de Crédito se compone de dos razones como sigue: [ 11 ]
Luego se comparan ambas proporciones y se utiliza la menor como modificador. Existen algunas condiciones:
- Si el total subido es inferior a 1 MB, el modificador permanecerá en 1.
- Si el cliente sube datos pero no descarga ninguno, el modificador se fijará en 10.
- El modificador solo puede estar entre 1 y 10.
Una excepción a esta regla se aplica únicamente cuando a un usuario se le asigna un "Espacio de amigo" después de ser agregado a la lista de amigos del cliente. Esto asigna automáticamente un espacio de carga reservado para ese usuario, de modo que pueda comenzar a descargar independientemente de su calificación crediticia. Solo se puede reservar un Espacio de amigo para evitar cualquier forma de abuso, como la discriminación de carga. [ 12 ]
eMule en comparación con otras aplicaciones P2P
eMule es compatible con AICH, lo que le permite gestionar la corrupción de datos de forma competitiva con BitTorrent . Además, admite el intercambio de fuentes, lo que reduce considerablemente la carga en los servidores y en Kad. Gracias a una ID alta y a descargas preexistentes y bien gestionadas por el servidor o Kad, eMule puede mantener la independencia de las fuentes de pares en estos archivos durante más tiempo tras la desconexión de eD2k y Kad.
Mods de eMule
eMule tiene variantes, generalmente llamadas mods. Algunos mods comenzaron como bifurcaciones de versiones oficiales de eMule y luego continuaron desarrollándose de forma independiente en lugar de modificar versiones oficiales más recientes. Un ejemplo de este tipo de mod es el obsoleto eMule Plus. Dado que eMule Plus se bifurcó antes del lanzamiento de la versión 0.30, la primera versión oficial que incluyó Kad, eMule Plus no es compatible con esta función, principalmente porque el desarrollo del proyecto se abandonó hace aproximadamente 4 años. Otros mods actuales siguen los lanzamientos oficiales de eMule y crean sus propios lanzamientos basados en cada nuevo lanzamiento de la versión oficial. Dado que los mods distribuidos deben compartir públicamente su código fuente según la Licencia Pública General de GNU, las funciones útiles creadas por los desarrolladores de mods pueden incorporarse a una versión oficial.
Sitios web falsos de eMule y malware
Algunos terceros han creado versiones modificadas que contienen software espía y otros programas maliciosos . Algunos sitios falsos solicitan información de tarjeta de crédito o requieren que el usuario se registre para obtener una membresía de pago. Estas versiones suelen encontrarse a través de anuncios rotativos que a veces se colocan en sitios legítimos. [ 13 ] [ 14 ]
Modificaciones chinas del cliente eMule
easyMule de VeryCD es un cliente eMule utilizado por usuarios chinos. Tiene una interfaz simplificada y carece de algunas configuraciones avanzadas disponibles en el cliente eMule estándar. A partir de la versión 1.1, solo admite búsquedas a través de la base de datos de VeryCD, aunque se aceptan enlaces externos de eD2k. Algunos criticaron a VeryCD por su nombre engañoso "Dianlv" ( chino :电驴; pinyin : Diàn Lǘ ; lit. ' Burro electrónico ' ; generalmente el nombre chino para eDonkey o eMule) y el sitio emule.org.cn, que se llama "Sitio chino de Dianlv (eMule)" (电驴(eMule)中文网站). [ 15 ] [ 16 ]
Versión comunitaria
El 29 de julio de 2017 se publicó una "Versión Comunitaria" de eMule [ 17 ] , mantenida por los usuarios del foro oficial. Esta versión está disponible para su descarga en un repositorio de GitHub y se basa en la última versión oficial o beta, pero contiene características adicionales y correcciones de errores realizadas por la comunidad, priorizando una versión más actualizada. [ 18 ]
Véase también
Referencias
- ↑ "El proyecto eMule en SourceForge.net" . eMule.SourceForge.net. 7 de abril de 2010. Consultado el 11 de julio de 2010 .
- ↑ Lextrait, Vincent (enero de 2010). "The Programming Languages Beacon, v10.0" . Recuperado el 14 de marzo de 2010 .
{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - ↑ Código fuente de eMule 0.50a archivado el 13/06/2011 en Wayback Machine : /srchybrid/lang/
- 1 2 "Lanzamientos" . GitHub .
- ↑ "Listados de proyectos principales" . sourceforge.net . Consultado el 29 de octubre de 2023 .
- ↑ "eMule" . SourceForge . 31 de marzo de 2016. Consultado el 16 de mayo de 2026 .
- ↑ "DailyTech - Más confesiones de proveedores de servicios de Internet: Limitamos el tráfico P2P" . Archivado del original el 16 de septiembre de 2009. Consultado el 8 de agosto de 2009 .
- ↑ forum.emule-project.net Archivado el 27/09/2007 en Wayback Machine Cómo se calcula un ID bajo.
- ↑ "Aumentan los clientes con ID baja - Foro oficial de eMule" . emule-project.net . Archivado del original el 17 de enero de 2023. Consultado el 2 de noviembre de 2007 .
- ↑ forum.emule-project.net Archivado el 17/01/2023 en Wayback Machine. Publicación técnica de lugdunummaster sobre el consumo de ancho de banda directo y colateral de subida de un cliente de ID bajo y uno de ID alto en RazorBack; en este ejemplo, 20 veces más sobrecarga.
- ↑ "eMule-Project.net - Página oficial de eMule. Descargas, ayuda, documentación, noticias..." emule-project.net . Archivado del original el 12 de mayo de 2008. Consultado el 22 de mayo de 2008 .
- ↑ "eMule-Project.net - Página oficial de eMule. Descargas, ayuda, documentación, noticias..." www.emule-project.net . Archivado del original el 11/10/2007 . Consultado el 12/10/2007 .
- ↑ "Lista de programas de intercambio de archivos infectados con spyware" . 10 de noviembre de 2006. Archivado del original el 26 de febrero de 2009. Consultado el 11 de marzo de 2009 .
- ↑ "Sitios fraudulentos para el eMule" . 11 de diciembre de 2008. Archivado del original el 7 de marzo de 2009. Consultado el 16 de marzo de 2009 .
- ↑陈佼"每周一蛋疼":诚恳建议"电驴"改名(en chino). cnBeta. Archivado del original el 20/07/2010 . Recuperado el 20/07/2010 .
- ^ "VeryCD对eMule/电驴/电骡/VeryCD/EasyMule等词的混淆性宣传分析与证据" (en chino). Archivado desde el original el 5 de julio de 2010 . Consultado el 17 de septiembre de 2009 .
- ↑ "Versión eMule_v0.50b-unofficial: .: Corregido: minimizar a la bandeja después del cambio de escala de visualización" . irwir/eMule . 29 de julio de 2017. Archivado del original el 11 de diciembre de 2020. Consultado el 7 de abril de 2021 .
- ↑ "eMule-Project.net" . Archivado del original el 9 de agosto de 2020. Consultado el 7 de abril de 2021 .
Enlaces externos
- Software de 2002
- Software gratuito para compartir archivos
- Software libre programado en C++
- Software gratuito exclusivo para Windows
- Software portátil
- Software para compartir archivos de Windows
- Software beta
- Software que utiliza la Licencia Pública General de GNU.
