subscan 1.3.0

A subdomain enumeration tool leveraging diverse techniques, designed for advanced pentesting operations
Documentation
# Crate Usage

You can easily add `Subscan` to your code and use its results in your application. Since `Subscan` works asynchronously, you need to use it in `async` code blocks. We recommend using [Tokio](https://tokio.rs/) as the async runtime

This chapter provides step-by-step guidance on how to integrate `Subscan` into your code. For more detailed usage and additional code examples, visit the project's [docs.rs](https://docs.rs/subscan/latest/subscan/) page or check the [examples/](https://github.com/eredotpkfr/subscan/tree/main/examples) folder in the repository

1. Add `subscan` crate into your project dependencies

   ```bash
   ~$ cargo add subscan
   ```

2. Create a new instance and start to use it

   ```rust,ignore
    #[tokio::main]
    async fn main() {
        // set module conccurrency to 1
        // set HTTP timeout to 120
        let config = SubscanConfig {
            concurrency: 1,
            filter: CacheFilter::FilterByName(ModuleNameFilter {
                modules: vec!["alienvault".into()],
                skips: vec![],
            }),
            requester: RequesterConfig {
                timeout: Duration::from_secs(120),
                ..Default::default()
            },
            ..Default::default()
        };

        let subscan = Subscan::from(config);
        let result = subscan.scan("domain.com").await;

        for item in result.items {
            // do something with item
        }
    }
   ```