- Добавлен файл LICENSE с лицензией GNU General Public License версии 3.0. - Создан скрипт PowerShell (build-all.ps1) для сборки двоичных файлов Windows и Linux из Windows с использованием кросс-компиляции. - Разработан скрипт сборки Linux (build-linux.sh) для сборки двоичных файлов Linux. - Реализован скрипт PowerShell (build-windows.ps1) для сборки двоичных файлов Windows. - Каждый скрипт сборки включает упаковку и генерацию контрольной суммы SHA256 для двоичных файлов.
4.7 KiB
4.7 KiB
Universal File Compress {{VERSION}}
Высокопроизводительный инструмент на Go для массового сжатия PDF и изображений (JPEG/PNG) с удобным TUI-интерфейсом, гибкой конфигурацией и модульной архитектурой.
✨ Ключевые возможности
Сжатие файлов:
- 📄 PDF — два алгоритма на выбор: PDFCPU (скорость) и UniPDF (качество)
- 🖼️ Изображения — JPEG (10–50% качество), PNG (адаптивная оптимизация)
- 🔄 Интеллектуальное сжатие — автоматический выбор оригинала при неэффективном сжатии
Производительность и обработка:
- 🚀 Параллельная обработка с настраиваемым количеством воркеров
- 📁 Рекурсивное сканирование с сохранением структуры папок
- ⚡ Пакетная обработка больших коллекций файлов
- 🔁 Повторы при ошибках (retry) и таймауты
Интерфейс и управление:
- 🎨 TUI (Text User Interface) — настройка, запуск и мониторинг прогресса
- ⚙️ YAML конфигурация — гибкое управление параметрами сжатия
- 📊 Детальное логирование в файл и консоль с ротацией
- 🔧 Clean Architecture — расширяемая модульная структура
🆕 Что нового в этом релизе
- Реализован выбор между алгоритмами PDFCPU и UniPDF для PDF
- Добавлена поддержка сжатия изображений (JPEG, PNG)
- Улучшен TUI с прогресс-индикатором и статистикой обработки
- Оптимизирована параллельная обработка больших файлов
- Добавлена атомарная замена файлов с резервным копированием
- Расширена конфигурация через YAML-файлы
📦 Установка и запуск
Быстрая установка
- Скачайте архив для вашей операционной системы
- Распакуйте в желаемую папку
- Запустите исполняемый файл
Системные требования
- Операционная система: Windows 10+, Linux, macOS 10.14+
- Свободное место на диске: минимум 50 МБ
- Оперативная память: рекомендуется 512 МБ
💻 Поддерживаемые платформы
| Платформа | Архитектура | Файл для скачивания |
|---|---|---|
| Windows | x64 (amd64) | compress-{{VERSION}}-windows-amd64.zip |
| Windows | ARM64 | compress-{{VERSION}}-windows-arm64.zip |
| Linux | x64 (amd64) | compress-{{VERSION}}-linux-amd64.tar.gz |
| Linux | ARM64 | compress-{{VERSION}}-linux-arm64.tar.gz |
🚀 Использование
После установки программу можно запустить несколькими способами:
Интерактивный режим (TUI):
./compress
# Windows: .\compress.exe
Пакетная обработка директории:
./compress --input /path/to/files --output /path/to/compressed --config config.yaml
Обработка с выбором алгоритма:
# PDF через PDFCPU (быстрее)
./compress --input ./pdfs --algorithm pdfcpu
# PDF через UniPDF (выше качество)
./compress --input ./pdfs --algorithm unipdf
Сжатие изображений:
./compress --input ./images --output ./compressed --format jpeg --quality 85
📖 Документация
- README.md — полное руководство по использованию и конфигурации
- config.yaml.example — пример конфигурационного файла с комментариями
- Документация по архитектуре — описание Clean Architecture подхода
- Примеры использования — различные сценарии обработки файлов
Благодарим за использование Compress! 🙏