rsubdomain 1.2.14

A high-performance subdomain brute-force tool written in Rust
Documentation
use rsubdomain::{brute_force_subdomains, SubdomainBruteConfig, SubdomainBruteEngine};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    println!("rsubdomain 库使用快速入门");

    println!("\n=== 方法1: 便捷函数 ===");
    let domains = vec!["github.com".to_string()];
    match brute_force_subdomains(domains, None, None, true, None, false, false, false, None).await {
        Ok(results) => {
            println!("发现 {} 个子域名", results.len());
            for result in results.iter().take(3) {
                println!("  {} -> {}", result.domain, result.value);
            }
        }
        Err(e) => println!("暴破失败: {}", e),
    }

    println!("\n=== 方法2: 配置引擎 ===");
    let config = SubdomainBruteConfig {
        domains: vec!["github.com".to_string()],
        silent: false,
        ..Default::default()
    };

    match SubdomainBruteEngine::new(config).await {
        Ok(engine) => match engine.run_brute_force().await {
            Ok(results) => {
                println!("发现 {} 个子域名", results.len());
                for result in results.iter().take(3) {
                    println!(
                        "  {} -> {} ({})",
                        result.domain, result.value, result.record_type
                    );
                }
            }
            Err(e) => println!("暴破失败: {}", e),
        },
        Err(e) => println!("引擎创建失败: {}", e),
    }

    Ok(())
}