[package] name = "keyhunter" version = "0.2.0" description = "Check for leaked API keys and secrets on public websites" license = "GPL-3.0" repository = "https://github.com/DonIsaac/keyhunter" keywords = ["security", "api-keys", "secrets", "scraping", "web"] categories = ["command-line-utilities", "development-tools"] edition = "2021" exclude = ["/assets", "/benches/fixtures"] [features] default = [] report = ["dep:owo-colors", "dep:serde_json"] build-binary = ["report", "dep:clap", "dep:clap-verbosity-flag", "dep:pretty_env_logger"] [lib] name = "keyhunter" [[bin]] name = "keyhunter" required-features = ["build-binary", "report"] [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(codspeed)', 'cfg(tarpaulin_include)'] } [dependencies] dashmap = { version = "6.0.1" } ego-tree = { version = "0.6.2" } index_vec = { version = "0.1.4" } log = { version = "0.4.22", features = ["kv"] } miette = { version = "7.2.0", features = ["fancy", "syntect-highlighter"] } owo-colors = { version = "4.0.0", optional = true } oxc = { version = "0.25.0" } rand = { version = "0.8.5" } rayon = { version = "1.10.0" } regex = { version = "1.10.6", features = ["perf-dfa-full"] } rustc-hash = { version = "2.0.0" } scraper = { version = "0.20.0" } serde = { version = "1.0.209", features = ["derive"] } thiserror = { version = "1.0.63" } tinyvec = { version = "1.8.0", features = ["alloc", "serde", "rustc_1_40"] } toml = { version = "0.8.14" } ureq = { version = "2.10.1", features = ["cookies"], default-features = true } url = { version = "2.5.2" } serde_json = { version = "1.0.127", optional = true } # Binary dependencies clap = { version = "4.5.16", features = ["derive", "color"], optional = true } clap-verbosity-flag = { version = "2.2.1", optional = true } pretty_env_logger = { version = "0.5.0", optional = true } [dev-dependencies] codspeed-criterion-compat = { version = "2.6.0" } criterion = { version = "0.5.1" } csv = { version = "1.3.0" } # https://doc.rust-lang.org/cargo/reference/profiles.html [profile.dev.package] oxc.opt-level = 2 scraper.opt-level = 1 regex.opt-level = 3 [profile.dev-fast] inherits = "dev" opt-level = 1 [profile.release] lto = "fat" codegen-units = 1 [profile.bench] lto = "thin" codegen-units = 8 strip = "debuginfo" [[bench]] name = "key_extraction" harness = false [[bench]] name = "walking" harness = false