{"id":51476029,"url":"https://github.com/alberto2005-coder/video-downloader","last_synced_at":"2026-07-06T21:01:09.447Z","repository":{"id":315401689,"uuid":"1059345481","full_name":"alberto2005-coder/video-downloader","owner":"alberto2005-coder","description":"Descarga videos de multiples sitios web con la url","archived":false,"fork":false,"pushed_at":"2025-09-18T10:19:13.000Z","size":10017,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-18T12:36:41.622Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alberto2005-coder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-18T10:17:31.000Z","updated_at":"2025-09-18T10:19:16.000Z","dependencies_parsed_at":"2025-09-18T12:47:24.441Z","dependency_job_id":null,"html_url":"https://github.com/alberto2005-coder/video-downloader","commit_stats":null,"previous_names":["alberto2005-coder/video-downloader"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/alberto2005-coder/video-downloader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto2005-coder%2Fvideo-downloader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto2005-coder%2Fvideo-downloader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto2005-coder%2Fvideo-downloader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto2005-coder%2Fvideo-downloader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alberto2005-coder","download_url":"https://codeload.github.com/alberto2005-coder/video-downloader/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alberto2005-coder%2Fvideo-downloader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35205739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-06T21:01:07.509Z","updated_at":"2026-07-06T21:01:09.438Z","avatar_url":"https://github.com/alberto2005-coder.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# VideoDown - Video Downloader Application\n\nUna aplicación full-stack para descargar videos de varias plataformas (YouTube, Vimeo, TikTok, Instagram, etc.) con diferentes formatos y calidades.\n\n## 🚀 Características\n\n- **Análisis de video en tiempo real** - Obtén información detallada del video antes de descargar\n- **Múltiples formatos** - Descarga en MP4, WebM, MP3 y más\n- **Seguimiento de progreso** - Visualiza el progreso de descarga en tiempo real\n- **Interfaz moderna** - UI construida con React 18 y Shadcn/ui\n- **Soporte multiplataforma** - Compatible con YouTube, TikTok, Instagram, Vimeo y más\n\n## 📋 Requisitos Previos\n\nAntes de ejecutar la aplicación, asegúrate de tener instalado:\n\n### Requisitos del Sistema\n- **Node.js** (versión 18 o superior)\n- **npm** o **yarn**\n- **yt-dlp** (herramienta externa para descarga de videos)\n\n### Instalación de yt-dlp\n\n#### En Windows:\n```bash\n# Usando pip\npip install yt-dlp\n\n# O descarga el ejecutable desde: https://github.com/yt-dlp/yt-dlp/releases\n```\n\n#### En macOS:\n```bash\n# Usando Homebrew\nbrew install yt-dlp\n\n# O usando pip\npip install yt-dlp\n```\n\n#### En Ubuntu/Debian:\n```bash\n# Usando pip\npip install yt-dlp\n\n# O usando apt (si está disponible)\nsudo apt update\nsudo apt install yt-dlp\n```\n\n## 🛠️ Instalación y Configuración\n\n### 1. Clonar el repositorio\n```bash\ngit clone \u003curl-del-repositorio\u003e\ncd videodown\n```\n\n### 2. Instalar dependencias\n```bash\nnpm install\n```\n\n### 3. Configurar variables de entorno\nCrea un archivo `.env` en la raíz del proyecto:\n\n```env\n# Puerto del servidor (opcional, por defecto 5000)\nPORT=5000\n\n# Configuración de base de datos (opcional)\nDATABASE_URL=postgresql://usuario:contraseña@localhost:5432/videodown\n\n# Configuración de sesión (opcional)\nSESSION_SECRET=tu-clave-secreta-aqui\n```\n\n### 4. Configurar la base de datos (Opcional)\nSi deseas usar PostgreSQL en lugar del almacenamiento en memoria:\n\n```bash\n# Instalar y configurar PostgreSQL\n# Crear la base de datos\ncreatedb videodown\n\n# Ejecutar migraciones\nnpm run db:push\n```\n\n## 🚀 Ejecución en Desarrollo\n\n### Modo de desarrollo (recomendado)\n```bash\nnpm run dev\n```\n\nEsto iniciará:\n- Servidor backend en `http://localhost:5000`\n- Frontend con hot-reload\n- WebSocket para actualizaciones en tiempo real\n\n### Verificar la instalación\n1. Abre tu navegador en `http://localhost:5000`\n2. Pega una URL de video (ej: YouTube, TikTok)\n3. Haz clic en \"Analizar\" para verificar que yt-dlp funciona correctamente\n\n## 🏗️ Construcción para Producción\n\n### 1. Construir la aplicación\n```bash\nnpm run build\n```\n\n### 2. Ejecutar en producción\n```bash\nnpm start\n```\n\nLa aplicación estará disponible en `http://localhost:5000`\n\n## 📁 Estructura del Proyecto\n\n```\nvideodown/\n├── client/                 # Frontend React\n│   ├── src/\n│   │   ├── components/     # Componentes reutilizables\n│   │   ├── pages/          # Páginas de la aplicación\n│   │   ├── lib/            # Utilidades y configuración\n│   │   └── hooks/          # Custom hooks\n│   └── index.html\n├── server/                 # Backend Express\n│   ├── services/           # Lógica de negocio\n│   ├── routes.ts          # Rutas de la API\n│   └── index.ts           # Punto de entrada del servidor\n├── shared/                 # Tipos compartidos\n├── downloads/             # Archivos descargados\n└── package.json\n```\n\n## 🔧 Scripts Disponibles\n\n```bash\n# Desarrollo\nnpm run dev          # Inicia el servidor de desarrollo\n\n# Producción\nnpm run build        # Construye la aplicación\nnpm start           # Inicia el servidor de producción\n\n# Utilidades\nnpm run check       # Verificación de tipos TypeScript\nnpm run db:push     # Aplicar cambios a la base de datos\n```\n\n## ⚙️ Configuración\n\n### Variables de Entorno\n- `PORT`: Puerto del servidor (por defecto: 5000)\n- `NODE_ENV`: Entorno de ejecución (development/production)\n- `DATABASE_URL`: URL de conexión a PostgreSQL (opcional)\n- `SESSION_SECRET`: Clave secreta para sesiones\n\n### Personalización\n- **Puerto**: Cambia el puerto en `.env` o `package.json`\n- **Base de datos**: Configura PostgreSQL en `drizzle.config.ts`\n- **Estilos**: Modifica los temas en `tailwind.config.ts`\n\n## 🐛 Solución de Problemas\n\n### Error: \"yt-dlp not found\"\n```bash\n# Verifica la instalación\nyt-dlp --version\n\n# Si no está instalado, instálalo:\npip install yt-dlp\n```\n\n### Error de permisos en la carpeta downloads\n```bash\n# Crear la carpeta y dar permisos\nmkdir downloads\nchmod 755 downloads\n```\n\n### Puerto 5000 en uso\n```bash\n# Cambiar el puerto en .env\necho \"PORT=3000\" \u003e .env\n```\n\n### Problemas con dependencias\n```bash\n# Limpiar node_modules y reinstalar\nrm -rf node_modules package-lock.json\nnpm install\n```\n\n### Error cross-env\n```bash\nnpm install -g cross-env\n```\n## 📝 Notas Adicionales\n\n- La aplicación usa almacenamiento en memoria por defecto\n- Los archivos se descargan en la carpeta `downloads/`\n- El frontend se construye con Vite para desarrollo rápido\n- Socket.IO maneja las actualizaciones de progreso en tiempo real\n\n## 🔗 Tecnologías Utilizadas\n\n- **Frontend**: React 18, TypeScript, Tailwind CSS, Shadcn/ui\n- **Backend**: Express.js, Socket.IO, TypeScript\n- **Base de datos**: Drizzle ORM, PostgreSQL (opcional)\n- **Herramientas**: Vite, yt-dlp, TanStack Query\n\n## 📄 Licencia\n\nMIT License - consulta el archivo LICENSE para más detalles.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falberto2005-coder%2Fvideo-downloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falberto2005-coder%2Fvideo-downloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falberto2005-coder%2Fvideo-downloader/lists"}