[package]
edition = "2021"
rust-version = "1.85"
name = "lanscope"
version = "0.1.2"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "lanscope"
description = "Passive eBPF-powered IoT device fingerprinting & anomaly detection for your LAN"
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/aashish-thapa/lanscope"
[features]
default = []
ebpf = [
"dep:aya",
"lanscope-common/aya-pod",
]
ml = [
"dep:ort",
"dep:ndarray",
]
[lib]
name = "lanscope"
path = "src/lib.rs"
[[bin]]
name = "lanscope"
path = "src/main.rs"
[dependencies.anyhow]
version = "1"
[dependencies.aya]
version = "0.13"
optional = true
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.crossterm]
version = "0.28"
[dependencies.etherparse]
version = "0.16"
[dependencies.lanscope-common]
version = "0.1.2"
features = ["user"]
[dependencies.metrics]
version = "0.24"
[dependencies.metrics-exporter-prometheus]
version = "0.16"
features = ["http-listener"]
default-features = false
[dependencies.ndarray]
version = "0.16"
optional = true
[dependencies.ort]
version = "2.0.0-rc.10"
optional = true
[dependencies.ratatui]
version = "0.29"
[dependencies.rusqlite]
version = "0.32"
features = ["bundled"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3"
features = [
"formatting",
"macros",
]
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"signal",
"sync",
"time",
"net",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dev-dependencies.tempfile]
version = "3"