dHtools es una suite web autohospedable y de alto rendimiento diseñada para la extracción, conversión, recorte y sincronización en la nube de contenido multimedia desde múltiples plataformas (YouTube, Spotify, Deezer, TikTok, Instagram, Twitter/X, Twitch, Facebook y más).
Está construida sobre una arquitectura modular de Flask Blueprints, pensada para desplegarse fácilmente en tu propio servidor VPS o máquina local con Docker Compose. Cuenta con una interfaz moderna y reactiva con optimización móvil táctil, gestión multiusuario, autenticación de dos factores (2FA / TOTP), cuotas de disco, túnel residencial contra bloqueos, almacenamiento S3/Cloud con modo Offload, asistente de Telegram autónomo, selector de canal de actualizaciones (main vs dev) y rollback automático en 1 clic.
- Motor en Cascada Inteligente (4 Niveles): Combina de manera transparente Cobalt v11 Oficial, SpotDL / Deezer nativo, yt-dlp core y un Túnel Residencial de Contingencia (Tier 4 / Failsafe).
- Evasión Antibot & Tokens PO: Microservicio
pot-providerestabilizado junto al runtimeDenopara resolver desafíos JavaScript y generar tokens Proof-of-Origin automáticos. - Túnel Residencial de Respaldo (SOCKS5 / MikroTik): Activación automática en caso de bloqueos por IP de datacenter o degradación SABR a 360p, preservando el ancho de banda residencial con telemetría de latencia RTT por ping TCP.
- Calidades de Video Ultra HD: Descargas en 4K (2160p), 2K (1440p), Full HD (1080p), 720p y 480p con selección de contenedor (
MP4/MKV) y subtítulos incrustados. - Suite de Audio Hi-Fi: Extracción directa con carátulas en alta resolución y metadatos ID3 automáticos en calidades
128 kbps,192 kbps,256 kbpsy320 kbps (CBR MP3). - Playlists & Álbumes Completos: Detección de listas con inspección ítem por ítem, selección selectiva, reordenamiento interactivo (⬆️/⬇️) y descarga agrupada en carpetas virtuales o archivo
.zip. - Recorte Preciso por Tiempo (Trimming): Descarga estricta por rangos temporales (
download_ranges) indicando inicio y fin (HH:MM:SS), transfiriendo únicamente los minutos deseados sin descargar archivos completos a disco. - Doble Consola Interactiva: Terminal de actividad en tiempo real tanto en Modo Fácil como en Modo Avanzado para ver el estado de cada proceso, conversiones FFmpeg y eventos en vivo.
- Descargas Unificadas en Lote: Conmutador directo
[ 🔗 Enlace Único | 📋 Descarga en Lote ]integrado en ambos modos.
- Autenticación en Dos Factores (2FA / TOTP Opcional): Estándar RFC 6238 compatible con Google Authenticator, Microsoft Authenticator, Authy, Bitwarden, etc., con QR dinámico y 8 códigos de recuperación.
- Gestión Multiusuario & Roles: Roles independientes (
AdminyDownloader), cambio de credenciales, suspensión y purga selectiva. - Control Estricto de Cuotas de Disco: Asignación de cuotas máximas de almacenamiento por usuario con medidor en vivo y bloqueo preventivo.
- Auditoría de Sesiones Activas: Monitor en tiempo real de sesiones conectadas (IP, dispositivo, navegador, última actividad) con revocación remota instantánea.
- Servidor SMTP & Recuperación de Contraseñas: Envío de correos seguros con tokens de un solo uso con 1 hora de validez para restablecer credenciales.
- Prevención de Ataques Web: Sanitización rigurosa de URLs (
validate_media_url), ejecución de comandos segura sinshell=True, validación de rutas canónicas contra Path Traversal (safe_download_path) y protección por tarpit contra fuerza bruta.
- Soporte Universal de Almacenamiento: Compatible con Amazon S3, MinIO, Cloudflare R2, Backblaze B2, Wasabi, WebDAV (Nextcloud / ownCloud) y servidores FTP.
- Modo Offload ("Subir y Mover"): Ahorro extremo de almacenamiento en servidores VPS pequeños; tras una subida exitosa a la nube, el archivo local se libera manteniendo el registro en "Mis Descargas" con la etiqueta
☁️ En la nube. - Presets Privados por Usuario: Cada usuario puede configurar y almacenar sus propios destinos de almacenamiento con prueba de conectividad en vivo.
- Navegación Móvil Ergonómica: Barra de navegación inferior permanente (
Bottom Nav Bar), menú lateral deslizable (Drawer) y barra superior compacta optimizada para pantallas táctiles. - 4 Temas Visuales: Selector interactivo de paletas:
Cyberpunk,OLED Pure Black,EmeraldyLight. - PWA Ready: Instalable como aplicación web progresiva en Android, iOS y PC de escritorio con manifiesto y suite completa de íconos.
- Despliegue Self-Hosted: Conexión directa mediante
@BotFatherconfigurando tu propio bot token en el panel de administración. - Comandos & Lenguaje Natural: Envío de enlaces para descarga interactiva con botones táctiles en línea, comandos
/descargas,/cola,/cuota,/ayuday soporte conversacional. - Privacidad Total: Cada usuario vinculado mediante token temporal accede estricta y exclusivamente a sus propios archivos.
- Entrega Inmediata: Despacho directo del archivo al chat para tamaños de hasta 50 MB con fallback transparente a documento ante limitaciones de códec.
git clone https://github.com/hernancussit/dHtools.git
cd dHtoolscp .env.example .env
nano .envDefiní tus credenciales de acceso (APP_USERNAME y APP_PASSWORD) y tu clave secreta de sesión.
docker compose up -d --buildLa aplicación estará lista en http://localhost:5000 (o http://TU_IP_VPS:5000).
Para publicar dHtools bajo tu propio dominio con HTTPS, dispones de configuraciones listas en la carpeta proxy-configs/:
Utiliza la plantilla proxy-configs/nginx-universal.conf en tu bloque de servidor:
sudo cp proxy-configs/nginx-universal.conf /etc/nginx/sites-available/dhtools.conf
# Edita tu dominio y certificados en el archivo y luego recarga:
sudo systemctl reload nginxCopia las plantillas oficiales de HestiaCP y aplícalas a tu dominio:
cp proxy-configs/hestiacp/dhtools-proxy.tpl /usr/local/hestia/data/templates/web/nginx/
cp proxy-configs/hestiacp/dhtools-proxy.stpl /usr/local/hestia/data/templates/web/nginx/
systemctl reload nginxLuego selecciona la plantilla dhtools-proxy desde la configuración web del dominio en el panel de HestiaCP.
Copia las reglas de proxy-configs/cpanel-apache.conf en el archivo .htaccess de la raíz web de tu dominio.
Añade a tu Caddyfile (configuración de proxy-configs/caddy-Caddyfile):
tu-dominio.com {
reverse_proxy 127.0.0.1:5000
}Consulta la guía detallada en proxy-configs/README.md.
dHtools cuenta con evasión antibot automática (pot-provider + Deno + Cobalt) y funciona sin cookies para el 95% de las descargas públicas. Sin embargo, si deseas descargar videos con restricción de edad (+18), contenido para miembros del canal o listas privadas, puedes suministrar un archivo cookies.txt.
Warning
- Usá SIEMPRE una cuenta secundaria (desechable): NUNCA exportes cookies de tu cuenta de Google/YouTube principal. La actividad constante de descargas desde una IP de servidor puede gatillar bloqueos temporales o suspensiones de cuenta por parte de Google.
- NO utilices esa sesión en tu navegador tras exportarla: Una vez descargado el
cookies.txt, no navegues con esa cuenta en tu navegador ni cierres sesión manualmente. El uso continuo en el navegador rota los tokens criptográficos de sesión de Google e invalida las cookies exportadas de inmediato.
- Abre una ventana de incógnito en tu navegador (Chrome, Firefox, Brave o Edge).
- Entra a YouTube e inicia sesión con tu cuenta secundaria.
- Instala una extensión de exportación de cookies en formato Netscape estándar:
- Recomendada: Get cookies.txt LOCALLY (Código abierto, segura y sin servidores externos).
- Alternativa: Cookie-Editor (Abrir en YouTube ➔ Export ➔ Export as Netscape).
- Estando en la pestaña de YouTube, abre la extensión y haz clic en "Export" o "Descargar cookies.txt".
- Guarda el archivo
.txten tu computadora.
- Desde la Web (Recomendado):
Ingresa al Panel de Administración (/admin) ➔ pestaña "⚙️ Parámetros & Cookies" ➔ haz clic en "Seleccionar nuevo cookies.txt" ➔ presiona "🚀 Validar y Guardar". El sistema validará automáticamente las cookies contra YouTube antes de guardarlas en el servidor. - Vía Terminal / Docker:
Copia el archivo generado en la raíz del proyecto comocookies.txty reinicia el contenedor (docker compose restart dhtools).
| Canal | Rama Git | Descripción |
|---|---|---|
| 🟢 Estable | main |
Versiones probadas y listas para producción en cualquier VPS. |
| 🧪 Desarrollo | dev |
Nuevas funciones experimentales y mejoras previas al lanzamiento. |
Si dHtools te resulta útil para gestionar tus descargas multimedia y administrar tu servidor, podés invitarme un cafecito para apoyar el desarrollo continuo y mantenimiento de nuevas funciones:
- Creador y Desarrollador: Hernán Cussit
- Estudio / Servicios: Servicios Informáticos LT
- Contacto en Telegram: @henu_45
- Donaciones: cafecito.app/henu_45
Este proyecto está bajo la Licencia MIT.