21 个版本
0.6.5 | 2024年8月14日 |
---|---|
0.6.3 | 2023年10月13日 |
0.5.2 | 2023年7月30日 |
0.4.2 | 2022年9月27日 |
0.3.1-beta | 2020年10月27日 |
#79 在 电子邮件
每月320 次下载
285KB
6.5K SLoC
Twistrs 是一个基于异步 Rust 的域名排列和枚举库。
该库旨在快速、模块化且易于客户端使用。
要查看的两个主要结构体是 Domain 和 DomainMetadata
。
此外,排列 和 枚举 的模块文档提供了更详细的关于如何独立使用每个模块的细节。
异步进行域名排列和丰富。
示例
以下是一个使用 Tokio mpsc 的简单示例。
use twistrs::enrich::DomainMetadata;
use twistrs::permutate::Domain;
use tokio::sync::mpsc;
#[tokio::main]
async fn main() {
let domain = Domain::new("google.com").unwrap();
let permutations = domain.addition();
let (tx, mut rx) = mpsc::channel(1000);
for permutation in permutations {
let domain_metadata = DomainMetadata::new(permutation.domain.fqdn.clone());
let mut tx = tx.clone();
tokio::spawn(async move {
if let Err(_) = tx.send((permutation.clone(), domain_metadata.dns_resolvable().await)).await {
println!("received dropped");
return;
}
drop(tx);
});
}
drop(tx);
while let Some(i) = rx.recv().await {
println!("{:?}", i);
}
}
依赖项
~10–21MB
~352K SLoC