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配置

Download history 4/week @ 2024-03-08 2/week @ 2024-03-15 7/week @ 2024-03-29 3/week @ 2024-04-05

每月73次 下载

MIT 协议

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