neptune-explorer/Cargo.toml
Alan Szepieniec edf7800a88 security: Add attack binary
Add a binary that deploys a flooding attack.

Also, add a binary that periodically queries a random URL from the website. This
scraper will be used to measure whether the attack (or its countermeasure) is
effective.
2025-10-09 18:32:51 +02:00

72 lines
1.9 KiB
TOML

[package]
name = "neptune-explorer"
version = "0.1.0"
edition = "2021"
default-run = "neptune-explorer"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[[bin]]
name = "high_rate_attack"
path = "src/bin/high_rate_attack.rs"
required-features = ["attacks"]
[[bin]]
name = "scraper"
path = "src/bin/scraper.rs"
required-features = ["attacks"]
[dependencies]
axum = { version = "0.7.9", features = ["macros"] }
serde = { version = "1.0.197", features = ["derive"] }
serde_json = "1.0.115"
tokio = { version = "1.37.0", features = ["full", "tracing"] }
tracing = "0.1"
tracing-subscriber = "0.3"
neptune-cash = "0.4.0"
tarpc = { version = "^0.34", features = [
"tokio1",
"serde-transport",
"serde-transport-json",
"tcp",
] }
clap = "4.5.4"
thiserror = "1.0.59"
boilerplate = { version = "1.0.0" }
html-escaper = "0.2.0"
tower-http = { version = "0.5.2", features = ["fs"] }
readonly = "0.2.12"
url = "2.5.0"
lettre = { version = "0.11.7", features = ["tokio1-native-tls"] }
chrono = "0.4.34"
# only should be used inside main.rs, for the binary.
anyhow = "1.0.86"
arc-swap = "1.7.1"
derive_more = { version = "1.0.0", features = ["display"] }
# not a direct dep. workaround for weird "could not resolve" cargo error
indexmap = "2.7.0"
blake3 = { version = "1.8.2", optional = true }
rand = { version = "0.9.2", optional = true }
reqwest = { version = "0.12.23", optional = true }
log = {version = "0.4.28", optional = true}
env_logger = {version = "0.11.8", optional = true}
regex = {version = "1.11.3", optional = true }
#[dev-dependencies]
test-strategy = "0.4.3"
proptest = "1.7.0"
arbitrary = "1.4.1"
proptest-arbitrary-interop = "0.1.0"
[patch.crates-io]
neptune-cash = { git = "https://github.com/Neptune-Crypto/neptune-core.git", branch = "master" }
[features]
mock = ["dep:blake3", "dep:rand"]
attacks = ["reqwest", "log", "env_logger", "regex", "dep:rand"]