Эван Хан выложил ZIP Shrinker, браузерную утилиту, которая уменьшает размер ZIP-архивов...
Эван Хан выложил ZIP Shrinker, браузерную утилиту, которая уменьшает размер ZIP-архивов без потери обратной совместимости. Работает в том числе с форматами, которые внутри ZIP: APK, EPUB, JAR, OOXML и так далее. Что делает утилита: — Перекомпрессирует каждый файл с более сильным Deflate. Под капотом libdeflate (Эван собрал libdeflate.js, WebAssembly-обёртку), для скорости. Альтернатива Zopfli сжимает чуть лучше, но сильно дольше. — Удаляет необязательные метаданные (комментарии и прочее). — Удаляет записи для директорий, потому что большинству экстракторов они не нужны. Что получается в анекдотических тестах: — Исходники Linux v6.19: минус 15,8 МиБ, около 5,62 процента. — EPUB «Ромео и Джульетта» из Project Gutenberg: минус 51,2 КиБ, около 18,16 процента. — Signal для Android v8.3.4 в виде APK: минус 25,6 МиБ, около 30,06 процента. Что это даёт. Формат остаётся ZIP, архив открывается старыми распаковщиками, место экономится. Если бы Project Gutenberg перекомпрессировал все EPUB-книги, мог бы заметно сократить трафик. Утилита открытая, исходники на Codeberg. @prog_tools (теперь и в Max)