Saltar al contenido
Alejandro ArandaAlejandro Aranda
Volver a proyectos
6 min de lecturaProyectos

TauriMule: Cliente P2P Moderno para aMule con Tauri v2 y Rust

Código fuenteDescargar v0.1.0

Las redes de intercambio descentralizadas eDonkey2000 (eD2K) y Kademlia (Kad) siguen siendo, más de dos décadas después de su nacimiento, uno de los mayores repositorios comunitarios de archivos históricos, grabaciones inéditas, software clásico y material fuera de catálogo. Sin embargo, los clientes tradicionales (como eMule o la GUI oficial de aMule) se quedaron congelados en el diseño y las tecnologías de principios de los años 2000: interfaces MFC o wxWidgets pesadas, problemas con pantallas de alta resolución (High-DPI) y un consumo innecesario de recursos.

Para devolver la frescura a estas redes sin renunciar a la robustez de un motor legendario, desarrollé TauriMule: una aplicación de escritorio nativa para Windows creada con Tauri v2, Rust y TypeScript, envuelta en un cuidado diseño Microsoft Fluent (WinUI 3).

La aplicación está disponible para Windows tanto en instalador ejecutable .exe como en versión portable .zip.

Cola de transferencias y panel de descargas de TauriMule

Arquitectura: Desacoplando Interfaz y Motor

El principal acierto de diseño de TauriMule es no reinventar la rueda del protocolo de red ni comprometer la compatibilidad. En su lugar, separa de forma estricta el frontend moderno del motor de red:

  1. Frontend Fluent (WebView2 + TypeScript): una interfaz reactiva, limpia y fluida con tipografía Segoe UI Variable, tema claro/oscuro y soporte multilenguaje instantáneo.
  2. Puente Nativo en Rust (Tauri v2 IPC): gestiona el ciclo de vida del proceso en segundo plano (sidecar supervisor), la bandeja del sistema (tray) y la comunicación binaria de alto rendimiento.
  3. Motor Oficial aMule (amuled): actúa como demonio local e interactúa a través del Protocolo de Conexiones Externas (EC Protocol) en el puerto local 127.0.0.1:4712.

Gracias a esta arquitectura, TauriMule consume tan solo ~45 MB de memoria RAM, permitiendo tenerlo en marcha 24/7 descargando y compartiendo sin lastrar el rendimiento del sistema.

Identidad Visual Reactiva

En la esquina superior izquierda, la mascota de TauriMule (la fusión entre la fuerza mitológica del Toro de Tauri y la resistencia de la Mula) reacciona en tiempo real según el estado de la red:

  • 🔵 Azul (Conectado / High ID): conectado a un servidor eD2K con ID Alta, con máxima visibilidad para transferencias.
  • 🟢 Verde (Descargando): transferencia activa de datos recibiendo partes desde clientes remotos o nodos Kad.
  • 🟡 Ámbar (Aviso / Cortafuegos): ID Baja (Low ID) o red Kademlia tras cortafuegos (Firewalled), alertando para revisar los puertos TCP 4662 / UDP 4672.
  • ⚫ Gris (Inactivo): desconectado o a la espera de inicialización del demonio.

Búsqueda multi-pestaña y memoria de historial en TauriMule

Búsqueda P2P Multi-Pestaña e Historial Inteligente

Uno de los problemas más frustrantes de los clientes P2P tradicionales es tener que borrar o sobrescribir los resultados de una búsqueda para iniciar otra. En TauriMule la búsqueda funciona con un sistema de pestañas independientes:

  • Pestañas dedicadas por término: cada consulta ("Ubuntu", "Debian", "Música clásica") crea su propia pestaña con su contador de resultados en vivo. Es posible alternar entre búsquedas en curso sin perder resultados ni relanzar peticiones a la red.
  • Filtros por tipo y red: búsqueda global en servidores eD2K, en la red descentralizada Kad o en el servidor local, acotada por categorías (Vídeo, Audio, Programa, Archivo comprimido, Documento).
  • Memoria de búsquedas recientes con borrado individual: un historial interactivo en forma de etiquetas (chips). Cada etiqueta cuenta con su propio botón ✕ para eliminar búsquedas concretas del historial sin necesidad de ejecutarlas de nuevo ni borrar todo el registro.

Gestión y estadísticas de servidores eD2K

Gestión de Descargas y el Interruptor Fluent

La sección de transferencias ha sido rediseñada para ofrecer control absoluto sobre lo que ocurre en cada segundo:

  • Métricas en tiempo real: ancho de banda de subida y bajada, estimación de tiempo restante (ETA), partes descargadas y barra de progreso con gradientes visuales.
  • Interruptor Fluent para descargas completadas: un control de estilo WinUI 3 permite ocultar o mostrar las descargas ya terminadas. Por defecto permanecen ocultas para mantener limpio el espacio de trabajo, mostrando el contador total (ej. Ocultar descargados (70)) y recordando la preferencia de forma persistente.
  • Lanzador directo y explorador: doble clic o clic derecho sobre un archivo completado para abrirlo directamente con el reproductor predeterminado de Windows o mostrar su carpeta contenedora en el Explorador de archivos.

Limpiador Inteligente de Nombres con Diff en Vivo

Los archivos compartidos en redes P2P suelen arrastrar etiquetas de ripeo, resoluciones y metadatos molestos (1080p, 4K, x265, HEVC, grupos de release, corchetes). TauriMule integra un limpiador inteligente de nombres:

  • Detecta y elimina automáticamente estas etiquetas mediante patrones avanzados.
  • Muestra una vista previa visual (diff) antes de encolar o renombrar la descarga, tachando en rojo los caracteres eliminados y resaltando en verde el resultado limpio.
  • Permite aplicar la limpieza en lote o editar el nombre final manualmente.

Pegado por Lotes de Enlaces eD2K

La barra superior incluye un analizador de enlaces ed2k://|file|...|/ capaz de procesar enlaces individuales o listados masivos pegados en bloque. Calcula el tamaño total acumulado y resuelve de manera automática títulos con caracteres acentuados en español o etiquetas mal formateadas.

Monitor de subidas y gestión de clientes remotos

Monitor de Subidas y Sistema de Créditos

El espíritu del P2P se basa en la reciprocidad. En la sección Subidas, TauriMule monitoriza en directo el tráfico compartido hacia otros usuarios, calculando las velocidades de carga y aprovechando el sistema histórico de créditos de eMule/aMule: cuanto más compartes con un cliente, mayor prioridad obtienes en su cola cuando le pides un archivo.

Panel de ajustes y configuración del demonio

Configuración, Importación de eMule y Portabilidad

El panel de ajustes facilita adaptar la aplicación a cualquier configuración de red:

  • Asistente de migración: script integrado para importar automáticamente la configuración, créditos (cryptkey.dat, preferences.dat) y listas de servidores de una instalación existente de eMule o aMule.
  • Actualización de servidores (server.met): descarga automática de listas de servidores fiables desde URLs comunitarias reconocidas.
  • Control de puertos y ancho de banda: configuración de límites máximos de descarga/subida y puertos locales de conexión.
  • Soporte multi-idioma (i18n): cambio en vivo sin reiniciar entre Español, Inglés, Francés y Alemán.

Aviso Legal y Descargo de Responsabilidad

TauriMule es única y exclusivamente una interfaz gráfica de usuario (GUI / Frontend) de código abierto. Ni el software ni su autor alojan, indexan, rastrean ni distribuyen archivos ni contenidos de ningún tipo, ni operan servidores o nodos P2P. El usuario final es el único responsable legal del uso que haga de las redes descentralizadas y del cumplimiento de la legislación aplicable en materia de propiedad intelectual.

Descarga y Código Fuente

Puedes descargar la última versión de TauriMule para Windows desde la sección de Releases de GitHub.

El código fuente completo de la aplicación está disponible bajo licencia GPLv3 en el repositorio de GitHub.

Incidencias y Sugerencias

Cualquier error, sugerencia de mejora o aportación puede remitirse a través del apartado de Issues en GitHub.

También te puede interesar