[package]
name = "shadow-network"
version = "0.1.0"
edition = "2021"
authors = ["Devansh Verma"]
description = "Covert peer-to-peer communication infrastructure with steganography, onion routing, and traffic analysis resistance"
license = "MIT"
repository = "https://github.com/devanshverma/shadow-network"
homepage = "https://github.com/devanshverma/shadow-network"
documentation = "https://docs.rs/shadow-network"
readme = "README.md"
keywords = ["p2p", "steganography", "privacy", "onion-routing", "encryption"]
categories = ["cryptography", "network-programming"]
rust-version = "1.70"
[dependencies]
shadow-core = { path = "crates/shadow-core", version = "0.1.0" }
crypto = { package = "shadow-crypto", path = "crates/crypto", version = "0.1.0" }
client = { package = "shadow-client", path = "crates/client", version = "0.1.0" }
steganography = { package = "shadow-steganography", path = "crates/steganography", version = "0.1.0" }
dht = { package = "shadow-dht", path = "crates/dht", version = "0.1.0" }
protocols = { package = "shadow-protocols", path = "crates/protocols", version = "0.1.0" }
nat-traversal = { package = "shadow-nat-traversal", path = "crates/nat-traversal", version = "0.1.0" }
storage = { package = "shadow-storage", path = "crates/storage", version = "0.1.0" }
utils = { package = "shadow-utils", path = "crates/utils", version = "0.1.0" }
transport = { package = "shadow-transport", path = "crates/transport", version = "0.1.0" }
messaging = { package = "shadow-messaging", path = "crates/messaging", version = "0.1.0" }
stego-transport = { package = "shadow-stego-transport", path = "crates/stego-transport", version = "0.1.0" }
benchmarks = { package = "shadow-benchmarks", path = "crates/benchmarks", version = "0.1.0" }
monitoring = { package = "shadow-monitoring", path = "crates/monitoring", version = "0.1.0" }
security-audit = { package = "shadow-security-audit", path = "crates/security-audit", version = "0.1.0" }
integration-tests = { package = "shadow-integration-tests", path = "crates/integration-tests", version = "0.1.0" }
load-testing = { package = "shadow-load-testing", path = "crates/load-testing", version = "0.1.0" }
onion-routing = { package = "shadow-onion-routing", path = "crates/onion-routing", version = "0.1.0" }
traffic-analysis = { package = "shadow-traffic-analysis", path = "crates/traffic-analysis", version = "0.1.0" }
pluggable-transports = { package = "shadow-pluggable-transports", path = "crates/pluggable-transports", version = "0.1.0" }
reputation = { package = "shadow-reputation", path = "crates/reputation", version = "0.1.0" }
network-sim = { package = "shadow-network-sim", path = "crates/network-sim", version = "0.1.0" }
bytes = { workspace = true }
anyhow = { workspace = true }
image = "0.25"
hex = "0.4"
tokio = { workspace = true }
tracing-subscriber = "0.3"
tracing = { workspace = true }
chrono = { workspace = true }
serde = { workspace = true }
serde_json = "1.0"
rand = { workspace = true }
bincode = { workspace = true }
[[example]]
name = "simple_demo"
path = "examples/simple_demo.rs"
[[example]]
name = "system_overview"
path = "examples/system_overview.rs"
[[example]]
name = "dht_demo"
path = "examples/dht_demo.rs"
[[example]]
name = "phase2_demo"
path = "examples/phase2_demo.rs"
[[example]]
name = "phase3_demo"
path = "examples/phase3_demo.rs"
[[example]]
name = "phase4_demo"
path = "examples/phase4_demo.rs"
[workspace]
members = [
"crates/shadow-core",
"crates/protocols",
"crates/steganography",
"crates/dht",
"crates/nat-traversal",
"crates/storage",
"crates/crypto",
"crates/utils",
"crates/client",
"crates/transport",
"crates/messaging",
"crates/stego-transport",
"crates/benchmarks",
"crates/monitoring",
"crates/security-audit",
"crates/integration-tests",
"crates/load-testing",
"crates/onion-routing",
"crates/traffic-analysis",
"crates/pluggable-transports",
"crates/reputation",
"crates/network-sim",
]
resolver = "2"
[workspace.dependencies]
tokio = { version = "1.42", features = ["full"] }
tokio-util = { version = "0.7", features = ["full"] }
libp2p = { version = "0.54", features = ["tokio", "tcp", "noise", "yamux", "gossipsub", "kad", "identify", "ping", "mdns", "dns", "websocket", "quic", "macros"] }
quinn = "0.11"
ring = "0.17"
chacha20poly1305 = "0.10"
x25519-dalek = "2.0"
ed25519-dalek = "2.1"
sha2 = "0.10"
blake3 = "1.5"
hkdf = "0.12"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
bincode = "1.3"
postcard = { version = "1.0", features = ["alloc"] }
anyhow = "1.0"
thiserror = "1.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
bytes = { version = "1.9", features = ["serde"] }
rand = "0.8"
rand_core = "0.6"
futures = "0.3"
async-trait = "0.1"
image = "0.25"
hound = "3.5"
ndarray = "0.16"
statrs = "0.17"
chrono = "0.4"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
[profile.dev]
opt-level = 0