Простой архиватор RAR 5.0 в режиме store.
- Создаёт архивы RAR 5.0 без сжатия (режим store).
- Поддерживает файлы и директории.
- Шифрование файлов с паролем (AES-256 CBC с PBKDF2, 524288 итераций).
- Потоковая обработка для файлов >64MB (низкое потребление памяти).
- Graceful shutdown при прерывании (Ctrl+C).
- Валидация путей: пропуск симлинков, предупреждение для файлов >1TB.
- Совместим с unrar 5.x и 6.x.
- Интерфейс командной строки.
go build -o rargo ../rargo a archive.rar file1.txt directory/ [--verbose] [--password PASS]a: Команда добавления.archive.rar: Выходной файл архива.file1.txt directory/: Файлы и директории для архивации.--verbose: Выводить прогресс.--password PASS: Пароль для шифрования файлов.
echo "Hello World" > test.txt
mkdir testdir
echo "File in dir" > testdir/file.txt
./rargo a archive.rar test.txt testdir --verbose --password mypass
unrar x archive.rar
# При распаковке unrar запросит пароль- Использует буферизованный I/O (128KB) для эффективной записи.
- Минимальное использование памяти для файлов <64MB.
- Потоковая обработка для файлов >64MB: чтение chunks (64KB), CRC на лету, шифрование по chunks (если пароль).
- Concurrency для обработки нескольких файлов.
- Шифрование использует PBKDF2 с 524288 итерациями для безопасности.
MIT