Repolode
tamnd

tamnd/kage

웹사이트를 headless Chrome에서 먼저 렌더링한 뒤, 오프라인에서 둘러볼 수 있는 스크립트 없는 HTML 폴더로 복제하는 Go CLI입니다.

대체할 수 있는 제품:HTTrackEvernote Web Clipper

스타
3,485
포크
135
열린 이슈
9
마지막 커밋
2개월 전

어떤 프로젝트인가요?

kage는 웹사이트를 오프라인에서 둘러볼 수 있도록 로컬 폴더에 복제합니다. 각 페이지를 headless Chrome에서 열어 로딩이 끝날 때까지 기다린 다음, 사용자가 보는 것처럼 DOM을 저장하고 JavaScript를 모두 제거한 뒤 CSS, 이미지, 폰트를 로컬 경로로 다운로드합니다. 생성된 .html 파일은 디스크에서 바로 열 수 있으며 코드를 실행하지 않습니다.

사이트는 너비 우선 방식으로 크롤링하며 robots.txt를 준수하고 sitemap.xml을 시작점으로 사용할 수 있습니다. 크롤링 범위는 깊이, 페이지 수, 경로 접두사 또는 서브도메인 기준으로 제한할 수 있습니다. 중단된 크롤링은 저장된 상태에서 재개할 수 있고, refresh 옵션으로 다시 실행하면 기존 미러를 제자리에서 갱신합니다.

완성된 미러는 내장 정적 서버로 제공하거나, Kiwix 도구에서 읽을 수 있는 단일 ZIM 아카이브 또는 실행 시 사이트를 제공하는 독립 실행 파일로 패키징할 수 있습니다. 패키징 시 macOS .app 번들이나 Linux AppImage 스타일 런처도 만들 수 있으며, 선택 사항인 webview 빌드를 사용하면 사이트를 네이티브 창에서 열 수 있습니다.

핵심 기능

  • 01headless Chrome에서 페이지를 렌더링하고 스크립트를 제거한 최종 DOM을 저장합니다.
  • 02CSS, 이미지, 폰트를 다운로드해 로컬 경로로 바꾸므로 페이지를 오프라인에서 사용할 수 있습니다.
  • 03robots.txt를 준수하며 sitemap.xml을 시작점으로 사용할 수 있습니다.
  • 04중단된 크롤링을 재개하고 기존 미러를 제자리에서 갱신할 수 있습니다.
  • 05미러를 ZIM 아카이브나 독립 실행 파일로 패키징합니다.
  • 06미리 빌드된 바이너리, Docker 이미지, Linux 패키지를 제공합니다.

활용 사례

  • 블로그나 문서 사이트를 복사해 비행기 안이나 Wi-Fi가 없는 곳에서 오프라인으로 읽기.
  • 내용이 바뀌거나 사라질 수 있는 페이지를 보관하기.
  • 사이트의 정적 스냅샷을 단일 파일로 만들어 다른 사람과 공유하기.
  • 데스크톱 시스템에서 더블클릭해 실행할 수 있는 오프라인 사이트 뷰어 만들기.

빠른 시작

  1. 1

    Go로 kage 설치하기

    go install github.com/tamnd/kage/cmd/kage@latest
  2. 2

    웹사이트를 로컬 폴더에 클론하기

    kage clone paulgraham.com
  3. 3

    브라우저에서 http://127.0.0.1:8800에 접속해 오프라인으로 클론 둘러보기

    kage serve $HOME/data/kage/paulgraham.com

사용 전 알아둘 점

  • 컨테이너 이미지를 사용하는 경우가 아니라면 호스트에 Chrome 또는 Chromium이 설치되어 있어야 합니다.
  • 패키징된 바이너리에는 kage 도구 전체가 포함되므로 사이트 외에 약 13 MiB가 필요합니다.
  • 네이티브 WebView 창은 cgo와 플랫폼 WebView가 필요하므로 선택적으로 활성화해야 합니다.

토픽

자주 묻는 질문

kage은(는) 무엇인가요?
웹사이트를 headless Chrome에서 먼저 렌더링한 뒤, 오프라인에서 둘러볼 수 있는 스크립트 없는 HTML 폴더로 복제하는 Go CLI입니다. kage는 웹사이트를 오프라인에서 둘러볼 수 있도록 로컬 폴더에 복제합니다. 각 페이지를 headless Chrome에서 열어 로딩이 끝날 때까지 기다린 다음, 사용자가 보는 것처럼 DOM을 저장하고 JavaScript를 모두 제거한 뒤 CSS, 이미지, 폰트를 로컬 경로로 다운로드합니다. 생성된 .html 파일은 디스크에서 바로 열 수 있으며 코드를 실행하지 않습니다.
kage은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
kage은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
kage은(는) 아직 유지보수되고 있나요?
6개월 이내 업데이트. kage의 마지막 커밋은 2026년 8월 10일입니다.
kage은(는) 어디에 사용할 수 있나요?
블로그나 문서 사이트를 복사해 비행기 안이나 Wi-Fi가 없는 곳에서 오프라인으로 읽기. 내용이 바뀌거나 사라질 수 있는 페이지를 보관하기. 사이트의 정적 스냅샷을 단일 파일로 만들어 다른 사람과 공유하기. 데스크톱 시스템에서 더블클릭해 실행할 수 있는 오프라인 사이트 뷰어 만들기.
kage는 어떻게 설치하나요?
Go로 kage 설치하기: go install github.com/tamnd/kage/cmd/kage@latest 웹사이트를 로컬 폴더에 클론하기: kage clone paulgraham.com 브라우저에서 http://127.0.0.1:8800에 접속해 오프라인으로 클론 둘러보기: kage serve $HOME/data/kage/paulgraham.com
kage은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/tamnd/kage

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트