JPEG Compressor
Простое CLI-приложение для сжатия JPEG изображений.

Установка
⚠️ Для режима -w/--webp требуется установленная библиотека libwebp:
macOS:
brew install webp
Ubuntu/Debian:
apt-get install libwebp-dev
Fedora:
dnf install libwebp-devel
Используя make
Показать окружение сборки:
make env
Построить бинарник (без поддержки WebP):
make build
# В результате появится ./build/jcompressor
Построить с поддержкой WebP (требует CGO и libwebp):
make build-webp
Установить (по умолчанию в /usr/local/bin):
make install
# если нужно sudo — Makefile сам использует sudo при необходимости
Установить в кастомный префикс (пример для локальной установки в /opt):
make install PREFIX=/opt
Удалить установленный бинарник:
make uninstall
Полная очистка артефактов сборки:
make clean
Используя go
Без поддержки WebP (статическая сборка):
CGO_ENABLED=0 go build -o ./build/jcompressor ./cmd/jcompressor
С поддержкой WebP (требует libwebp):
CGO_ENABLED=1 go build -o ./build/jcompressor ./cmd/jcompressor
Параметры запуска
Запустить собранный бинарник:
jcompressor --help
Usage: jcompressor [flags] <input.jpg> [output_dir]
Flags:
-h show help
-help
show help
-q int
JPEG quality (1-100) (default 50)
-quality int
JPEG quality (1-100) (default 50)
-w also create WebP version
-webp
also create WebP version
If output_dir is omitted, files will be saved to ./compressed
Note: WebP support requires CGO and libwebp library.
Pre-built releases are compiled without WebP support for easier distribution.
Дополнительная документация
- CHANGELOG.md - История изменений
- docs/ - План по сборке CGO бинарников (для будущего)