Skip to content

samukhin/rargo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rargo

Простой архиватор 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

About

Свободный архиватор RAR на языке GoLang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages