rars 0.7.3

High-level Rust API for reading, extracting, writing, and repairing RAR archives.
Documentation

rars

A Rust implementation of RAR.

Status

rars covers the RAR compression and decompression from early RE~^ archives through to RAR 7. It's getting faster, and kinda works.

Usage

The rars crate is the API, which is what the Python package uses. For the CLI run cargo install rars-cli.

Inspect, test, and extract archives:

rars info archive.rar
rars test archive.rar
rars x archive.rar out/

Create archives with specific RAR generation:

rars a --format rar29 archive.rar files...
rars a --format rar50 --solid --auto-filter archive.rar files...
rars a --format rar70 --store --volume-size 10m archive.part1.rar files...

The writer supports stored and compressed members, split volumes, passwords, header encryption where implemented, comments, RARVM filters, RAR5 quick-open records, and supported recovery records. There are a lot of args, run rars --help for more info.

Bindings

Python bindings are published to pypi, so you can pip install rars. To build locally, it's maturin develop.

For JS it's WebAssembly, published to npm, so npm install @bitplane/rars. It reads and writes in the browser and in Node, with no native module. The name is scoped because npm's typo-squat filter refuses the bare rars. To build locally, just npm.