# 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-файлы ## 📦 Установка и запуск ### Быстрая установка 1. Скачайте архив для вашей операционной системы 2. Распакуйте в желаемую папку 3. Запустите исполняемый файл ### Системные требования - Операционная система: 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):** ```bash ./compress # Windows: .\compress.exe ``` **Пакетная обработка директории:** ```bash ./compress --input /path/to/files --output /path/to/compressed --config config.yaml ``` **Обработка с выбором алгоритма:** ```bash # PDF через PDFCPU (быстрее) ./compress --input ./pdfs --algorithm pdfcpu # PDF через UniPDF (выше качество) ./compress --input ./pdfs --algorithm unipdf ``` **Сжатие изображений:** ```bash ./compress --input ./images --output ./compressed --format jpeg --quality 85 ``` ## 📖 Документация - **README.md** — полное руководство по использованию и конфигурации - **config.yaml.example** — пример конфигурационного файла с комментариями - Документация по архитектуре — описание Clean Architecture подхода - Примеры использования — различные сценарии обработки файлов --- **Благодарим за использование Compress!** 🙏