martes, 9 de junio de 2026

aMule 3.0.0 resucita viendo el panorama actual, las velocidades de descarga son mucho más altas

Sin nadie esperarlo, aMule ha lanzado su versión 3.0.0, bautizada como “La versión que vuelve a la vida”, y el nombre no parece exagerado. Es la primera gran actualización del cliente P2P desde aMule 2.3.3, que fue lanzada en febrero de 2021. Esta resurrección llega con un cambio de enfoque importante: no se limita a corregir pequeños errores, sino que reescribe partes críticas ligadas al rendimiento, moderniza el sistema de compilación, actualiza dependencias, mejora la distribución de binarios y limpia una buena cantidad de código heredado.

La gran novedad está en el rendimiento. Según las pruebas publicadas por el propio proyecto, aMule 3.0.0 logra mejores velocidades de descarga P2P de entre 107x y 381x frente a aMule 2.3.3 en un escenario controlado de red local. En macOS sobre Apple Silicon, el salto va de 0,35 MB/s a 135 MB/s; en Linux ARM, de 0,34 MB/s a 117 MB/s; y en Windows ARM, de 0,36 MB/s a 39 MB/s. Los números son muy bonitos, pero la prueba se realizó durante 90 segundos, con un único peer en LAN descargando un archivo de 30 GB desde un seeder Linux x86_64, por lo que no debe interpretarse como que cualquier descarga real en eD2k/Kad vaya a multiplicar automáticamente su velocidad por cientos.

aMule 3.0.0 ¿Héroe o villano?

El motivo de esa drástica mejora en velocidad está en una reestructuración profunda de la canalización de transferencia. aMule 3.0.0 ha movido la lectura y escritura de disco fuera del hilo principal, ha corregido problemas en ASIO/EPOLLET y ha sustituido los antiguos limitadores de ancho de banda por controladores tipo token bucket, mucho más adecuados para aplicar límites reales de subida y bajada. De hecho, el proyecto reconoce que los antiguos controles MaxUpload y MaxDownload no funcionaban como el usuario esperaba. MaxUpload=0 no significaba subida ilimitada real, mientras que MaxDownload actuaba como un controlador de ratio, no como un límite literal de bytes por segundo.

En cuanto a la velocidad de subida también se han cambiado notablemente las cosas. El proyecto ha portado desde eMule el sistema CUploadDiskIOThread, que saca del hilo principal tanto las lecturas de disco como la construcción de paquetes ed2k. Esta es la mejora que más peso tiene en el salto de rendimiento, especialmente cuando el cliente actúa como seeder. En la comparativa directa frente a eMule 0.70b en Windows y sobre el mismo hardware UTM, aMule 3.0.0 alcanza 106 MB/s de subida frente a 22 MB/s de eMule, unas 4,8 veces más. En descarga, aMule 3.0.0 consigue 39 MB/s frente a 20 MB/s, alrededor de 1,9 veces más.

Este punto es importante porque el bajo rendimiento de aMule no era solo una percepción. En 2021 ya había usuarios reportando que aMule 2.3.3 descargaba mucho más lento que eMule con los mismos enlaces y ajustes. En casos en los que eMule superaba los 4,5 MB/s, aMule no pasaba de 1 MB/s. La versión 3.0.0 parece atacar precisamente ese cuello de botella histórico, aunque las cifras oficiales provienen de pruebas internas del proyecto.

Resto de mejoras incorporadas tras 5 años de letargo

Otra mejora importante es el uso con bibliotecas muy grandes. aMule 3.0.0 introduce optimizaciones para nodos con más de 100.000 archivos compartidos. En la práctica, esto debería evitar que la GUI, aMuleGUI, WebUI o amuleweb se queden bloqueados durante minutos al manejar enormes listas de archivos compartidos.

aMule 3.0.0 abandona autotools y adopta CMake como sistema único de compilación, exige CMake 3.10 y wxWidgets 3.2.0 hacia delante, y ofrece binarios nativos para Windows, Linux y macOS. Hay AppImage y Flatpak para x86_64 y aarch64, un .dmg Universal2 para macOS con soporte para Intel y Apple Silicon, además de ZIP portable e instalador NSIS para Windows en x64 y ARM64.

El resto de mejoras pasa porque Kad incorpore búsquedas paralelas con ampliación de frontera. HTTPS vuelve a funcionar mediante una reescritura basada en wxWebRequest. GeoIP se sustituye por MaxMindDB. Y el sistema de carpetas compartidas gana auto-rescan mediante wxFileSystemWatcher. En cuanto a seguridad y estabilidad, el changelog cita endurecimiento del parser de paquetes, correcciones de buffer overflow, arreglos de memoria no inicializada, límites frente a cargas SOCKS5 UDP sobredimensionadas y varias mejoras en amuleweb, incluyendo protección XSS en el parámetro de ordenación, tokens de sesión generados mediante CSPRNG y cookies con HttpOnly y SameSite=Strict. También se han corregido fugas de memoria, cierres inesperados y problemas específicos de macOS, Windows, musl/Alpine y GTK.

Como puntos negativos, en macOS, el .dmg todavía no está firmado ni notarizado, por lo que Gatekeeper mostrará advertencias en el primer arranque. La publicación en Flathub aún está pendiente y por ahora toca instalar el archivo .flatpak directamente. AppImage todavía no aparece en el catálogo de AppImageLauncher. Y terminamos con una distribución desigual en Linux. Arch Linux ya lista aMule 1:3.0.0-1 en el repositorio Extra. Por otro lado, Debian todavía mantiene como versión principal la rama 2.3.3-4.1 en stable/testing/unstable en su tracker.

Saludos.

No hay comentarios:

Publicar un comentario

Por favor sé respetuoso/a y escribe adecuadamente. Gracias.