subscan 1.3.0

A subdomain enumeration tool leveraging diverse techniques, designed for advanced pentesting operations
Documentation
/// Get command to fetch any module by name
pub mod get;
/// List command to list modules with details
pub mod list;
/// Run command to start any module
pub mod run;

use clap::{Args, Subcommand};

use crate::cli::commands::module::{
    get::ModuleGetSubCommandArgs, list::ModuleListSubCommandArgs, run::ModuleRunSubCommandArgs,
};

/// List of subcommands on module command
#[derive(Debug, Clone, Subcommand)]
pub enum ModuleSubCommands {
    /// Run a single module by name
    Run(ModuleRunSubCommandArgs),
    /// List all registered modules with their details
    List(ModuleListSubCommandArgs),
    /// Get a single module details
    Get(ModuleGetSubCommandArgs),
}

/// Module subcommand container
#[derive(Args, Clone, Debug)]
pub struct ModuleCommandArgs {
    #[command(subcommand)]
    pub command: ModuleSubCommands,
}