Downloader E-Arquivo Hentai como ficheiro zip 📦
Ambiente Requerido
Browser | GreaseMonkey | ||
---|---|---|---|
Firefox (56-) | 3.2 beta2+ | ||
Firefox (57+) | 4.1 beta5+ | 4.0.5054+ | 2.8.18+ |
3.5.3630+ | 2.2.6+ | ||
Opera (15+) | /td>> | 3.5.3630+ | 2.1.10+ |
4.3.5421+ | |||
Edge (18-) (2) | 4.2.5284+ | ||
Edge (79+) | 4.10.6111+ | 2.12.8+ | |
Maxthon | /td>> | >2.1.10+ | |
4.2.5291+ | 2.2.6+ | ||
>/td> | 4.11+ | 2.12.8+ | |
Firefox para Android (68-)(3) | Incompatível | Incompatível | 2.12.8+ |
Firefox Nightly for Android (85+) (3)(4) | Incompatível | 4.11.6120+ | 2.12.8+ |
(1) Deve actualizar o seu Windows 10 para 14393 que suporta a extensão Edge.
(2) Deve actualizar o seu MacOS para 10.12.4 que suportadownload
atributo de<a>
tag.
(3) Não é uma boa ideia utilizá-lo em telemóveis com memória RAM limitada, mas pode funcionar, por isso depende de si.
(4) O utilizador do Firefox Nightly necessita de seguir estes passos para instalar extensões que não estejam na lista por defeito.
Instalar este Script
- Download from GitHub
- Download from GreasyFork
Como Usar
- Open E-Galeria Hentai
- Encontra a tua galeria interessada
li>Clica em “Descarregar arquivo” no E-Hentai Caixa de descarregamentoli>Agregar uma chávena de café ☕ li>Guardar o ficheiro Zip
/p>
Dicas:
- Seleccionar “Numerar Imagens” para numerar as imagens descarregadas
- Definir “Gama de Páginas” para escolher as páginas que deseja descarregar
- Mais opções personalizadas podem ser encontradas em “Configurações”
Como Funciona
Este script não descarregará o arquivo da página de descarregamento do arquivo E-Hentai, pelo que não gastará os seus GPs ou créditos. Vai buscar todas as páginas da galeria e obter o URL das suas imagens. Depois o script usará GM_xmlhttpRequest
API (de modo a cruzar a origem) para descarregá-las. Depois disso, irá empacotá-las para um ficheiro Zip com JSZip e fornecê-lo com FileSaver.js.
Should Be Noticed
- Se estiver a utilizar o último Tampermonkey, ou receber um aviso de “Um script de utilizador quer aceder a um recurso de origem cruzada” a partir do Tampermonkey, por favor Permitir Tudo ou desligar “@connect mode” na página de configuração. Para mais informações, ver detalhes aqui
E-Hentai usa agorahath.network
domínio para aceder a imagens, e está agora listado em@connect
, por isso não é necessário definir isto com o último Tampermonkey - Se vir uma mensagem sobre falta de memória no Firefox, ou ficheiro não encontrado no Chrome, ver solução aqui.
Em suma, recomenda-se o uso de Pages Range para limitar cada ficheiro zip abaixo dos 500 MB, e activar o File System se estiver a usar o Chrome, ou usar outras ferramentas, ou actualizar o seu PC com mais RAM - ViolentMonkey não suporta timeout, URL final e progresso de download
O último ViolentMonkey suporta estas características agora - O modo de download com uma única linha é removido em 1.18, se precisar dele, volte à versão antiga
Não use uma versão antiga, não suporta o site actual - Também pode dar uma vista de olhos no E-Hentai Image Viewing Limits
- A maioria das galerias pode ter torrentes para descarregar. Pode descarregar arquivo com torrent para obter uma experiência de descarregamento estável, obter conteúdo bónus (a maioria na galeria cosplay), ganhar GP e crédito, e reduzir a pressão dos servidores originais E-Hentai (embora seja um site P2P)
Aqui estão algumas outras informações compatíveis, o que não é importante.
- Tampermonkey usa uma forma suja de dar
GM_xhr.response
conteúdo (transferênciasString
aArrayBuffer
todas as vezes), por isso ficará preso durante 1~3 segundos ou mais após o download da imagem (depende do seu dispositivo). Se estiver a utilizar o Microsoft Edge, poderá ver frequentemente a aba de trabalho presa, dizendo que não está a responder. Basta deixá-lo ir e não fazer nada. E se estiver a usar Firefox, é melhor usar GreaseMonkey deste lado
O problema do congelamento deve ser resolvido em Tampermonkey 4.12.6125 - TrixIE (para IE) é demasiado antigo e o seu
GM_xhr
não pode lidar com grandes conteúdos, por isso não é suportado
li>Dolphin Browser (Android) não suporta o URL do blob, por isso este script não pode ser executado em Tampermonkey para Dolphin provavelmenteli>UC Browser (Android) não suporta construtor de blob, por isso este script não pode ser executado em Tampermonkey para UC provavelmenteli>Opera 12- não suporta o URL do blob, e se gerado como URL de dados, pode falhar, por isso não é suportado
Aviso e Limitação
Uso de Memória
O script armazenará TODOS os dados em RAM, não em HDD. Isto irá aumentar a utilização da memória do processo de tabulação actual. Portanto, se não tiver RAM suficiente, ou se o arquivo for demasiado grande (ver secção de limite de tamanho de ficheiro), preste atenção ao seu uso de memória, ou tente outras ferramentas de download.
oproblema “Fora da memória” é o mais limitador do script (de facto, todas as secções de “Aviso e Limitação” são sobre problema de RAM, e aqui está também uma etiqueta específica de fora da memória para rotular todos os problemas relacionados). Se obtiver um erro como fora da memória, veja a solução aqui. E se normalmente tiver o problema, tente outras ferramentas.
Browser Developer Tools
Para nos ajudar a depurar, o script irá emitir alguns logs na consola (F12 -> Console). Se encontrar um bug, pode continuar a abrir os devtools para ver e copiar os logs. Mas note que pode aumentar a utilização de memória e reduzir a eficiência de funcionamento. Portanto, não abra a consola apenas se quiser ver os registos de saída.
Limite de tamanho de ficheiro
(Esta parte é um pouco longa, pode simplesmente ler a tabela)
Diferentes navegadores têm diferentes limites de tamanho máximo de ficheiro. Aqui está uma tabela para mostrar o tamanho máximo que o browser suportado pode suportar.
Browser | |
---|---|
Chrome 56- | 500 MB |
Chrome 57+ | 2 GB ou (total RAM / 5) |
Chrome (com Sistema de Ficheiros) | 1 GB / > 2GB (com 1.33+) |
Firefox | > 800MB (depende da sua RAM) |
Opera 15+ | Same as Chrome |
Edge 18->/td> | ? |
Same as Chrome | |
Safari 10.1+ | ? |
Maxthon | ? |
Para o Google Chrome 56-, tem um limite duro de 500 MB no armazenamento de Blob durante anos. Isto significa que todos os ficheiros que em armazenamento não podem ser maiores que 500MB no total, e se o armazenamento não tiver espaço livre suficiente para guardar o próximo ficheiro, devolverá uma falsa instância de Blob silenciosamente, sem quaisquer erros. Também para o Chrome 45-, Blob.close()
não implementou (e está deprimido, pelo que nenhum navegador o suporta agora), pelo que não podemos libertar imediatamente aqueles Blob usados nesse momento, apenas para os paralizar o navegador irá GC o mais rápido possível (e durante a maior parte do tempo não funcionou). É por isso que aqui está uma página wiki para o ajudar a trabalhar em torno disto.
Para o ajudar a guardar ficheiros maiores, o script pode guardar o ficheiro Zip no Sistema de Ficheiros, uma API HTML5 depreciada mas que ainda funciona no Chrome (uma vez que é o Chrome a introduzir o padrão primeiro). Com a API, pode manusear ficheiros maiores porque os dados do ficheiro serão escritos no seu disco em vez de serem armazenados em Blob Storage, o seu limite também é suficientemente grande (10% do seu disco livre de armazenamento, 15 GB no máximo). Mas ao processar o ficheiro, os ficheiros ainda são mantidos em RAM, e se os dados forem demasiado grandes, o Chrome pode também não os conseguir tratar. Do meu teste o limite máximo talvez 1 GB, se tiver apenas 8 GB de RAM, mas também pode depender do seu dispositivo. Se tiver RAM suficiente, pode descarregar uma galeria maior que 2 GB com 1.33+.
Chrome 57+ fixa o limite de 500 MB de Blob Storage, para que possa manusear ficheiros maiores em RAM, tal como o File System. A sua quota ainda existe mas é maior, o que se baseia nos limites abaixo, e aqui ficam alguns exemplos para o tornar mais claro:
Quota em memória:
2GB
se o sistema for x64 e NÃO ChromeOS ou AndroidTotal RAM amount / 5
;quotaDisk:
Disk size / 2
se ChromeOS (tamanho do disco da partição do utilizador)Disk size / 20
se AndroidDisk size / 10
caso contrário.Também, se o disco estiver quase cheio, tentamos manter pelo menos
(in-memory quota)*2
espaço em disco disponível, e limitamos a quota de disco em conformidade.
Para Firefox, a partir dos nossos dados anteriores do FileSaver.js, o limite é de 800 MB. Mas a partir dos nossos testes, é possível guardar o ficheiro com mais de 800 MB. Assim, pensamos que o limite do Firefox depende do seu dispositivo, uma vez que armazena o Blob na RAM. Se tiver uma RAM maior, pode guardar um ficheiro maior. Contudo, deve preocupar-se com a sua utilização de RAM, como se o Firefox não conseguir obter mais RAM para gerar o Zip, irá atirar um erro “fora da memória”. Para lhe dar alguns conselhos, não mais de 200 MB se estiver a usar 4 GB de RAM, e tenha cuidado com mais de 800 MB se estiver a usar 8 GB de RAM.
Opera 15+ é um navegador baseado em Chromium, para que possa verificar a sua versão Chromium e compará-la com a versão Chrome para obter o seu limite. Todos os outros navegadores baseados em Cromo também podem usar esta regra.
Safari 10.1+ suporta finalmente download
atributo em <a>
tag, para que agora possa fazê-lo funcionar no Safari. Não temos demasiados dados sobre o limite de Blob do Safari, por isso se estiver a lidar com o Safari, tenha cuidado com o seu uso de RAM.
Todo List
Ver planos e progressos aqui, repare que alguns deles podem ser alterados ou removidos dentro de algum tempo.
Reportar um Bug
Pode reportar um bug ou dar sugestões no GitHub Issue ou no GreasyFork Feedback. Inglês e Chinês são aceitáveis 😝
Por isso, se encontrou algum erro, não hesite em informar-me =ω=
Desculpe, o meu código está um pouco desarrumado, por isso pode ser difícil para o seu desenvolvimento. Tentarei optimizá-lo dentro de mais algum tempo 😅