overtls 0.2.21

A simple proxy tunnel, minimalist tool for bypassing the GFW.
Documentation
[package]
name = "overtls"
version = "0.2.21"
edition = "2021"
license = "MIT"
description = "A simple proxy tunnel, minimalist tool for bypassing the GFW."
repository = "https://github.com/ShadowsocksR-Live/overtls"
readme = "readme.md"

[lib]
crate-type = ["staticlib", "cdylib", "lib"]

[dependencies]
async-shared-timeout = "0.2"
base64 = "0.22"
bytes = "1.6"
chrono = "0.4"
clap = { version = "4.5", features = ["derive"] }
ctrlc2 = { version = "3.5", features = ["tokio", "termination"] }
dotenvy = "0.15"
env_logger = "0.11"
futures-util = { version = "0.3", default-features = false, features = [
    "sink",
    "std",
] }
http = "1.1"
httparse = "1.8"
log = { version = "0.4", features = ["std"] }
moka = { version = "0.12", default-features = false, features = ["future"] }
reqwest = { version = "0.12", default-features = false, features = [
    "rustls-tls",
    "json",
] }
rustls = { version = "0.23", default-features = false, features = [
    "std",
    "tls12",
    "logging",
    "ring",
] }
rustls-pemfile = "2.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
socks5-impl = "0.5"
socket2 = "0.5"
thiserror = "1.0"
tokio = { version = "1", features = ["full"] }
tokio-rustls = { version = "0.26", default-features = false, features = [
    "logging",
    "tls12",
    "ring",
] }
tokio-tungstenite = { version = "0.21", features = ["rustls-tls-webpki-roots"] }
tokio-util = "0.7"
trust-dns-proto = "0.23"
tungstenite = { version = "0.21", features = ["rustls-tls-webpki-roots"] }
url = "2.5"
webpki = { package = "rustls-webpki", version = "0.102", features = [
    "alloc",
    "std",
] }
webpki-roots = "0.26"

[target.'cfg(unix)'.dependencies]
daemonize = "0.5"

[target.'cfg(target_os="android")'.dependencies]
android_logger = "0.13"
crossbeam = "0.8"
jni = { version = "0.21", default-features = false }
lazy_static = "1.4"