_____ ______________ __________ ___________________ ___
| / | | | | | |
| _/ __ _| __ | | ___ ___ |__| |
| | | | | | | | | | | |
| | /| |__| _ |__| |____| | | | | __ |
| | ___/ | | | | | | | | |
|___| |__________| _____________________| |___| |___| |___|
O sonho de qualquer acumulador de dados se torna realidade: agrupar qualquer página da web em um único arquivo HTML. Você pode finalmente substituir aquele zilhão de abas abertas por um zilhão de arquivos .html armazenados em algum lugar da sua preciosa unidade.
Ao contrário do convencional “Salvar página como”, monolith
não apenas salva o documento de destino, mas também incorpora recursos CSS, imagem e JavaScript de uma só vez , produzindo um único documento HTML5 que é um prazer armazenar e compartilhar.
Se comparada a salvar sites com wget -mpk
, esta ferramenta incorpora todos os ativos como URLs de dados e, portanto, permite que os navegadores renderizem a página salva exatamente como estava na Internet, mesmo quando nenhuma conexão de rede estiver disponível.
cargo install monolith
brew install monolith
choco install monolith
scoop install main/monolith
winget install --id=Y2Z.Monolith -e
sudo port install monolith
snap install monolith
guix install monolith
nix-env -iA nixpkgs.monolith
flox install monolith
pacman -S monolith
apk add monolith
xbps-install -S monolith
pkg install monolith
cd /usr/ports/www/monolith/
make install clean
cd /usr/pkgsrc/www/monolith
make install clean
docker build -t y2z/monolith .
sudo install -b dist/run-in-container.sh /usr/local/bin/monolith
Dependências: libssl
, cargo
cargo -v
Se o cargo ainda não estiver instalado, instale-o e adicione-o ao $PATH
existente (parafraseando as instruções oficiais de instalação):
curl https://sh.rustup.rs -sSf | sh
. "$HOME/.cargo/env"
Prossiga com a instalação a partir do código-fonte:
git clone https://github.com/Y2Z/monolith.git
cd monolith
make install
Cada versão contém binários pré-construídos para Windows, GNU/Linux, bem como plataformas com arquitetura de CPU não padrão.
monolith https://lyrics.github.io/db/P/Portishead/Dummy/Roads/ -o portishead-roads-lyrics.html
cat some-site-page.html | monolith -aIiFfcMv -b https://some.site/ - > some-site-page-with-assets.html
-a
: Exclui fontes de áudio-b
: Use custom base URL
-B
: Proíbe a recuperação de ativos de domínio(s) especificado(s)-c
: Excluir CSS-C
: Ler cookies do file
-d
: permite a recuperação de ativos apenas de domain(s)
-e
: Ignora erros de rede-E
: Salva o documento usando custom encoding
-f
: Omitir quadros-F
: Excluir fontes da web-h
: Imprime informações de ajuda-i
: Remover imagens-I
: Isole o documento-j
: Excluir JavaScript-k
: Aceita certificados X.509 (TLS) inválidos-M
: Não adicione carimbo de data/hora e informações de URL-n
: Extrai o conteúdo dos elementos NOSCRIPT-o
: Grava a saída no file
(use “-” para STDOUT)-s
: Fique quieto-t
: Ajusta network request timeout
-u
: Fornece custom User-Agent
-v
: Excluir vídeos As opções -d
e -B
fornecem controle sobre quais domínios podem ser usados para recuperar ativos, por exemplo:
monolith -I -d example.com -d www.example.com https://example.com -o example-only.html
monolith -I -B -d .googleusercontent.com -d googleanalytics.com -d .google.com https://example.com -o example-no-ads.html
O Monolith não possui um mecanismo JavaScript, portanto, sites que recuperam e exibem dados após o carregamento inicial podem exigir o uso de ferramentas adicionais.
Por exemplo, o Chromium (Chrome) pode ser usado para atuar como pré-processador para essas páginas:
chromium --headless --window-size=1920,1080 --run-all-compositor-stages-before-draw --virtual-time-budget=9000 --incognito --dump-dom https://github.com | monolith - -I -b https://github.com -o github.html
Defina as variáveis de ambiente https_proxy
, http_proxy
e no_proxy
.
Abra um problema se algo estiver errado, isso ajuda a melhorar este projeto.
Na medida do possível por lei, o(s) autor(es) dedicaram todos os direitos conexos e relacionados aos direitos autorais deste software ao domínio público em todo o mundo. Este software é distribuído sem qualquer garantia.