[package]
edition = "2021"
rust-version = "1.85"
name = "domain_status"
version = "0.1.21"
authors = ["Alex Woolford <alex@woolford.io>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Concurrent URL status checker that captures comprehensive metadata in SQLite."
homepage = "https://github.com/alexwoolford/domain_status"
documentation = "https://docs.rs/domain_status"
readme = "README.md"
keywords = [
"url",
"scraper",
"domain",
"status",
"monitoring",
]
categories = [
"web-programming",
"command-line-utilities",
"development-tools",
]
license = "MIT"
repository = "https://github.com/alexwoolford/domain_status"
[lib]
name = "domain_status"
path = "src/lib.rs"
[[bin]]
name = "domain_status"
path = "src/main.rs"
[[test]]
name = "db_pool_timeout_bug"
path = "tests/db_pool_timeout_bug.rs"
[[test]]
name = "error_messages"
path = "tests/error_messages.rs"
[[test]]
name = "export_csv"
path = "tests/export_csv.rs"
[[test]]
name = "fixtures_integration"
path = "tests/fixtures_integration.rs"
[[test]]
name = "helpers"
path = "tests/helpers.rs"
[[test]]
name = "http_timeout_bug"
path = "tests/http_timeout_bug.rs"
[[test]]
name = "input_parsing"
path = "tests/input_parsing.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "panic_safety"
path = "tests/panic_safety.rs"
[[test]]
name = "resiliency_break_it"
path = "tests/resiliency_break_it.rs"
[[test]]
name = "resiliency_cancellation"
path = "tests/resiliency_cancellation.rs"
[[test]]
name = "snapshot_export"
path = "tests/snapshot_export.rs"
[[test]]
name = "stress_concurrency_mismatch"
path = "tests/stress_concurrency_mismatch.rs"
[[test]]
name = "stress_database_scale"
path = "tests/stress_database_scale.rs"
[[test]]
name = "stress_dns_rebinding"
path = "tests/stress_dns_rebinding.rs"
[[test]]
name = "stress_dns_tunneling"
path = "tests/stress_dns_tunneling.rs"
[[test]]
name = "stress_header_bomb"
path = "tests/stress_header_bomb.rs"
[[test]]
name = "stress_redirect_resource"
path = "tests/stress_redirect_resource.rs"
[[test]]
name = "stress_whois_cache_explosion"
path = "tests/stress_whois_cache_explosion.rs"
[[test]]
name = "test_run_scan_integration"
path = "tests/test_run_scan_integration.rs"
[[test]]
name = "whois_timeout_bug"
path = "tests/whois_timeout_bug.rs"
[dependencies.anyhow]
version = "^1.0"
[dependencies.arrow]
version = "^58"
default-features = false
[dependencies.axum]
version = "^0.8"
[dependencies.base64]
version = "^0.22"
[dependencies.chrono]
version = "^0.4"
[dependencies.clap]
version = "^4.5"
features = [
"derive",
"env",
]
[dependencies.clap-verbosity-flag]
version = "3.0"
[dependencies.clap_complete]
version = "^4.5"
[dependencies.clap_mangen]
version = "^0.2"
[dependencies.colored]
version = "^3.0"
[dependencies.config]
version = "0.14"
features = ["toml"]
default-features = false
[dependencies.csv]
version = "^1.3"
[dependencies.domain_status_cli]
version = "0.1.21"
[dependencies.dotenvy]
version = "^0.15"
[dependencies.enum-map]
version = "^2.7"
[dependencies.env_logger]
version = "^0.11"
[dependencies.flate2]
version = "^1.1"
[dependencies.futures]
version = "^0.3"
[dependencies.hickory-resolver]
version = "^0.25"
[dependencies.include_dir]
version = "^0.7"
[dependencies.indicatif]
version = "0.18.4"
[dependencies.log]
version = "^0.4"
[dependencies.maxminddb]
version = "^0.27"
[dependencies.moka]
version = "^0.12"
features = ["sync"]
[dependencies.murmur3]
version = "^0.1"
[dependencies.parquet]
version = "^58"
features = [
"arrow",
"snap",
]
default-features = false
[dependencies.psl]
version = "^2.1"
[dependencies.regex]
version = "^1.12"
[dependencies.reqwest]
version = "^0.12"
features = [
"rustls-tls",
"http2",
"gzip",
"brotli",
"deflate",
"stream",
]
default-features = false
[dependencies.rustls]
version = "^0.23"
[dependencies.scraper]
version = "^0.25"
[dependencies.serde]
version = "^1.0"
features = ["derive"]
[dependencies.serde_json]
version = "^1.0"
[dependencies.sha2]
version = "^0.10"
[dependencies.sqlx]
version = "^0.8"
features = [
"sqlite",
"runtime-tokio-rustls",
"migrate",
]
default-features = false
[dependencies.strum]
version = "^0.27"
[dependencies.strum_macros]
version = "^0.27"
[dependencies.tar]
version = "^0.4"
[dependencies.tempfile]
version = "^3.26"
[dependencies.thiserror]
version = "^2.0"
[dependencies.tokio]
version = "^1"
features = ["full"]
[dependencies.tokio-retry]
version = "^0.3"
[dependencies.tokio-rustls]
version = "^0.26"
[dependencies.tokio-util]
version = "^0.7"
[dependencies.toml]
version = "^0.8"
features = ["preserve_order"]
[dependencies.url]
version = "^2.5"
[dependencies.whois-service]
version = "0.2.1"
default-features = false
[dependencies.x509-parser]
version = "^0.18"
[dev-dependencies.assert_cmd]
version = "^2.0"
[dev-dependencies.assert_fs]
version = "^1.1"
[dev-dependencies.httptest]
version = "^0.16"
[dev-dependencies.insta]
version = "^1.38"
features = ["yaml"]
[dev-dependencies.pretty_assertions]
version = "^1.4"
[dev-dependencies.proptest]
version = "^1.4"
[dev-dependencies.rcgen]
version = "0.14.7"
[dev-dependencies.rstest]
version = "^0.21"
[dev-dependencies.tokio]
version = "^1"
features = ["test-util"]
[dev-dependencies.tower]
version = "0.5.3"
[dev-dependencies.wiremock]
version = "^0.6"
[build-dependencies.clap]
version = "^4.5"
features = ["derive"]
[build-dependencies.clap_complete]
version = "^4.5"
[build-dependencies.clap_mangen]
version = "^0.2"
[build-dependencies.domain_status_cli]
version = "0.1.21"
[lints.clippy]
cast_lossless = "deny"
cast_possible_truncation = "deny"
cast_precision_loss = "deny"
cast_sign_loss = "deny"
clone_on_copy = "deny"
cognitive_complexity = "deny"
default_trait_access = "deny"
doc_markdown = "deny"
duration_subsec = "deny"
explicit_iter_loop = "deny"
float_cmp = "deny"
missing_errors_doc = "warn"
missing_panics_doc = "deny"
missing_safety_doc = "deny"
module_name_repetitions = "allow"
must_use_candidate = "deny"
needless_pass_by_value = "deny"
similar_names = "allow"
too_many_lines = "deny"
undocumented_unsafe_blocks = "warn"
unnecessary_wraps = "deny"
[lints.rust]
non_ascii_idents = "forbid"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(tarpaulin)"]
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true