# aMuTorrent: Gestor unificado de clientes P2P

---

### Introducción

aMuTorrent es una interfaz web de código abierto orientada a la gestión centralizada de múltiples clientes P2P, principalmente aMule (ED2K/Kad), rTorrent y qBittorrent. No actúa como motor de descarga propio, sino como capa de control que unifica diferentes backends mediante sus APIs o protocolos remotos.

Dentro del stack de descargas, su función es consolidar la administración de redes BitTorrent y ED2K en un único panel web, simplificando la operación cuando conviven varios clientes especializados en el mismo entorno Docker.

---

### Enfoque general / Arquitectura

aMuTorrent se despliega como servicio independiente y se conecta a los clientes de descarga existentes a través de:

* Protocolo EC en el caso de aMule.
* XML‑RPC para rTorrent.
* API WebUI para qBittorrent.

La arquitectura separa claramente:

* **Motor de descarga** → cliente P2P dedicado.
* **Capa de orquestación** → aMuTorrent.
* **Indexación y automatización (opcional)** → Prowlarr, Sonarr, Radarr.

Este enfoque evita sustituir clientes consolidados y permite mantener cada uno optimizado para su red correspondiente, delegando en aMuTorrent la visibilidad global y el control unificado.

---

### Requisitos previos

* Clientes P2P previamente desplegados y accesibles en red.
* APIs o protocolos remotos habilitados en cada cliente.
* Red Docker definida para permitir comunicación interna entre servicios.

Sin acceso remoto correctamente configurado en los clientes, aMuTorrent no puede operar.

---

### Desarrollo

#### Qué se hizo y por qué

El despliegue se realiza mediante contenedor Docker dedicado, aislado del resto de clientes pero conectado a la red interna de descargas.

La decisión de encapsularlo como servicio independiente permite:

* Mantener los motores P2P desacoplados.
* Reiniciar o actualizar la interfaz sin afectar descargas activas.
* Controlar permisos y exposición de puertos de forma granular.

Se prioriza una arquitectura modular: cada cliente conserva su configuración nativa, mientras aMuTorrent centraliza la visualización, búsqueda y gestión.

#### Configuración utilizada (solo enlaces)

* [docker-compose.yml en Gitea](https://gitea.jtrapero.eu.org/R4di04kt1v3/ChronosCMPS/src/branch/main/Descargas/aMuTorrent/docker-compose.yml)

Las variables sensibles y ajustes específicos se mantienen en el repositorio para preservar trazabilidad y versionado.

#### Validación

Comprobaciones mínimas tras el despliegue:

* Acceso HTTP correcto al puerto publicado por el contenedor.
* Conexión exitosa a cada cliente P2P configurado.
* Listado de descargas sincronizado con los clientes subyacentes.
* Logs del contenedor sin errores de autenticación o timeout.

Si la interfaz carga pero no muestra descargas, normalmente el problema reside en credenciales o endpoints mal definidos.

---

### Decisiones importantes

* No se expone directamente a Internet sin reverse proxy y control de acceso.
* Se mantiene separado de los motores P2P para evitar dependencia circular.
* La gestión de indexadores externos (Prowlarr) se integra solo cuando aporta valor real en automatización.

---

### Resumen breve

aMuTorrent actúa como capa de orquestación para clientes P2P ya existentes, unificando su gestión en una única interfaz web. El despliegue desacoplado mediante Docker permite mantener modularidad, aislamiento y control de red, integrándose de forma natural en un stack de descargas basado en múltiples motores especializados.

---

### Referencias

* [Repositorio oficial de aMuTorrent en GitHub](https://github.com/got3nks/amutorrent)