Durante años, aMule fue una de esas aplicaciones imprescindibles para quienes usaban redes P2P fuera de Windows. Mientras eMule se quedaba como la opción más conocida en el sistema de Microsoft, aMule permitía acceder a las redes eD2k y Kad desde Linux, macOS y otros sistemas. El problema es que su desarrollo llevaba más de un lustro prácticamente parado… hasta ahora.
Después de más de 5 años sin dar señales de vida, los desarrolladores de aMule publicaron esta nueva versión por sorpresa el pasado 8 de junio en su web oficial y en GitHub. Y, tal como afirman los responsables del proyecto, esta nueva versión 3.0 no se centra solo en adaptar la interfaz gráfica o corregir algunos errores menores, sino que supone una reestructuración completa del programa, con una nueva pila de dependencias actualizadas, limpieza de APIs y un sistema de compilación completamente renovado.

aMule 3.0: todas las novedades que llegan tras 5 años de parón
Uno de los principales cambios lo encontramos en el cambio de autotools a CMake como sistema de compilación del programa. A simple vista, para los usuarios, esto puede parecer que no tiene mucho impacto, pero en verdad sí que facilitará mucho el mantenimiento y la mejora del programa de cara al futuro, dejando atrás todas las herramientas heredadas que ya no encajaban bien en los sistemas modernos. Otra de las partes que se han actualizado han sido las dependencias. aMule 3.0.0 ahora necesita CMake 3.10 o superior y wxWidgets 3.2.0 o superior, lo que confirma que el proyecto ha aprovechado esta versión para cortar con buena parte del lastre acumulado durante años.

Pero la gran promesa de aMule 3.0.0 está en la velocidad. Según informan sus desarrolladores en el changelog oficial, las descargas P2P en el mismo hardware pueden ser entre 100 y 380 veces más rápidas que con aMule 2.3.3, dependiendo de la plataforma utilizada. Las pruebas que han presentado se han realizado dentro de una red local, con un único par y un archivo de 30 GB. En ese escenario, aMule 2.3.3 se movía en torno a los 0,34 o 0,36 MB/s, mientras que aMule 3.0.0 alcanzó cifras muy superiores de hasta 135 MB/s en macOS, 117 MB/s en Linux ARM y 39 MB/s en Windows ARM. aMule 3.0.0 también supera a eMule 0.70b en Windows, con 4,8 veces más rendimiento en subida y casi el doble en descarga.

Esto no quiere decir que, por arte de magia, cualquier descarga pública vaya a multiplicar automáticamente su velocidad por 380, ya que en una red P2P real influyen infinidad de factores: número de fuentes, disponibilidad, límites de subida, configuración, conexión, puertos, colas, estado de la red, etc. Pero sí dejan claro que el viejo cuello de botella del propio cliente se ha reducido de forma drástica.
Además, los desarrolladores han aprovechado para mejorar todo lo relacionado con la subida. En las últimas versiones, los limitadores MaxUpload y MaxDownload no funcionaban como deberían, ya que no se aplicaban como límites literales, sino como controles internos que podían dejar la transferencia muy por debajo de lo esperado. En aMule 3.0.0 estos sistemas se han reescrito con limitadores tipo token bucket, mucho más precisos. Y también se ha eliminado un techo antiguo en los campos de velocidad que estaba pensado para las conexiones de otra época.

Más allá del rendimiento bruto, aMule 3.0.0 también mejora la gestión de bibliotecas grandes, especialmente en nodos con decenas de miles de archivos compartidos. El programa reduce operaciones repetidas, cachea más información y evita redibujados o actualizaciones innecesarias que antes podían hacer que la interfaz tardase demasiado en responder. También se añade autoescaneo de carpetas compartidas mediante wxFileSystemWatcher, incluyendo la carpeta Incoming y las carpetas Incoming por categoría, para que los archivos nuevos o las descargas completadas se detecten mejor sin tener que forzar recargas manuales.
La actualización también toca la parte de red, el control remoto y las correcciones de seguridad. Kad recibe búsquedas paralelas con un nuevo botón para pedir más resultados, HTTPS vuelve a funcionar correctamente gracias a una reescritura del sistema de descargas web, y la WebUI añade controles para conectar y desconectar Kad y eD2k, gestionar la URL de nodos Kad y desconectarse del servidor eD2k actual. Además, aMule abandona el antiguo GeoIP y pasa a usar MaxMindDB para relacionar IPs con países, aunque en este caso la documentación oficial indica que hace falta una cuenta gratuita de MaxMind para obtener la base de datos.
La lista de cambios completa podemos consultarla directamente en este enlace.
