[package]
edition = "2024"
name = "anytls"
version = "0.2.2"
authors = ["anytls-rs contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A proxy protocol that attempts to mitigate the TLS in TLS fingerprinting problem"
readme = "README.md"
keywords = [
"proxy",
"tls",
"privacy",
"networking",
]
categories = [
"network-programming",
"command-line-utilities",
]
license = "MIT"
repository = "https://github.com/ssrlive/anytls-rs"
[features]
client = [
"runtime",
"uot",
"dep:clap",
"dep:env_logger",
"dep:indexmap",
"dep:rustls",
"dep:rustls-pemfile",
"dep:sha2",
"dep:socket2",
"dep:socks5-impl",
"dep:tokio-rustls",
]
core = []
default = [
"client",
"server",
]
runtime = [
"core",
"dep:async-trait",
"dep:futures",
"dep:tokio",
]
server = [
"runtime",
"uot",
"dep:clap",
"dep:env_logger",
"dep:rcgen",
"dep:rustls",
"dep:rustls-pemfile",
"dep:sha2",
"dep:socket2",
"dep:socks5-impl",
"dep:tokio-rustls",
]
uot = [
"dep:socks5-impl",
"dep:tokio",
]
[lib]
name = "anytls"
path = "src/lib.rs"
[[bin]]
name = "anytls-client"
path = "src/bin/client.rs"
required-features = ["client"]
[[bin]]
name = "anytls-server"
path = "src/bin/server.rs"
required-features = ["server"]
[[test]]
name = "uot"
path = "tests/uot.rs"
[dependencies.async-trait]
version = "0.1.89"
optional = true
[dependencies.bytes]
version = "1.11.1"
[dependencies.clap]
version = "4.6.1"
features = [
"derive",
"cargo",
]
optional = true
[dependencies.env_logger]
version = "0.11.10"
optional = true
[dependencies.futures]
version = "0.3.32"
optional = true
[dependencies.indexmap]
version = "2.14.0"
optional = true
[dependencies.log]
version = "0.4.29"
[dependencies.md5]
version = "0.8.0"
[dependencies.parking_lot]
version = "0.12.5"
[dependencies.rand]
version = "0.10.1"
[dependencies.rcgen]
version = "0.14.7"
optional = true
[dependencies.rustls]
version = "0.23.39"
optional = true
[dependencies.rustls-pemfile]
version = "2.2.0"
optional = true
[dependencies.sha2]
version = "0.11.0"
optional = true
[dependencies.socket2]
version = "0.6.3"
optional = true
[dependencies.socks5-impl]
version = "0.8.1"
features = ["server"]
optional = true
[dependencies.tokio]
version = "1.52.1"
features = ["full"]
optional = true
[dependencies.tokio-rustls]
version = "0.26.4"
optional = true