mirror of
https://github.com/DaLaw2/NetGuardia.git
synced 2026-08-24 14:10:28 +09:00
115 lines
3.1 KiB
TOML
115 lines
3.1 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = ["net-guardia", "net-guardia-abi", "macros", "ingress-ebpf", "egress-ebpf", "net-guardia-cli"]
|
|
default-members = ["net-guardia", "net-guardia-abi", "net-guardia-cli"]
|
|
|
|
[workspace.dependencies]
|
|
# Local crates
|
|
net-guardia-abi = { path = "net-guardia-abi" }
|
|
macros = { path = "macros" }
|
|
|
|
# eBPF - kernel side (pinned: aya-ebpf 0.1.2 was yanked, see aya-rs/aya#1400)
|
|
aya-ebpf = { version = "=0.1.1", default-features = false }
|
|
aya-log-ebpf = { version = "=0.1.0", default-features = false }
|
|
|
|
# eBPF - userspace side
|
|
aya = { version = "0.13.1", default-features = false }
|
|
aya-log = { version = "0.2.1", default-features = false }
|
|
network-types = { version = "0.2.0", default-features = false }
|
|
|
|
# XDP
|
|
xsk-rs = { version = "0.8.0", default-features = false }
|
|
libxdp-sys = { version = "0.2.4", features = ["use_cc_build", "use_precompiled_bpf"] }
|
|
|
|
# Serialization
|
|
serde = { version = "1.0.228", features = ["derive"] }
|
|
serde_json = "1.0.149"
|
|
serde_yaml_ng = "0.10.0"
|
|
|
|
# Async runtime
|
|
tokio = { version = "1.50.0", features = ["rt-multi-thread", "macros", "sync", "time", "process", "io-util", "io-std", "fs", "signal"] }
|
|
tokio-util = { version = "0.7", features = ["io"] }
|
|
|
|
# Web framework
|
|
actix = "0.13.5"
|
|
actix-web = "4.13.0"
|
|
actix-cors = "0.7.1"
|
|
actix-ws = "0.4.0"
|
|
actix-multipart = "0.7"
|
|
actix-files = "0.6"
|
|
tokio-tungstenite = "0.29.0"
|
|
zip = "8.6.0"
|
|
|
|
# Logging / tracing
|
|
tracing = "0.1.44"
|
|
tracing-appender = "0.2.4"
|
|
tracing-subscriber = { version = "0.3.23", features = ["env-filter", "registry"] }
|
|
|
|
# ML
|
|
tract-onnx = "0.22.1"
|
|
|
|
# Utilities
|
|
parking_lot = "0.12.5"
|
|
libc = { version = "0.2.183", default-features = false }
|
|
thiserror = "2.0.18"
|
|
futures-util = "0.3.32"
|
|
crossbeam = "0.8.4"
|
|
|
|
# System
|
|
sysinfo = "0.39.0"
|
|
maxminddb = "0.28.1"
|
|
ipnetwork = "0.21.1"
|
|
lru = "0.18.0"
|
|
rusqlite = { version = "0.39", features = ["bundled-sqlcipher"] }
|
|
async-sqlite = { version = "0.5.7", default-features = false, features = ["bundled-sqlcipher"] }
|
|
argon2 = "0.5"
|
|
rand = "0.10.1"
|
|
ed25519-dalek = { version = "2", features = ["std", "rand_core"] }
|
|
base64 = "0.22"
|
|
clap = { version = "4", features = ["derive"] }
|
|
uuid = { version = "1", features = ["v4"] }
|
|
rust-embed = "8.11.0"
|
|
mime_guess = "2.0.5"
|
|
url = "2.5.8"
|
|
toml = "1.0.7"
|
|
lettre = { version = "0.11", default-features = false, features = ["builder", "hostname", "smtp-transport", "tokio1-rustls-tls"] }
|
|
chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
|
|
reqwest = { version = "0.13.3", default-features = false, features = ["json", "rustls"] }
|
|
async-trait = "0.1"
|
|
dashmap = "6"
|
|
arc-swap = "1"
|
|
moka = { version = "0.12", features = ["sync"] }
|
|
notify = "8.2.0"
|
|
sha2 = "0.11.0"
|
|
hmac = "0.13.0"
|
|
aes-gcm = "0.10"
|
|
hkdf = "0.13.0"
|
|
sd-notify = "0.5.0"
|
|
|
|
# Build dependencies
|
|
cargo_metadata = { version = "0.23.1", default-features = false }
|
|
which = "8.0.2"
|
|
dotenvy = "0.15.7"
|
|
|
|
# Proc macro
|
|
proc-macro2 = "1.0.106"
|
|
quote = "1.0.45"
|
|
syn = { version = "2.0.117", features = ["full"] }
|
|
|
|
[profile.dev]
|
|
panic = "unwind"
|
|
|
|
[profile.release]
|
|
panic = "unwind"
|
|
opt-level = 3
|
|
lto = "thin"
|
|
strip = true
|
|
|
|
[profile.release.package.ingress-ebpf]
|
|
debug = 2
|
|
codegen-units = 1
|
|
|
|
[profile.release.package.egress-ebpf]
|
|
debug = 2
|
|
codegen-units = 1
|