kage — JavaScriptを除去してWebサイトをオフライン保存するGo製CLIツール
kage — JavaScriptを除去してWebサイトをオフライン保存するGo製CLIツール
kageはヘッドレスChromeでWebページを完全レンダリングした後、すべてのJavaScriptを削除してオフライン閲覧可能なHTMLとして保存するCLIツールです。スクリプト排除でプライバシーを守りながら10年後も動くWebアーカイブを作成できます。
GitHubで急上昇中の tamnd/kage をご紹介します。 スター数 1638★ を獲得し、CLI分野で注目されているツールです。
kage とは?JavaScriptを除去してWebをオフライン保存するツール
kage(影)は、Webサイトのオフライン保存における長年の課題を解決するGo製CLIツールです。従来の「名前を付けて保存」では、JavaScriptに依存したページを後で開くと空白画面やスピナーが表示されることがありました。kageはヘッドレスChromeを使いページを実際にレンダリングし、人間が見るのと同じDOMスナップショットを取得した後にすべてのスクリプトを削除します。
CSS・画像・フォントはローカルにダウンロードされ、ネットワーク接続不要で閲覧できるHTMLファイルとして保存されます。複数ページをZIMファイルや単一実行バイナリにまとめる機能も備えており、配布や長期保管に適しています。
こんな人におすすめ:
- エンジニア向け: Webクローリングパイプラインの前処理・アーカイブ自動化・ドキュメントサイトのオフライン配布に活用できます
- 非エンジニア向け: プログラミング知識が必要なため、エンジニア専用ツールです
主な機能・特徴
- ヘッドレスChromeで動的ページを完全レンダリング: JavaScriptアプリ・SPA・レンダリング後のコンテンツも確実にキャプチャします
- JavaScript完全除去: 保存したHTMLにはスクリプトが一切含まれず、トラッキング・ネットワーク呼び出しがゼロです
- サイト全体のミラーリング:
kage cloneでサイト全体を再帰的にクローンし、ローカルミラーを一括構築します - ZIM/バイナリへのパック: 複数ページを1つのZIMファイルや自己完結型の実行ファイルにまとめられます
- Docker対応: コンテナイメージにChromiumが同梱されており、ホストにChromeをインストール不要です
- シェル補完: bash・zsh・fish・PowerShellの補完スクリプトが標準搭載されています
Go CLI Webアーカイブ 無料 オープンソース — 使い方・始め方
インストール
Go環境があれば1コマンドでインストールできます。
go install github.com/tamnd/kage/cmd/kage@latest
Dockerを使えばChrome不要で即利用可能です。
docker run --rm -v "$PWD/out:/out" ghcr.io/tamnd/kage clone paulgraham.com
基本フロー
サイトをクローンしてオフラインで閲覧する手順は3ステップです。
# 1. サイトのミラーを作成
kage clone example.com
# 2. ブラウザでプレビュー
kage serve $HOME/data/kage/example.com
# → http://127.0.0.1:8800 でアクセス可能
# 3. 単一ファイルにパック
kage pack example.com
# → example.com.zim が生成される
活用事例
- 技術書ライター・フリーランスエンジニア: 出張や飛行機内で技術ドキュメントを参照するため、事前に公式ドキュメントサイトを丸ごとクローンしてオフライン環境を構築する
- 情報セキュリティ担当者: フィッシングサイトやマルウェア配布サイトのスナップショットをJavaScript排除状態でアーカイブして証拠保全する
- 研究者・アーカイバー: 閉鎖リスクのある学術サイトや技術ブログを長期保存用バイナリにパックして将来にわたって参照可能な状態で保管する
関連ツール・おすすめサービス
- DigitalOcean — kageのバッチクローリングをスケジュール実行するのに最適な開発者向けクラウド・App Platformでかんたんデプロイ
- さくらVPS — 国内ホスティングでkageサーバーをセルフホストするならこちらがおすすめ
まとめ
kageはJavaScriptに依存したモダンなWebサイトを確実にオフライン保存したいエンジニアに最適なツールです。アーカイブ作業の自動化・技術ドキュメントの保全・プライバシー重視のWebリーディング環境構築に幅広く活用できます。GoエコシステムとDocker対応により、CI/CDパイプラインへの統合も容易です。
この技術を学ぶ
CLIツール開発に興味を持った方には、UdemyのGo言語・自動化コースもおすすめです。
- 🎓 関連するCLIコース一覧 — セール時(最大90%OFF)を狙うとお得です
関連記事
この記事が役に立ったらシェアしてください