Repolode
tamnd

tamnd/kage

WebサイトをヘッドレスChromeで描画してから、オフラインで閲覧できるスクリプトなしのHTMLとしてフォルダに保存するGo製CLI。

代替できる製品:HTTrackEvernote Web Clipper

スター
3,485
フォーク
135
未解決の Issue
9
最終コミット
2 か月前

これは何?

kageはWebサイトをローカルフォルダに複製し、オフラインで閲覧できるようにします。各ページをヘッドレスChromeで開いて読み込み完了を待ち、ユーザーに表示される状態のDOMをスナップショットとして保存した後、JavaScriptをすべて削除し、CSS、画像、フォントをローカルパスにダウンロードします。生成された.htmlファイルはディスクから直接開けて、コードは実行されません。

クロールは幅優先で行われ、robots.txtに従います。sitemap.xmlをシードとして利用でき、深さ、ページ数、パスのプレフィックス、サブドメインで対象を制限できます。中断したクロールは保存済みの状態から再開でき、refreshを指定して再実行すると、既存のミラーをその場で更新します。

完成したミラーは組み込みの静的サーバーで配信したり、Kiwixツールで読める単一のZIMアーカイブにまとめたり、実行するとサイトを配信する自己完結型の実行ファイルにしたりできます。パッケージ化ではmacOSの.appバンドルやLinux AppImage形式のランチャーも作成でき、オプションのwebviewビルドではネイティブウィンドウでサイトを開けます。

主な機能

  • 01ヘッドレス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 とは?
WebサイトをヘッドレスChromeで描画してから、オフラインで閲覧できるスクリプトなしのHTMLとしてフォルダに保存するGo製CLI。 kageはWebサイトをローカルフォルダに複製し、オフラインで閲覧できるようにします。各ページをヘッドレスChromeで開いて読み込み完了を待ち、ユーザーに表示される状態のDOMをスナップショットとして保存した後、JavaScriptをすべて削除し、CSS、画像、フォントをローカルパスにダウンロードします。生成された.htmlファイルはディスクから直接開けて、コードは実行されません。
kage は無料で使えますか?ライセンスは?
kage は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
kage は今もメンテナンスされていますか?
半年以内に更新あり。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 の数値は毎日更新されます。

関連プロジェクト