[package]
name = "overtls"
version = "0.3.13"
edition = "2024"
license = "MIT"
description = "A simple proxy tunnel, minimalist tool for bypassing the GFW."
repository = "https://github.com/ShadowsocksR-Live/overtls"
readme = "readme.md"
rust-version = "1.85"
[lib]
crate-type = ["staticlib", "cdylib", "lib"]
[[bin]]
name = "overtls-bin"
path = "src/bin/main.rs"
[dependencies]
async-shared-timeout = "0.2.2"
base64easy = "0.1.7"
bytes = "1.12.1"
chrono = "0.4.45"
clap = { version = "4.6.5", features = ["derive", "cargo", "wrap_help"] }
connection-pool = { version = "0.3.8", default-features = false }
ctrlc2 = { version = "4.0.0", features = ["async", "termination"] }
dotenvy = "0.15.7"
env_logger = "0.11.11"
futures-util = { version = "0.3.33", default-features = false, features = [
"sink",
"std",
] }
hickory-proto = "0.26.1"
http = "1.5.0"
httparse = "1.10.1"
log = { version = "0.4.33", features = ["std"] }
moka = { version = "0.12.15", default-features = false, features = ["future"] }
reqwest = { version = "0.13.4", default-features = false, features = [
"rustls",
"json",
] }
rustls = { version = "0.23.43", default-features = false, features = [
"std",
"tls12",
"logging",
"aws_lc_rs",
] }
rustls-pemfile = "2.2.0"
serde = { version = "1.0.229", features = ["derive"] }
serde_json = "1.0.151"
uuid = { version = "1.24.0", features = ["serde", "v4"] }
socket2 = "0.6.5"
socks-hub = { version = "0.2.9", default-features = false, features = [
"httpproxy",
] }
socks5-impl = { version = "0.9.5", default-features = false, features = [
"server",
] }
thiserror = "2.0.19"
tokio = { version = "1.53.1", features = ["full"] }
tokio-rustls = { version = "0.26.4", default-features = false, features = [
"logging",
"tls12",
"aws_lc_rs",
] }
tokio-tungstenite = { version = "0.30.0", features = [
"rustls-tls-webpki-roots",
] }
tokio-util = "0.7.19"
url = { version = "2.5.8", default-features = false, features = ["serde"] }
webpki-roots = "1.0.9"
[target.'cfg(target_os = "android")'.dependencies]
android_logger = "0.15.1"
jni = { version = "0.22.4", default-features = false }
[target.'cfg(target_os = "windows")'.dependencies]
windows-service = "0.8.1"
[target.'cfg(unix)'.dependencies]
daemonize = "0.5.0"
[build-dependencies]
chrono = "0.4.45"