О проекте ZIP-просмотрщик онлайн
ZIP-просмотрщик, который считает ваши файлы не своим делом.
Что это такое
ZIP-просмотрщик онлайн открывает ZIP-архивы в вашем браузере, чтобы вы могли увидеть, что внутри, посмотреть отдельные файлы и скачать только то, что вам действительно нужно. Ничего не нужно устанавливать, нигде не нужно регистрироваться, и нет ограничений на то, сколько вы этим пользуетесь.
Всё это — статический сайт плюс немного JavaScript. Когда вы открываете архив, этот JavaScript читает его прямо в браузере, в той же песочнице, которая не даёт любому другому сайту дотянуться до вашего компьютера. Ваш файл никуда не отправляется.
Зачем мы это сделали
Поищите способ открыть ZIP-файл онлайн — и вариантов найдётся много. Но присмотритесь, как они устроены, и увидите закономерность: почти все просят загрузить архив. Ваш файл уезжает на сервер, принадлежащий человеку, которого вы никогда не видели, распаковывается там и лежит во временном хранилище ровно столько, сколько решит его владелец.
Для фотографии кота — ладно. Для выгрузки ваших личных данных, конфиденциальных материалов клиента или папки с налоговыми документами это по-настоящему невыгодный размен ради удобства не устанавливать программу.
Браузеры умеют делать эту работу локально уже давно. Технологии, позволяющей прочитать ZIP-файл во вкладке, больше десяти лет. Почти никто так инструмент не делал, потому что загрузку на сервер проще реализовать и на ней проще построить бизнес с тарифами. Мы решили, что версия получше должна существовать.
Как это работает
Когда вы перетаскиваете архив, браузер передаёт нам байты, а мы разбираем структуру ZIP в фоновом потоке — в Web Worker, — чтобы страница оставалась отзывчивой даже на очень больших файлах. Мы читаем центральный каталог архива, получаем точный список всех записей с настоящим размером, датой и параметрами сжатия, а затем строим дерево папок, которое вы видите.
Ничего не распаковывается, пока вы об этом не попросите. Нажмите на файл — и извлекается только он, в память, ровно на то время, пока вы на него смотрите. Закройте архив, и от него ничего не останется.
Единственный кусок серверного кода, который у нас работает, — ретранслятор для открытия по ссылке. Браузеры отказываются читать файл с чужого домена, если тот домен явно этого не разрешил, а большинство файловых хостингов этого не делают. Поэтому, когда прямой запрос отклонён, мы пропускаем байты потоком через собственную точку доступа, чтобы скачивание завершилось. Она работает только с публичными ссылками, которые вы ввели сами, ничего не пишет на диск и ничего не хранит.
Во что мы верим
Инструмент должен как следует делать одно дело. Этот — показывать ZIP-файлы. Ему не нужен ваш адрес электронной почты, он не будет ходить за вами по интернету, и у него нет тарифа Pro.
Честность про ограничения — часть того же подхода. Архивы, защищённые паролем, здесь открыть нельзя, потому что используемая нами библиотека не поддерживает нужные форматы шифрования, — и мы говорим об этом прямо, а не падаем с невнятной ошибкой. Очень большие архивы упираются в память вашего устройства, а не в придуманное нами правило. А ретранслятор ссылок — это настоящий сервер, через который проходят настоящие байты, поэтому мы его описываем, а не изображаем чистоту, которой у нас нет.