Crates.io | squashfs-ng |
lib.rs | squashfs-ng |
version | 0.1.3 |
source | src |
created_at | 2022-10-31 14:36:07.330236 |
updated_at | 2024-03-21 14:33:45.83075 |
description | High-level Rust wrapper for squashfs-tools-ng |
homepage | |
repository | https://github.com/showermat/squashfs-ng-rs |
max_upload_size | |
id | 702243 |
size | 218,339 |
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.