Skip to content

showermat/squashfs-ng-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

squashfs-ng-rs

This library wraps the squashfs-tools-ng libraries, providing tools for reading and writing SquashFS archives. It aims to provide safe high-level abstractions over the lower-level interface provided by the underlying library.

// Create an archive from a file hierarchy on disk
use squashfs::write::TreeProcessor;
TreeProcessor::new("archive.sfs")?.process("/path/to/directory")?;

// Read the contents of a file from an archive
use squashfs::read::Archive;
let archive = Archive::open("archive.sfs")?;
match archive.get("/etc/passwd")? {
    None => println!("File not present"),
    Some(node) => if let Data::File(file) = node.data()? {
        println!("{}", file.to_string()?);
    },
}

Squashfs-tools-ng must be installed to build or use this library -- for example, squashfs-tools-ng in the AUR for Arch Linux. The current commit is intended to be built against release v1.3.0.

See the API documentation for more.

About

Rust bindings for squashfs-tools-ng

Resources

License

Stars

Watchers

Forks

Packages

No packages published