11 个不稳定版本 (3 个破坏性版本)
0.7.1 | 2024年2月14日 |
---|---|
0.7.0 | 2024年2月9日 |
0.6.4 | 2023年11月8日 |
0.5.2 | 2022年10月16日 |
0.4.0 | 2022年2月18日 |
#187 在 配置
每月73次 下载
17KB
337 行
clearurl
这是 ClearURL 库的 Rust 实现。
功能
- 声明式配置
- 完全支持正则表达式
- 支持 302 重定向
- 支持批量应用子域配置
- URL 重写后的后处理钩子
使用方法
- 库
# Cargo.toml
clearurl = { version = "0.6", features = ["hooks"] }
use clearurl::URLCleaner;
#[tokio::main]
async fn main() {
std::fs::write("rules.toml", r#"
["b23.tv"]
redirect = true
["bilibili.com"]
sub = ["www", "live", "m"]
ban = [
"-Arouter",
"bbid",
"buvid",
"callback",
"from.*",
"is_story_h5",
"mid",
"msource",
"plat_id",
"refer_from",
"seid",
"share.*",
"spm_id.*",
"timestamp",
"ts",
"unique_k",
"up_id",
"vd_source",
]
post_hooks = [ "bv_to_av" ]
"#).unwrap();
let cleaner = URLCleaner::from_file("./rules.toml").unwrap();
let url = cleaner.clear("https://b23.tv/Cj2HC2K").await.unwrap();
assert_eq!(
url.as_str(),
"https://www.bilibili.com/video/av746592874/?p=1"
);
}
依赖项
~7–23MB
~319K SLoC