発生日:2026年6月14日。

GitHubで公開されているコマンドライン型アーカイブツール「Kage」は、現代的なウェブページのレンダリング完了後に、オフライン閲覧用としてサイトを保存する方法を提供する。ヘッドレスChromeを使って各ページを読み込み、表示された文書が安定するのを待ち、生成されたDOMを記録し、JavaScriptを削除して、ダウンロードしたスタイルシート、画像、フォントの参照先をローカルパスに書き換える。その結果、ネットワーク接続なしで開ける静的HTMLファイル一式が作成される。

この処理手順が、Kageとブラウザーの基本的な保存コマンドとの違いである。最初は最低限の枠組みだけが届くページでは、読者が目にするコンテンツを生成するためにスクリプトへ依存している場合がある。Kageはキャプチャー中にそれらのスクリプトを実行させた後、保存されたコピーから除外する。完成したアーカイブではスクリプトが一切実行されないため、動的なコードに依存する機能はインタラクティブなサービスとしては保存されない。このツールは、レンダリングされた閲覧体験とそのローカルアセットを保持することを目的としている。

Cloneコマンドは幅優先でクロールを実行する。プロジェクトの文書によると、`robots.txt`を読み取り、`sitemap.xml`を入力として使用し、操作者が動作を変更しない限り開始時のホスト内にとどまる。プロトコルや末尾のスラッシュが異なるURLであっても、同じ出力ファイルに解決されるページは1回だけ取得される。中断されたクロールは位置を記録して再開できるほか、別のオプションにより既存のキャプチャーを更新したり、最初からやり直したりできる。

Kageは、小規模なローカルウェブサーバーを通じてミラー化したフォルダーを配信できるため、個々のファイルを直接開く場合よりも、リンクとアセットの解決を忠実に維持できる。また、このフォルダーを、Kiwixのオフラインコンテンツ・エコシステムで使われる文書化済み形式であるZIMアーカイブに統合することもできる。KageのZIMファイルは、互換性のあるデスクトップおよびモバイル向けリーダーで開ける。生成されるアーカイブには、一部のKiwixパッケージでコンテンツ全体の検索を可能にするインデックスデータは含まれない。

もう一つのパッキングモードでは、アーカイブとKageの実行ファイルを結合する。そのファイルを実行すると、受け取った側がKageやZIMリーダーをインストールしなくても、キャプチャーしたサイトが配信される。基本となる実行ファイルはプラットフォーム固有で、アーカイブ済みコンテンツとは別に約13MiBが追加される。作成者は別のオペレーティングシステム向けのベースを選択でき、appオプションを使えば、より一般的なダブルクリックで起動できる形にもできる。プロジェクトでは決定論的なパッケージングについても説明しており、これは同一のミラーから、チェックサムやキャッシュに適した同一のファイルが生成されるはずだという意味である。

キャプチャーにはChromeまたはChromiumが必要となる。Kageはシステムにインストールされたものを検出できるほか、ブラウザーのパスを明示的に指定したり、Chromiumを同梱したコンテナイメージから実行したりできる。したがって、その設計は単純な生データのダウンローダーとしての簡潔さと引き換えに、実際のブラウザーによるレンダリング処理を行い、その後、元のページやスクリプトが利用できなくなっても役立つことを意図した、あえて非動作状態にしたアーカイブを作成する。