first commit

This commit is contained in:
2025-07-08 15:09:09 +00:00
commit d972d40f7a
3 changed files with 135 additions and 0 deletions

126
README.md Normal file
View File

@@ -0,0 +1,126 @@
# 🧩 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://github.com/tuusuario/ytdwl.git
cd ytdwl
```
> 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

1
app Submodule

Submodule app added at 10d2cee94f

8
docker-compose.yml Normal file
View File

@@ -0,0 +1,8 @@
services:
web:
build: ./app
ports:
- "5080:5000"
volumes:
- ./app/downloads:/app/downloads
container_name: yt-downloader