オンライン ZIP ビューアについて
あなたのファイルを、私たちが関知すべきものではないと考える ZIP ビューアです。
これは何か
オンライン ZIP ビューアは、Web ブラウザ上で ZIP を開き、中身を確認し、個々のファイルをプレビューし、本当に必要な部分だけをダウンロードできるツールです。インストールするものも、登録するものもなく、利用量の上限もありません。
実体は静的な Web サイトと少しの JavaScript です。ZIP を開くと、その JavaScript がブラウザの中で直接読み込みます。ほかのあらゆるサイトがあなたのパソコンに触れられないようにしているのと同じサンドボックスの中での処理です。ファイルがどこかへ送られることはありません。
なぜ作ったのか
ZIP をオンラインで開く方法を検索すれば、選択肢はいくらでも見つかります。ただ、その仕組みを見ていくと、あるパターンが浮かび上がります。ほとんどがアップロードを求めるのです。あなたのファイルは会ったこともない誰かのサーバーへ渡り、そこで展開され、その運営者が決めた期間だけ一時ストレージに置かれます。
猫の写真ならそれでも構いません。しかし、自分の個人データの書き出しや、クライアントの機密素材、確定申告の書類一式となると、ソフトを入れずに済むという便利さと引き換えにするには割に合いません。
ブラウザはもう何年も前から、この処理をローカルでこなせます。タブの中で ZIP を読む技術は十年以上前から存在しています。それでもほとんど誰もその作りにしなかったのは、アップロード方式のほうが実装が楽で、しかも従量課金のプランを売る商売になるからです。私たちは、まともなほうのバージョンが存在すべきだと考えました。
仕組み
ZIP をドロップすると、ブラウザからバイト列が渡され、私たちはそれを Web Worker というバックグラウンドスレッドで解析します。これにより、非常に大きなファイルでもページは操作できたままです。ZIP のセントラルディレクトリを読み、各エントリの実際のサイズ、日時、圧縮情報を含む正確な一覧を取得し、そこから画面に表示するフォルダツリーを組み立てます。
求められるまで、何も展開しません。ファイルをクリックすると、そのファイルだけが、あなたが見ている間だけメモリ上に展開されます。ZIP を閉じれば消えます。
私たちが動かしている唯一のサーバー側のコードが、URL から開く機能のための中継です。ブラウザは、相手のドメインが許可していない限り別ドメインのファイルを読み込みません。そして多くのファイルホストは許可していません。そのため直接の取得が拒否されたときだけ、私たち自身のエンドポイントを通してバイト列を流し、ダウンロードを完了させます。扱うのはあなた自身が入力した公開 URL のみで、ディスクには何も書き込まず、何も保持しません。
私たちの考え
ツールはひとつの仕事をきちんとこなすべきです。これは ZIP を見るためのものです。あなたのメールアドレスを欲しがらず、インターネット上で後を付け回さず、Pro プランもありません。
限界について正直であることも、その一部です。パスワード保護された ZIP はここでは開けません。関係する暗号化形式が、私たちの使っているライブラリで対応されていないからです。あいまいなエラーで失敗する代わりに、その旨をはっきりお伝えします。非常に大きな ZIP の上限は、私たちが決めたルールではなく、あなたの端末のメモリによって決まります。そして URL の中継は現実のサーバーが現実のバイト列に触れる処理なので、ありもしない潔白を主張せず、こうして説明しています。