Mini Download Helper e uma extensao Chrome Manifest V3 para detectar midias em paginas web, agrupar variantes de qualidade e baixar arquivos diretos, HLS e DASH com apoio de um servidor local Node.js.
Aviso: esta e uma versao educacional, criada apenas para estudo, pesquisa e aprendizado sobre extensoes de navegador, deteccao de midia e integracao local com ferramentas como
yt-dlpeffmpeg. Use somente com conteudos que voce tem direito de acessar e armazenar.
O projeto combina a extensao do navegador com um servidor local em 127.0.0.1:3000. A extensao detecta midias e apresenta a interface; o servidor executa tarefas pesadas com yt-dlp, ffmpeg e ffprobe.
- Deteccao de videos e audios via DOM,
fetch, XHR ewebRequest. - Suporte a arquivos diretos, playlists HLS (
.m3u8) e manifestos DASH (.mpd). - Agrupamento de variantes por pagina e titulo.
- Escolha de qualidade quando o servidor consegue listar formatos.
- Download direto pelo Chrome para arquivos simples.
- Download e conversao local com
yt-dlpeffmpegpara streams. - Progresso em tempo real via WebSocket.
- Geracao de thumbnails pelo servidor local.
- Limpeza automatica do cache de thumbnails.
.
|-- background.js # Service worker da extensao
|-- content.js # Coleta midias dentro das paginas
|-- manifest.json # Manifest V3
|-- popup.html / popup.css / popup.js
| # Interface principal da extensao
|-- options.html / options.js # Tela de configuracoes
|-- icons/ # Icones da extensao
`-- video-downloader-server/
`-- server.js # Servidor local para yt-dlp/ffmpeg
- Node.js 18 ou superior.
- Google Chrome ou navegador Chromium com suporte a extensoes Manifest V3.
yt-dlpdisponivel noPATH.ffmpegeffprobedisponiveis noPATH.
No Windows, confirme no PowerShell:
yt-dlp --version
ffmpeg -version
ffprobe -versionInstale as dependencias do servidor:
npm installInicie o servidor local:
node video-downloader-server\server.jsO servidor deve responder em:
http://127.0.0.1:3000
- Abra
chrome://extensions. - Ative o modo de desenvolvedor.
- Clique em Carregar sem compactacao.
- Selecione a pasta raiz deste projeto.
- Mantenha o servidor local rodando para baixar HLS/DASH, gerar thumbnails e listar formatos.
- Abra uma pagina com video ou audio.
- Clique no icone da extensao.
- Escolha a variante/qualidade detectada.
- Clique em Baixar ou Salvar como.
Downloads diretos podem usar a API de downloads do Chrome. Streams HLS/DASH dependem do servidor local.
O servidor escuta apenas em 127.0.0.1 e expoe endpoints para:
GET /ping: verificar se o servidor esta ativo.GET /check-tools: verificaryt-dlp,ffmpegeffprobe.POST /list-formats: listar formatos comyt-dlp.POST /download: baixar comyt-dlp.POST /download-stream: baixar streams comffmpeg.POST /thumbnail: gerar thumbnail.POST /clear-thumbs: limpar cache de thumbnails.POST /cancel-download: cancelar download ativo.
As thumbnails ficam em video-downloader-server/thumbs.
O cache e limpo automaticamente pelo servidor:
- ao iniciar;
- a cada 1 hora;
- removendo arquivos com mais de 24 horas;
- quando a extensao envia o comando de limpar tudo.
Validar sintaxe dos scripts principais:
node --check background.js
node --check content.js
node --check popup.js
node --check options.js
node --check video-downloader-server\server.jsVerificar dependencias:
npm audit --omit=dev- Este projeto e fornecido apenas para fins educacionais e de estudo.
- O servidor local foi projetado para uso na propria maquina e fica preso a
127.0.0.1. - O projeto usa permissao
<all_urls>para detectar midias em paginas variadas. - Baixe apenas conteudos que voce tem direito de acessar e armazenar.
A documentacao em ingles esta disponivel em README.en.md.
ISC