/unrar.rs

Rust library for extracting, listing and testing RAR archives.

Primary LanguageRust

unrar.rs

Travis Build Status crates.io

High-level wrapper around the unrar C library provided by rarlab.

Please look inside the examples directory to see how to use this library!
Specifically the lister example is well documented and advanced!

Basic example to list archive entries:

extern crate unrar;

fn main() {
    for entry in unrar::Archive::new("archive.rar".into()).list().unwrap() {
        println!("{}", entry.unwrap());
    }
}

Run this example: cargo run --example basic_list.
Note that you need to put an archive.rar in the directory first.
For example, by using the rar CLI: rar a archive.rar .

Features

  • Multipart files
  • Listing archives
  • Extracting them
  • Testing them (not fully tested yet)
  • Encrypted archives with password
  • Linked statically against the unrar source.
  • Build unrar C++ code from source
  • Basic functionality that operates on filenames / paths (without reading archives)
  • More documentation / RustDoc
  • Tests

Contributing

Feel free to contribute! If you detect a bug or issue, open an issue.

Pull requests are welcome!

Help

If you need help using the library, ping me at irc.mozilla.org, my handle is danyel

License

While this crate uses the MIT license for the Rust parts, the embedded C++ library has a different license.

For more informations, see its license file.