#url #parse-url #tracking #text-input #privacy #links #parser

untrack

用于解析并从任意文本输入中删除URL跟踪令牌的库

6个版本

0.1.5 2024年7月28日
0.1.4 2024年7月26日

#793 in 解析器实现

Download history 309/week @ 2024-07-21 146/week @ 2024-07-28 2/week @ 2024-08-04

每月457次下载

MIT 许可证

30KB
676

untrack 库

该库旨在从任何文本输入中删除URL跟踪令牌。该库可以替换原始URL或将清洗后的URL列表返回给文本输入。

用例

删除跟踪令牌可以提高共享包含这些令牌的链接的用户以及打开共享链接的消费者的隐私性。

支持的跟踪令牌

该库目前支持Twitter、X、YouTube、Instagram、Substack和Spotify的跟踪令牌。确切令牌可以在src/parsing_params.rs中找到。

示例用法

fn clean_urls_from_any_text(input: &String) -> Option<Vec>

let input = 
String::from("Twitter link: https://twitter.com/user/status/123?utm_source=test&s=1234");

let expected = vec!["https://twitter.com/user/status/123".to_string()];

assert_eq!(clean_urls_from_any_text(&input), Some(expected));

fn replace_urls_in_place(input: &mut String) -> Option<&mut String>

let mut input = String::from("Multiple URLs: https://twitter.com/user/status/123?s=12 and https://www.youtube.com/watch?v=abc&feature=share");

let result = replace_urls_in_place(&mut input);

assert!(result.is_some());

assert_eq!(input, "Multiple URLs: https://twitter.com/user/status/123 and https://www.youtube.com/watch?v=abc");

依赖项

~1.2–1.6MB
~52K SLoC