4 个版本
0.1.3 | 2024 年 5 月 21 日 |
---|---|
0.1.2 | 2024 年 5 月 21 日 |
0.1.1 | 2024 年 5 月 17 日 |
0.1.0 | 2024 年 5 月 14 日 |
#295 在 缓存
每月 49 次下载
24KB
498 行
一个安全、零拷贝、基于 Rust 的 Chrome 缓存解析器,支持 Chrome 缓存版本 2.0、2.1 和 3.0。
目前,它只解析缓存条目本身。您可以使用它以编程方式检查缓存索引,例如,显示存储在缓存中的已知缓存键(例如,URI),以及一些条目元数据(时间戳等)。由于我目前没有提取缓存数据的能力,它不提供提取缓存数据的实用程序。它也仅支持与缓存条目一起存储的缓存键,而不是较长的、带外缓存键。
运行示例
默认情况下,它将显示典型 Google Chrome 缓存路径中的缓存条目。提供 --path
来指向其他位置。
cargo run --example display-chrome-cache
示例用法
use std::{path::PathBuf};
use chrome_cache_parser::{CCPError, CCPResult, ChromeCache};
use chrono::{DateTime, Local};
let cache = ChromeCache::from_path(PathBuf::from(path)).unwrap();
let entries = cache.entries().unwrap();
entries.for_each(|e| {
let e = e.get().unwrap();
println!("[{:?}\t=>\t{:?}]: {:?}", e.hash, e.key, DateTime::<Local>::from(e.creation_time));
});
实现
实现主要只是通过 zerocopy 库进行转换,以及对缓存索引的哈希表和内部条目链表的懒惰遍历。
背景
有关 Chrome 缓存实现的概述,请参阅此处。
Chromium 源代码对于理解缓存格式非常有帮助。
特别是
依赖项
~1.8–2.7MB
~44K SLoC