[package]
name = "relay-core-cli"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "Standalone CLI and TUI for relay-core: local proxy operation, rule management, traffic inspection"
[[bin]]
name = "relay-core-cli"
path = "src/main.rs"
[features]
default = ["script", "transparent-linux", "transparent-macos"]
script = ["dep:relay-core-script", "relay-core-runtime/script"]
transparent-linux = ["relay-core-runtime/transparent-linux"]
transparent-macos = ["relay-core-runtime/transparent-macos"]
[dependencies]
tokio = { version = "1.37", features = ["full"] }
clap = { version = "4.5", features = ["derive", "env"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
anyhow = "1.0"
thiserror = "1.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
uuid = { version = "1.0", features = ["v4", "serde"] }
rustls = { version = "0.23", features = ["ring"] }
relay-core-api = { path = "../relay-core-api", version = "0.2.0" }
relay-core-lib = { path = "../relay-core-lib", version = "0.2.0" }
relay-core-runtime = { path = "../relay-core-runtime", version = "0.2.0", default-features = false }
relay-core-http = { path = "../relay-core-http", version = "0.2.0" }
relay-core-script = { path = "../relay-core-script", version = "0.2.0", optional = true }
notify = "8.2.0"
serde_yaml = "0.9.34"
ratatui = "0.30.0"
crossterm = "0.29.0"
axum = { version = "0.8.8", features = ["ws"] }
reqwest = { version = "0.13.2", features = ["json"] }
tokio-stream = "0.1.18"
tower-http = { version = "0.6.8", features = ["cors", "trace"] }
tokio-tungstenite = "0.28.0"
futures-util = "0.3.32"
async-trait = "0.1.89"
tempfile = "3.26.0"
sha1 = "0.10.6"
hex = "0.4.3"
rustls-pemfile = "2.2.0"
http-body-util.workspace = true
bytes.workspace = true
http.workspace = true
base64 = "0.22.1"
[dev-dependencies]
assert_cmd = "2.1.2"
predicates = "3.1.4"