1996年、まだブラウザでのダウンロードが不安定だった時代。

途中で切れたファイルを最初から落とし直すたびに、開発者たちは頭を抱えていた。

そんなとき、登場したのが wget

「途中で止まった? なら続きから再開する」

「リンクが大量? まとめて全部拾ってくる」

シンプルだが徹底的に実用的なこのツールは、やがて数十年後も現役で使われる“無口な職人”となる。

  • 年表
    出来事
    1996 GNUプロジェクトの一環としてwgetが登場
    1998 再帰ダウンロード機能追加
    2000 HTTPS対応
    2004 Windows版が登場しクロスプラットフォーム化
    2010 大規模ミラーリング用途で企業にも浸透
    2020 wget2プロジェクト始動(パフォーマンス改善版)
  • 製作者

    製作者:Hrvoje Nikšić(フルヴォイェ・ニクシッチ)

    • クロアチア出身のソフトウェアエンジニア。
    • 90年代、Webをコマンドラインから自在に扱えるようにするためにwgetを開発。

  • ストーリー

    不安定なインターネットの救世主

    1996年、ダウンロードは地獄だった。

    モデム回線で数MBのファイルを落とすのに数時間。途中で切断されれば最初からやり直し。

    開発者たちは、夜通し端末の前に座り、進捗バーをにらみ続けるしかなかった。

    そこで登場したのが、GNUプロジェクト発の「wget」。

    • 中断したら続きから再開(レジューム機能)
    • 大量のリンクを自動で辿って一括ダウンロード(再帰ダウンロード)
    • バックグラウンド実行可能(ターミナルを閉じても動き続ける)

    wgetは、黙々とファイルを取りに行く“自動化の職人”として一気に広まった。


    競合:curlとの哲学の違い

    1997年、curlが登場する。

    curlはAPI操作やプロトコル対応の豊富さで開発者に愛されたが、wgetは一貫して「ダウンロード専用」を貫いた。

    • wget:ファイル取得の自動化に特化(Webサイトのミラーリング向き)
    • curl:APIや複雑なリクエスト処理も可能な万能ツール

    この住み分けにより、wgetは「大量ダウンロードのプロ」、curlは「通信のスイスアーミーナイフ」として、それぞれの地位を確立していく。


    wgetが愛された理由

    wgetは「実用第一主義」を貫いた。

    • GUI不要:スクリプトに組み込みやすい
    • 軽量:Linuxサーバーならほぼ確実にプリインストール
    • 再現性:リンクを再帰的にたどり、Webサイト全体をミラー可能

    特にシステム管理者やアーカイブ愛好家からは「wgetさえあれば世界中のサイトをローカルに持ち帰れる」と重宝された。


    wget2という進化

    2020年、wgetの後継「wget2」が登場。

    HTTP/2対応、並列ダウンロード、高速化が図られ、巨大なファイル群やクラウド環境での利用に最適化されている。

    だが面白いのは、いまだにオリジナルのwgetが現役だということだ。

    25年以上経っても廃れないコマンドは、IT業界でも稀有な存在だ。


    現代のwget

    今やwgetは、開発者だけでなく運用・保守の現場でも静かに動き続けている。

    • 大規模サイトのバックアップ
    • コンテンツの一括取得
    • IoT機器での軽量ファイル取得
    • 企業の社内ツールに埋め込まれたダウンロードバッチ
    # Webサイトを丸ごとダウンロード
    wget --mirror --convert-links --adjust-extension --page-requisites --no-parent <https://example.com>
    
    

    シンプルだが、やることはきっちりやる。それがwgetの哲学だ。

  • 現代での活用
    • Webアーカイブ用のミラーリング
    • CI/CDでのビルド成果物の取得
    • Linuxサーバーでの自動スクリプト
    • wget2による大規模ファイル群の高速取得

  • 虎の巻
    • c:中断したダウンロードを再開
    • r:再帰的にダウンロード
    • -limit-rate=200k:帯域制限でサーバーに優しい取得
    • b:バックグラウンド実行
    • -mirror:Webサイトをミラーリング

  • 結び

    wgetは「静かに働く職人」だ。

    派手さはないが、25年以上にわたり世界中のサーバーで確実に動き続けてきた。

    API時代のいまも、wgetは変わらず「必要なものを、ただ確実に持ち帰る」存在であり続ける。

  • 参考文献
    • GNU Wget公式ドキュメント
    • Wget2プロジェクト(GitLab)
    • ダウンロード自動化に関する初期開発者インタビュー

Leave a comment

CAPTCHA