# 🧩 Descargador de YouTube - Interfaz Web (Docker + Flask + yt-dlp) Esta aplicación proporciona una interfaz web simple para descargar vídeos o audios (en formato MP3) de YouTube, tanto de forma individual como a partir de listas de reproducción. Está desarrollada con **Flask**, usa **Bootstrap 5** para el frontend y **yt-dlp** para las descargas. Se ejecuta fácilmente mediante **Docker**. --- ## 🚀 Características ✅ Descarga de **vídeo o audio MP3** individual ✅ Descarga de **listas completas** de reproducción en formato ZIP ✅ Interfaz moderna con pestañas (Bootstrap) ✅ Envío automático del archivo al cliente tras la descarga ✅ Funcionamiento 100% en servidor local (no se sube nada a la nube) ✅ Preparado para ejecutarse dentro de Docker --- ## 📁 Estructura del proyecto ``` ytdwl/ ├── app/ │ ├── main.py # Backend en Flask │ ├── requirements.txt # Dependencias Python │ ├── templates/ │ │ └── index.html # Interfaz HTML (Bootstrap) │ └── downloads/ # Carpeta donde se guardan descargas temporales ├── Dockerfile # Imagen con Python, yt-dlp, ffmpeg ├── docker-compose.yml # Configuración del contenedor └── README.md # Este documento ``` --- ## 🧰 Requisitos - Docker - Docker Compose --- ## 🛠️ Instalación y ejecución ### 1. Clonar el repositorio o copiar los archivos ```bash git clone https://gitea.martivich.es/marti/YTDownloader.git cd YTDownloader ``` > O copia el contenido manualmente si no usas Git. --- ### 2. Construir la imagen Docker ```bash docker compose build ``` --- ### 3. Ejecutar el contenedor ```bash docker compose up -d ``` Esto levantará la aplicación en el puerto **5000** por defecto (puedes cambiarlo en `docker-compose.yml` si está ocupado). --- ### 4. Acceder a la web Abre tu navegador en: ``` http://localhost:5000 ``` --- ## 🌐 Uso ### ▸ Descargar un solo vídeo o canción: - Ve a la pestaña **"Vídeo / MP3 individual"** - Pega la URL del vídeo - Selecciona "Vídeo" o "MP3" - Pulsa **Descargar** - El navegador descargará el archivo directamente ### ▸ Descargar una lista de reproducción: - Ve a la pestaña **"Lista de reproducción"** - Pega la URL de la lista - Selecciona "Vídeo" o "MP3" - Pulsa **Descargar Lista** - El navegador descargará un ZIP con todos los elementos --- ## 🧹 Limpieza Todos los archivos descargados se eliminan automáticamente tras ser enviados al cliente. No se acumula contenido en el servidor. --- ## 🛑 Parar el contenedor ```bash docker compose down ``` --- ## 🔐 Notas de seguridad - Esta aplicación está pensada para **uso personal y educativo**. - Respeta siempre los derechos de autor y las condiciones de uso de las plataformas. - No expongas la aplicación a Internet sin protección adecuada. --- ## 📜 Licencia MIT © Marti Vich