[package]
name = "shadowforge"
version = "0.3.2"
edition = "2024"
rust-version = "1.94.1"
description = "Quantum-resistant steganography toolkit for journalists and whistleblowers"
license = "Apache-2.0"
repository = "https://github.com/greysquirr3l/shadowforge-rs"
readme = "../../README.md"
keywords = ["steganography", "cryptography", "post-quantum", "privacy", "security"]
categories = ["cryptography", "command-line-utilities", "multimedia"]
exclude = ["tests/corpus/**", "*.key", "*.stego"]
[[bin]]
name = "shadowforge"
path = "src/main.rs"
[lib]
name = "shadowforge_lib"
path = "src/lib.rs"
[dependencies]
ml-kem = { version = "=0.3.0-rc.1" }
ml-dsa = { version = "=0.1.0-rc.8" }
aes-gcm = "0.10"
argon2 = "0.5"
hmac = "0.12"
sha2 = "0.10"
subtle = { version = "2.6", default-features = false }
thiserror = "2"
zeroize = { version = "1.8", features = ["derive", "alloc"] }
rand = "0.10"
rand_chacha = "0.10"
rand_core = "0.10"
num-bigint = { version = "0.4", features = ["rand"] }
num-traits = "0.2"
reed-solomon-erasure = { version = "6.0", features = ["simd-accel"] }
rustfft = "6"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "1"
base64 = "0.22"
uuid = { version = "1", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
bytes = { version = "1", features = ["serde"] }
image = { version = "0.25", default-features = false, features = [
"png",
"bmp",
"jpeg",
"gif",
] }
hound = "3.5"
lopdf = { version = "0.40", optional = true }
pdfium-render = { version = "0.8", features = ["thread_safe"], optional = true }
unicode-segmentation = "1.11"
unicode-normalization = "0.1"
zip = { version = "8", features = ["deflate"] }
tar = "0.4"
flate2 = "1"
clap = { version = "4", features = ["derive", "env", "unicode", "wrap_help"] }
clap_complete = "4"
indicatif = { version = "0.18", features = ["rayon"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["json", "env-filter"] }
rayon = "1"
ureq = "3"
indexmap = { version = "2", features = ["serde"] }
hex = "0.4"
glob = "0.3"
[dev-dependencies]
assert_cmd = "2"
predicates = "3"
tempfile = "3"
proptest = "1"
criterion = { version = "0.5", features = ["html_reports"] }
rstest = "0.26"
[build-dependencies]
vergen = { version = "8", features = ["git", "gitcl"] }
[features]
default = ["pdf", "corpus", "adaptive"]
pdf = ["dep:pdfium-render", "dep:lopdf"]
corpus = []
adaptive = []
simd = ["reed-solomon-erasure/simd-accel"]
[lints]
workspace = true