3 个版本 (破坏性)
0.3.0 | 2023年11月24日 |
---|---|
0.2.0 | 2023年1月11日 |
0.1.0 | 2022年7月30日 |
0.0.0 |
|
#164 in 压缩
每月下载 35 次
用于 electron_tasje
55KB
1K SLoC
asar
此 crate 允许解析、读取和写入 asar 归档,通常在基于 Electron 的应用程序中看到。
示例
列出 asar 归档的内容
use asar::{AsarReader, Header, Result};
use std::fs;
fn main() -> Result<()> {
let asar_file = fs::read("archive.asar")?;
let asar = AsarReader::new(&asar_file)?;
println!("There are {} files in archive.asar", asar.files().len());
for path in asar.files().keys() {
println!("{}", path.display());
}
Ok(())
}
从 asar 归档中读取文件
use asar::{AsarReader, Header, Result};
use std::{fs, path::PathBuf};
fn main() -> Result<()> {
let asar_file = fs::read("archive.asar")?;
let asar = AsarReader::new(&asar_file)?;
let path = PathBuf::from("hello.txt");
let file = asar.files().get(&path).unwrap();
let contents = std::str::from_utf8(file.data()).unwrap();
assert_eq!(contents, "Hello, World!");
Ok(())
}
向 asar 归档中写入文件
use asar::{AsarWriter, Result};
use std::fs::File;
fn main() -> Result<()> {
let mut asar = AsarWriter::new();
asar.write_file("hello.txt", b"Hello, World!", false)?;
asar.finalize(File::create("archive.asar")?)?;
Ok(())
}
功能
integrity
:启用完整性检查/计算。check-integrity-on-read
:在读取归档时启用完整性检查,如果任何完整性检查失败则失败。write
- 启用写入 asar 归档。 默认启用,也启用integrity
。
许可证
asar
根据 MIT 许可证 或 Apache 许可证 2.0 许可,由用户选择。
许可证:Apache-2.0 OR MIT
修正
我,@Absolucy,完全允许在任何地方使用我的代码(包括整个项目 asar-rs),无论许可证如何,用于训练旨在用于通用编程或代码分析的机器学习模型。
依赖关系
~10–21MB
~284K SLoC