#![cfg_attr(docsrs, feature(doc_cfg))]
pub mod error;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ScanProgress {
pub module: String,
pub percentage: f32,
pub message: String,
pub status: String,
}
pub mod payloads;
#[cfg(feature = "domain-info")]
#[cfg_attr(docsrs, doc(cfg(feature = "domain-info")))]
pub mod domain_info;
#[cfg(feature = "domain-info-mobile")]
#[cfg_attr(docsrs, doc(cfg(feature = "domain-info-mobile")))]
pub mod domain_info_mobile;
#[cfg(feature = "domain-dns")]
#[cfg_attr(docsrs, doc(cfg(feature = "domain-dns")))]
pub mod domain_dns;
#[cfg(feature = "domain-dns-mobile")]
#[cfg_attr(docsrs, doc(cfg(feature = "domain-dns-mobile")))]
pub mod domain_dns_mobile;
#[cfg(feature = "seo-analysis")]
#[cfg_attr(docsrs, doc(cfg(feature = "seo-analysis")))]
pub mod seo_analysis;
#[cfg(feature = "web-technologies")]
#[cfg_attr(docsrs, doc(cfg(feature = "web-technologies")))]
pub mod web_technologies;
#[cfg(feature = "domain-validator")]
#[cfg_attr(docsrs, doc(cfg(feature = "domain-validator")))]
pub mod domain_validator;
#[cfg(feature = "domain-validator-mobile")]
#[cfg_attr(docsrs, doc(cfg(feature = "domain-validator-mobile")))]
pub mod domain_validator_mobile;
#[cfg(all(feature = "subdomain-discovery", not(any(target_os = "android", target_os = "ios"))))]
#[cfg_attr(docsrs, doc(cfg(feature = "subdomain-discovery")))]
pub mod subdomain_discovery;
#[cfg(all(feature = "subdomain-discovery", any(target_os = "android", target_os = "ios")))]
#[cfg_attr(docsrs, doc(cfg(feature = "subdomain-discovery-mobile")))]
pub mod subdomain_discovery_mobile;
#[cfg(all(feature = "subdomain-discovery", any(target_os = "android", target_os = "ios")))]
pub use subdomain_discovery_mobile as subdomain_discovery;
#[cfg(feature = "contact-spy")]
#[cfg_attr(docsrs, doc(cfg(feature = "contact-spy")))]
pub mod contact_spy;
#[cfg(feature = "advanced-content-scanner")]
#[cfg_attr(docsrs, doc(cfg(feature = "advanced-content-scanner")))]
pub mod advanced_content_scanner;
#[cfg(feature = "security-analysis")]
#[cfg_attr(docsrs, doc(cfg(feature = "security-analysis")))]
pub mod security_analysis;
#[cfg(feature = "security-analysis-mobile")]
#[cfg_attr(docsrs, doc(cfg(feature = "security-analysis-mobile")))]
pub mod security_analysis_mobile;
#[cfg(feature = "subdomain-takeover")]
#[cfg_attr(docsrs, doc(cfg(feature = "subdomain-takeover")))]
pub mod subdomain_takeover;
#[cfg(feature = "subdomain-takeover-mobile")]
#[cfg_attr(docsrs, doc(cfg(feature = "subdomain-takeover-mobile")))]
pub mod subdomain_takeover_mobile;
#[cfg(feature = "cloudflare-bypass")]
#[cfg_attr(docsrs, doc(cfg(feature = "cloudflare-bypass")))]
pub mod cloudflare_bypass;
#[cfg(all(feature = "nmap-zero-day", not(any(target_os = "android", target_os = "ios"))))]
#[cfg_attr(docsrs, doc(cfg(feature = "nmap-zero-day")))]
pub mod nmap_zero_day;
#[cfg(all(feature = "nmap-zero-day", any(target_os = "android", target_os = "ios")))]
#[cfg_attr(docsrs, doc(cfg(feature = "nmap-zero-day-mobile")))]
pub mod nmap_zero_day_mobile;
#[cfg(all(feature = "nmap-zero-day", any(target_os = "android", target_os = "ios")))]
pub use nmap_zero_day_mobile as nmap_zero_day;
#[cfg(feature = "api-security-scanner")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-security-scanner")))]
pub mod api_security_scanner;
#[cfg(feature = "geo-analysis")]
#[cfg_attr(docsrs, doc(cfg(feature = "geo-analysis")))]
pub mod geo_analysis;
#[cfg(feature = "react2shell")]
#[cfg_attr(docsrs, doc(cfg(feature = "react2shell")))]
pub mod react;
#[cfg(feature = "react-honeypot")]
#[cfg_attr(docsrs, doc(cfg(feature = "react-honeypot")))]
pub mod react_honeypot;