_____ ______________ __________ ___________________ ___
| / | | | | | |
| _/ __ _| __ | | ___ ___ |__| |
| | | | | | | | | | | |
| | /| |__| _ |__| |____| | | | | __ |
| | ___/ | | | | | | | | |
|___| |__________| _____________________| |___| |___| |___|
데이터 저장자의 꿈이 실현됩니다. 모든 웹페이지를 단일 HTML 파일로 묶습니다. 마침내 수많은 열린 탭을 소중한 작은 드라이브 어딘가에 저장된 수많은 .html 파일로 대체할 수 있습니다.
기존의 "다른 이름으로 페이지 저장"과 달리 monolith
대상 문서를 저장할 뿐만 아니라 CSS, 이미지, JavaScript 자산을 한 번에 포함하여 저장하고 공유하기에 즐거운 단일 HTML5 문서를 생성합니다.
wget -mpk
사용하여 웹사이트를 저장하는 것과 비교하면 이 도구는 모든 자산을 데이터 URL로 포함하므로 네트워크 연결을 사용할 수 없는 경우에도 브라우저가 저장된 페이지를 인터넷에 있었던 것과 똑같은 방식으로 렌더링할 수 있습니다.
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
종속성: libssl
, cargo
cargo -v
Cargo가 아직 설치되지 않은 경우 이를 설치하고 기존 $PATH
에 추가합니다(공식 설치 지침을 다른 말로 표현):
curl https://sh.rustup.rs -sSf | sh
. "$HOME/.cargo/env"
소스에서 설치를 진행합니다.
git clone https://github.com/Y2Z/monolith.git
cd monolith
make install
모든 릴리스에는 Windows, GNU/Linux 및 비표준 CPU 아키텍처를 갖춘 플랫폼용으로 사전 구축된 바이너리가 포함되어 있습니다.
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
: 오디오 소스 제외-b
: custom base URL
사용-B
: 지정된 도메인에서 자산 검색을 금지합니다.-c
: CSS 제외-C
: file
에서 쿠키 읽기-d
: 지정된 domain(s)
-e
: 네트워크 오류를 무시합니다.-E
: custom encoding
사용하여 문서 저장-f
: 프레임 생략-F
: 웹 글꼴 제외-h
: 도움말 정보 인쇄-i
: 이미지 제거-I
: 문서를 분리합니다.-j
: 자바스크립트 제외-k
: 유효하지 않은 X.509(TLS) 인증서 허용-M
: 타임스탬프 및 URL 정보를 추가하지 않습니다.-n
: NOSCRIPT 요소의 내용 추출-o
: file
에 출력 쓰기(STDOUT에는 "-" 사용)-s
: 조용히 하세요-t
: network request timeout
조정-u
: custom User-Agent
제공-v
: 동영상 제외 -d
및 -B
옵션은 자산을 검색하는 데 사용할 수 있는 도메인에 대한 제어를 제공합니다. 예:
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
Monolith에는 JavaScript 엔진이 없으므로 초기 로드 후 데이터를 검색하고 표시하는 웹사이트에는 추가 도구를 사용해야 할 수 있습니다.
예를 들어 Chromium(Chrome)을 사용하여 다음과 같은 페이지의 전처리기 역할을 할 수 있습니다.
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
https_proxy
, http_proxy
및 no_proxy
환경 변수를 설정하세요.
문제가 있으면 문제를 열어주세요. 그러면 이 프로젝트를 더 좋게 만드는 데 도움이 됩니다.
법에 따라 가능한 범위 내에서 저자는 이 소프트웨어에 관련된 모든 저작권 및 저작인접권을 전 세계 공개 도메인에 부여했습니다. 이 소프트웨어는 어떠한 보증도 없이 배포됩니다.