회사 ATS 채용 페이지에서 IT 채용 공고를 직접 모으는 오픈소스 구직 검색 엔진으로, MIT 라이선스로 자체 호스팅할 수 있습니다.
tamnd/kage
웹사이트를 headless Chrome에서 먼저 렌더링한 뒤, 오프라인에서 둘러볼 수 있는 스크립트 없는 HTML 폴더로 복제하는 Go CLI입니다.
대체할 수 있는 제품:HTTrack
Evernote 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
Go로 kage 설치하기
go install github.com/tamnd/kage/cmd/kage@latest - 2
웹사이트를 로컬 폴더에 클론하기
kage clone paulgraham.com - 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 통계는 매일 갱신됩니다.
관련 프로젝트
기록한 브라우저 작업을 MCP 명령이나 Claude Skills로 변환해 AI 에이전트가 브라우저를 제어하도록 지원하는 자동화 플랫폼입니다.
CasaOS는 개인 하드웨어에서 Docker 앱을 실행하고 파일을 관리하는 홈 중심 웹 UI를 갖춘 오픈소스 개인용 클라우드 시스템입니다.
Rust로 작성된 오프라인·개인정보 우선 영어 문법 검사기로, 편집기·브라우저·Node.js에서 사용할 수 있습니다.
Google Photos Takeout 아카이브를 포함한 사진 컬렉션을 Node.js 없이 셀프 호스팅 Immich 서버에 업로드하는 Go CLI 도구입니다.