[package]
name = "nvpn"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
description = "CLI and daemon for Nostr VPN private mesh networks"
repository.workspace = true
readme = "README.md"

[features]
default = ["embedded-fips"]
embedded-fips = ["dep:fips-endpoint"]

[dependencies]
anyhow.workspace = true
base64.workspace = true
clap.workspace = true
dirs.workspace = true
fips-endpoint = { workspace = true, optional = true }
hex.workspace = true
serde.workspace = true
serde_json.workspace = true
sha2.workspace = true
tokio.workspace = true
toml.workspace = true
tracing-subscriber.workspace = true
tracing.workspace = true
nostr-sdk.workspace = true

nostr-vpn-core.workspace = true
crab_nat = "0.7"
igd-next = { version = "0.16", features = ["aio_tokio"] }
netdev.workspace = true

[target.'cfg(unix)'.dependencies]
boringtun = { workspace = true, features = ["device"] }

[target.'cfg(unix)'.dependencies.libc]
version = "0.2"

[target.'cfg(target_os = "windows")'.dependencies]
boringtun.workspace = true
nostr-vpn-wintun.workspace = true
wintun = "0.5.1"
windows-service = "0.8"

[[bin]]
name = "nvpn"
path = "src/main.rs"

[dev-dependencies]
nostr-sdk.workspace = true
rand.workspace = true
