5 个版本
0.1.4 | 2022年4月14日 |
---|---|
0.1.3 | 2022年3月24日 |
0.1.2 | 2022年3月24日 |
0.1.1 | 2022年3月22日 |
0.1.0 | 2022年3月20日 |
#1046 in 编码
30KB
218 代码行
domain_changer
domain_changer 是一个 Rust 库,帮助您将链接的域名更改为另一个域名,该库有助于保护隐私。它可以将不关心隐私的网站域名更改为关心隐私的网站。
示例
解析字符串
解析字符串并将旧网址转换为新的网址
注意:您可以随意更改域名
use domain_changer::parse_string;
use domain_changer::types::Config;
let text: String = "Wellcome to my youtube channel: https://www.youtube.com/channel/UCeRbJsc8cl7xBwT3jIxaAdg And my twitter is: twitter.com/Awiteb".to_string();
let config: Config = Config::default();
assert_eq!(parse_string(&config, text),
"Wellcome to my youtube channel: https://piped.kavin.rocks/channel/UCeRbJsc8cl7xBwT3jIxaAdg And my twitter is: https://nitter.net/Awiteb".to_string()
);
提取域名
您可以从字符串中提取域名(只需将域名添加到配置中即可)
use domain_changer::extract_old_domains;
use domain_changer::types::{Config, Domain};
let config: Config = Config::default();
let text: String = String::from(
"Hi i hate youtube.com and https://twitter.com what about you?"
);
assert_eq!(
extract_old_domains(&config, text),
vec![
&Domain::try_from(("https://youtube.com/", "https://piped.kavin.rocks/")).unwrap(),
&Domain::try_from(("https://twitter.com/", "https://nitter.net/")).unwrap()
]
);
序列化和反序列化(json 功能)
在 Domain 结构和 Config 中将 json 序列化和反序列化
注意:需要
json
功能
Domain
use domain_changer::types::{Domain, ToFromJson};
let domain: Domain = Domain::try_from(("https://twitter.com/", "https://nitter.net/")).unwrap();
assert_eq!(domain.to_json().unwrap(), "{\"old\":\"https://twitter.com/\",\"new\":\"https://nitter.net/\"}");
assert_eq!(Domain::from_json("{\"old\":\"https://twitter.com/\",\"new\":\"https://nitter.net/\"}").unwrap(), domain);
assert!(Domain::from_json("{\"old\":\"twitter.com/\",\"new\":\"nitter.net/\"}").is_err());
Config
use domain_changer::types::{Config, Domain, ToFromJson};
let config: Config = Config::new(vec![Domain::try_from(("https://twitter.com/", "https://nitter.net/")).unwrap()]);
assert_eq!(
config.to_json().unwrap(),
"{\"domains\":[{\"old\":\"https://twitter.com/\",\"new\":\"https://nitter.net/\"}]}".to_string()
);
assert_eq!(
Config::from_json("{\"domains\":[{\"old\":\"https://twitter.com/\",\"new\":\"https://nitter.net/\"}]}").unwrap(),
config
);
捐赠
货币 | 地址 |
---|---|
Binance BNB BEP20 | 0xD89c146B03B72191be91064D313610981dCAF6d4 |
USD Coin USDC BEP20 | 0xD89c146B03B72191be91064D313610981dCAF6d4 |
Bitcoin BTC | bc1q0ltmqmsc4qs740ssyf9k9jq99nwxtqu8aupmdj |
Bitcoin Cash BCH | qrpm6zyte3d4z2u9r24l04m3havc2wd9vgqlz8sjgr |
贡献者
许可证
GNU Affero 通用公共许可证 是一种免费、版权保留的许可证,专门用于软件和其他类型的工作,旨在确保网络服务器软件与社区的协作。
依赖项
~1–1.6MB
~54K SLoC