概要
ZIP 内の HTML ファイルを、解凍することなく直接ブラウザで閲覧するためのローカル HTTP サーバです。
ZIP でまとめた HTML ファイルを閲覧したいけれど、解凍するのが面倒な時や、ちょっと内容を確認したい時などに。
ブラウザは任意のものを使ってください。
コマンドラインプログラムなので、端末上で実行して、ローカルサーバとして動作させます。
ZIP でまとめた HTML ファイルを閲覧したいけれど、解凍するのが面倒な時や、ちょっと内容を確認したい時などに。
ブラウザは任意のものを使ってください。
コマンドラインプログラムなので、端末上で実行して、ローカルサーバとして動作させます。
- 一般的な ZIP ファイルのみ対応。
(64bit ZIP や、暗号化、無圧縮/Deflate 以外の圧縮方法などには対応していません) - 日本語ファイル名などを含む場合でも表示できます。
(UTF-8 以外の場合、-c オプションで文字エンコードを指定しないと文字化けします) - URL でファイルではなくディレクトリを指定した場合、そのディレクトリ下に index.html または index.htm がない場合はファイルのリストを表示します。
(-I コマンドで常にファイルリストを表示できます)
仕組み
HTTP サーバとして起動したこのプログラムが、ブラウザとデータのやりとりをします。
ブラウザ側から要求されたファイルは、このプログラムが ZIP ファイル内から見つけて展開し、データをブラウザに渡します。
ブラウザ側から要求されたファイルは、このプログラムが ZIP ファイル内から見つけて展開し、データをブラウザに渡します。
ソースコード
コンパイル
C コンパイラ、make、zlib の開発用ファイルが必要です。
コンパイラが GCC 以外の場合は、iconv も必要。
Debian/Ubuntu: gcc make zlib1g-dev
/usr/local/bin に、実行ファイル lhttpzip がコピーされます。
コンパイラが GCC 以外の場合は、iconv も必要。
Debian/Ubuntu: gcc make zlib1g-dev
$ tar xf lhttpzip-1.0.0.tar.bz2 $ cd lhttpzip-1.0.0 $ ./configure $ make $ sudo make install
/usr/local/bin に、実行ファイル lhttpzip がコピーされます。
使い方
端末上で以下のコマンドを実行します。
閲覧したい ZIP ファイルのパスを引数として渡します。
正常にサーバとして起動した場合、プログラムはそのまま実行され続けます。
その状態で、ブラウザで以下の URL を開きます。
http://localhost:8080/
または
http://127.0.0.1:8080/
ZIP 内のルートディレクトリに index.html または index.htm があれば、そのファイルが表示されます。
ない場合はファイルのリストが表示されます。
プログラムがサーバとして実行されている間のみ、閲覧できます。
プログラムを終了させると、ブラウザ上で閲覧できません。
プログラムを終了させるには、実行している端末上で Ctrl+C を押すか、kill コマンドでプロセスを終了させます。
閲覧したい ZIP ファイルのパスを引数として渡します。
$ lhttpzip <zip_filename>
正常にサーバとして起動した場合、プログラムはそのまま実行され続けます。
その状態で、ブラウザで以下の URL を開きます。
http://localhost:8080/
または
http://127.0.0.1:8080/
ZIP 内のルートディレクトリに index.html または index.htm があれば、そのファイルが表示されます。
ない場合はファイルのリストが表示されます。
プログラムがサーバとして実行されている間のみ、閲覧できます。
プログラムを終了させると、ブラウザ上で閲覧できません。
プログラムを終了させるには、実行している端末上で Ctrl+C を押すか、kill コマンドでプロセスを終了させます。