[package]
name = "tun2proxy"
version = "0.7.21"
edition = "2024"
license = "MIT"
repository = "https://github.com/tun2proxy/tun2proxy"
homepage = "https://github.com/tun2proxy/tun2proxy"
authors = ["B. Blechschmidt", "ssrlive"]
description = "Tunnel interface to proxy"
readme = "README.md"
rust-version = "1.85"
[lib]
crate-type = ["staticlib", "cdylib", "lib"]
[[bin]]
name = "tun2proxy-bin"
path = "src/bin/main.rs"
[[bin]]
name = "udpgw-server"
path = "src/bin/udpgw_server.rs"
required-features = ["udpgw"]
[features]
default = ["udpgw"]
udpgw = []
[dependencies]
async-trait = "0.1.89"
base64easy = "0.1.7"
chrono = "0.4.44"
clap = { version = "4.6.1", features = ["derive", "wrap_help", "color"] }
ctrlc2 = { version = "3.7.3", features = ["async", "termination"] }
digest_auth = "0.3.1"
dotenvy = "0.15.7"
env_logger = "0.11.10"
hashlink = "0.11.0"
hickory-proto = "0.26.0"
httparse = "1.10.1"
ipstack = { version = "1.0.0" }
log = { version = "0.4.29", features = ["std"] }
percent-encoding = "2.3.2"
serde = { version = "1.0.228", features = ["derive"] }
shlex = "1.3.0"
socks5-impl = { version = "0.8.2", default-features = false, features = [
"tokio",
"serde",
] }
thiserror = "2.0.18"
tokio = { version = "1.52.1", features = ["full"] }
tokio-util = "0.7.18"
tproxy-config = { version = "^7.0.7", default-features = false }
tun = { version = "0.8.7", features = ["async"] }
udp-stream = { version = "0.0.12", default-features = false }
unicase = "2.9.0"
url = "2.5.8"
[target.'cfg(target_os="android")'.dependencies]
android_logger = "0.15.1"
jni = { version = "0.22.4", default-features = false }
[target.'cfg(target_os="linux")'.dependencies]
bincode = "2"
[target.'cfg(target_os="windows")'.dependencies]
windows-service = "0.8.0"
[target.'cfg(unix)'.dependencies]
daemonize = "0.5.0"
nix = { version = "0.31.2", default-features = false, features = [
"fs",
"socket",
"uio",
] }
[build-dependencies]
chrono = "0.4.44"
serde_json = "1.0.149"