Pack Camo
Rust · WebAssembly · ноль загрузок на сервер

Конвертируйте что угодно.
Сжимайте всё.
Не загружайте ничего.

Pack Camo — набор инструментов для файлов, который работает внутри вкладки вашего браузера. Изображения, структурированные данные, архивы и документы декодируются, конвертируются и перекодируются на вашем собственном компьютере. Без аккаунта, без очереди, без сервера, который хоть на миг держит у себя ваши файлы.

  • Файлы не покидают вкладку
  • Кодеки с нативной скоростью
  • Работает и без сети
Хамелеон Pack Camo сидит, скрестив ноги, и медитирует

Пять инструментов, четыре рабочие области

Выберите форму задачи

Каждый инструмент — полноценная рабочая область, а не поле для одноразовой загрузки: перетащите файл, покрутите настройки и посмотрите, как меняется результат, прежде чем что-либо скачивать.

Почему локально

Конвертация происходит там, где файл уже находится

Большинство онлайн-конвертеров просят отдать файл машине, о которой вы ничего не знаете, подождать в очереди, а потом скачать его обратно. Этот пропускает все три шага.

Приватность по построению

Здесь нет конечной точки загрузки, которой нужно доверять, потому что в цепочке нет сервера. Ваш файл считывается в память, конвертируется и возвращается вам как загрузка.

Настоящие кодеки, а не трюки с canvas

Те же библиотеки, что используют десктопные инструменты — крейт image, rav1e, vtracer, miniz_oxide, Brotli — скомпилированные из Rust в WebAssembly.

Вне основного потока

Каждая конвертация выполняется в Web Worker, поэтому кодирование 12-мегапиксельного AVIF никогда не замораживает страницу, на которую вы смотрите.

Без тарифов и водяных знаков

Без аккаунта, без дневной квоты, без потолка размера файла — кроме памяти, которую выделит ваш собственный браузер.

Все настройки на виду

Качество, усилие кодировщика, ограничение длинной стороны, пороги трассировщика, уровень сжатия. Значения по умолчанию разумны; ничего не спрятано.

Работает с выключенным Wi-Fi

Как только страница и её wasm-модули закешированы, инструменты продолжают работать в самолёте, в поезде или за корпоративным прокси.

Под капотом

Четыре крейта Rust, скомпилированные в WebAssembly

Здесь нет обёрток вокруг хостируемого API. Логика конвертации — обычный Rust, покрытый модульными тестами на десктопе и доставленный в браузер как wasm.

  1. 1

    Крейт Rust

    Каждый инструмент — небольшой библиотечный крейт с простым, тестируемым ядром: тот же код, что использовала бы утилита командной строки.

  2. 2

    wasm-bindgen

    Тонкий слой привязок превращает эти функции в модуль WebAssembly, который браузер может вызывать напрямую.

  3. 3

    Web Worker

    Модуль создаётся один раз внутри воркера, поэтому тяжёлое кодирование никогда не блокирует интерфейс.

crates/

  • image-codecs

    Декодирование и кодирование WebP, AVIF, JPEG, PNG и других

    image · rav1e · libwebp (optional)

  • svg-converter

    Подгонка кривых к цветовым областям и вывод настоящих векторных контуров

    vtracer · visioncortex

  • data-convert

    Одно типизированное дерево, шесть текстовых форматов плюс Markdown

    serde · csv · toml · pulldown-cmark

  • archive-tools

    gzip, zlib, DEFLATE, Brotli и ZIP в обе стороны

    flate2 · brotli · zip

Вопросы

Часто задаваемые вопросы

То, что разумно проверить, прежде чем перетаскивать файл на сайт.

Pack Camo действительно бесплатный?
Да. Нет ни аккаунта, ни водяных знаков, ни дневной квоты, ни тарифов по размеру файла. Всё это — статическое веб-приложение; единственная цена конвертации — процессорное время вашего же компьютера.
Мои файлы загружаются на сервер?
Нет. Каждая конвертация происходит внутри вашего браузера: инструменты для изображений, данных и архивов — через модули WebAssembly, скомпилированные из Rust, конвертеры документов — на JavaScript на той же странице. Ваш файл считывается в память, конвертируется и предлагается к скачиванию. Он никогда не проходит через сеть, поэтому потом нечего удалять.
Какие файлы он умеет конвертировать?
Четыре семейства. Изображения: на входе PNG, JPEG, WebP, GIF, BMP, TIFF, ICO и SVG, на выходе WebP, AVIF, JPEG, PNG или трассированный SVG. Структурированный текст: JSON, JSONL, YAML, TOML, CSV и TSV в любом направлении, плюс Markdown в HTML. Документы: .docx из Word в PDF и PDF обратно в .docx. А вообще любой файл можно сжать с помощью gzip, zlib, DEFLATE или Brotli либо упаковать в ZIP.
Чем это отличается от других онлайн-конвертеров?
Большинство из них загружают ваш файл в очередь на чужой машине и выдают ссылку. Pack Camo декодирует и кодирует локально теми же библиотеками кодеков, что и десктопная программа, — поэтому он продолжает работать и без подключения к сети.
Работает ли он на телефоне?
Да, в любом современном мобильном браузере с поддержкой WebAssembly. Очень большие изображения будут ограничены памятью, которую браузер выделяет вкладке, поэтому на телефоне стоит ограничить длинную сторону перед кодированием.
Почему хамелеон?
Потому что суть работы — адаптация: то же содержимое, перестроенное так, чтобы подойти туда, куда ему нужно дальше, без изменения того, чем оно является.
Хамелеон Pack Camo, довольный собой

Перетащите файл. Смотрите, как он меняется.

Ничего не нужно устанавливать, нигде не нужно регистрироваться, и ничего никуда не отправляется. Выберите рабочую область и начинайте.