[package]
name = "kftray-portforward"
version = "0.27.25"
authors = ["Henrique Cavarsan <hencavarsan@gmail.com>"]
edition = "2024"
description = "KFtray library with port forwarding logic"
homepage = "https://kftray.app"
repository = "https://github.com/hcavarsan/kftray"
license = "GPL-3.0"

[package.metadata.cargo-machete]
ignored = [
  "base64",
  "hyper",
  "async-trait",
  "bytes",
  "dashmap",
  "dirs",
  "flate2",
  "httparse",
  "openssl-sys",
  "uuid",
]

[lib]
name = "kftray_portforward"
path = "src/lib.rs"

[dependencies]
anyhow = { workspace = true }
async-trait = { workspace = true }
base64 = { workspace = true }
bytes = { workspace = true }
dashmap = { workspace = true }
dirs = { workspace = true }
env_logger = { workspace = true }
flate2 = { workspace = true }
futures = { workspace = true }
http = { workspace = true }
http-body-util = { workspace = true }
httparse = { workspace = true }
hyper = { workspace = true }
hyper-openssl = { workspace = true }
hyper-util = { workspace = true }
jiff = { version = "0.2", features = ["serde"] }
k8s-openapi = { workspace = true }
keyring = { workspace = true }
kftray-commons = { workspace = true }
kftray-helper = { workspace = true }
kftray-http-logs = { workspace = true }
kube = { workspace = true }
kube-runtime = { workspace = true }
lazy_static = { workspace = true }
libc = { workspace = true }
log = { workspace = true }
once_cell = { workspace = true }
openssl = { workspace = true }
openssl-sys = { workspace = true }
pem = { workspace = true }
rand = { workspace = true }
rcgen = { workspace = true }
rustls = { workspace = true }
rustls-native-certs = { workspace = true }
secrecy = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
sha1 = { workspace = true }
socket2 = { workspace = true }
thiserror = { workspace = true }
time = { workspace = true }
tokio = { workspace = true }
tokio-rustls = { workspace = true }
tokio-tungstenite = { workspace = true }
tokio-util = { workspace = true }
tower = { workspace = true }
tracing = { workspace = true }
tungstenite = { workspace = true }
uuid = { workspace = true }
whoami = { workspace = true }

[dev-dependencies]
http = { workspace = true }
tempfile = { workspace = true }
tower-test = { workspace = true }
tracing-subscriber = { workspace = true }

[target.'cfg(target_os = "macos")'.dependencies]
security-framework = "3.5.1"
core-foundation = "0.10.1"

[target.'cfg(target_os = "windows")'.dependencies]
schannel = "0.1.28"
windows = { workspace = true }

[features]
default = ["http-proxy", "socks5"]
http-proxy = []
socks5 = []
