- Добавлен файл 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 для двоичных файлов.
91 lines
4.7 KiB
Markdown
91 lines
4.7 KiB
Markdown
# 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!** 🙏
|