shadowsocks-rust 1.25.0

shadowsocks is a fast tunnel proxy that helps you bypass firewalls.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.91"
name = "shadowsocks-rust"
version = "1.25.0"
authors = ["Shadowsocks Contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "shadowsocks is a fast tunnel proxy that helps you bypass firewalls."
documentation = "https://docs.rs/shadowsocks-rust"
readme = "README.md"
keywords = [
    "shadowsocks",
    "proxy",
    "socks",
    "socks5",
    "firewall",
]
license = "MIT"
repository = "https://github.com/shadowsocks/shadowsocks-rust"

[badges.maintenance]
status = "passively-maintained"

[features]
aead-cipher = ["shadowsocks-service/aead-cipher"]
aead-cipher-2022 = ["shadowsocks-service/aead-cipher-2022"]
aead-cipher-2022-extra = ["shadowsocks-service/aead-cipher-2022-extra"]
aead-cipher-extra = [
    "aead-cipher",
    "shadowsocks-service/aead-cipher-extra",
]
basic = [
    "logging",
    "hickory-dns",
    "local",
    "server",
    "multi-threaded",
    "aead-cipher",
]
default = ["full"]
dns-over-h3 = ["shadowsocks-service/dns-over-h3"]
dns-over-https = ["shadowsocks-service/dns-over-https"]
dns-over-tls = ["shadowsocks-service/dns-over-tls"]
full = [
    "logging",
    "hickory-dns",
    "dns-over-tls",
    "dns-over-https",
    "local",
    "server",
    "manager",
    "utility",
    "service",
    "local-http",
    "local-http-rustls",
    "local-tunnel",
    "local-socks4",
    "local-dns",
    "local-redir",
    "local-tun",
    "local-online-config",
    "multi-threaded",
    "stream-cipher",
    "aead-cipher",
    "aead-cipher-2022",
]
full-extra = [
    "full",
    "dns-over-h3",
    "local-fake-dns",
    "aead-cipher-extra",
    "aead-cipher-2022-extra",
    "security-replay-attack-detect",
]
hickory-dns = ["shadowsocks-service/hickory-dns"]
jemalloc = ["jemallocator"]
local = ["shadowsocks-service/local"]
local-dns = [
    "local",
    "shadowsocks-service/local-dns",
]
local-fake-dns = [
    "local",
    "shadowsocks-service/local-fake-dns",
    "ipnet",
]
local-flow-stat = [
    "local",
    "shadowsocks-service/local-flow-stat",
]
local-http = [
    "local",
    "shadowsocks-service/local-http",
]
local-http-native-tls = [
    "local-http",
    "shadowsocks-service/local-http-native-tls",
]
local-http-native-tls-vendored = [
    "local-http",
    "shadowsocks-service/local-http-native-tls-vendored",
]
local-http-rustls = [
    "local-http",
    "shadowsocks-service/local-http-rustls",
]
local-online-config = [
    "local",
    "shadowsocks-service/local-online-config",
]
local-redir = [
    "local",
    "shadowsocks-service/local-redir",
]
local-socks4 = [
    "local",
    "shadowsocks-service/local-socks4",
]
local-tun = [
    "local",
    "shadowsocks-service/local-tun",
    "ipnet",
]
local-tunnel = [
    "local",
    "shadowsocks-service/local-tunnel",
]
logging = [
    "log4rs",
    "tracing",
    "tracing-subscriber",
    "time",
    "tracing-appender",
    "tracing-syslog",
]
manager = ["shadowsocks-service/manager"]
multi-threaded = ["tokio/rt-multi-thread"]
replay-attack-detect = ["security-replay-attack-detect"]
security-replay-attack-detect = ["shadowsocks-service/security-replay-attack-detect"]
server = ["shadowsocks-service/server"]
service = [
    "local",
    "server",
    "manager",
]
snmalloc = ["snmalloc-rs"]
stream-cipher = ["shadowsocks-service/stream-cipher"]
tcmalloc-vendored = ["tcmalloc/bundled"]
tracing-syslog = ["dep:syslog-tracing"]
trust-dns = ["hickory-dns"]
utility = ["qrcode"]
utility-url-outline = ["reqwest"]
winservice = [
    "service",
    "windows-service",
]

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

[[bin]]
name = "sslocal"
path = "bin/sslocal.rs"
required-features = ["local"]

[[bin]]
name = "ssmanager"
path = "bin/ssmanager.rs"
required-features = ["manager"]

[[bin]]
name = "ssserver"
path = "bin/ssserver.rs"
required-features = ["server"]

[[bin]]
name = "ssservice"
path = "bin/ssservice.rs"
required-features = ["service"]

[[bin]]
name = "ssurl"
path = "bin/ssurl.rs"
required-features = ["utility"]

[[bin]]
name = "sswinservice"
path = "bin/sswinservice.rs"
required-features = ["winservice"]

[[test]]
name = "dns"
path = "tests/dns.rs"

[[test]]
name = "http"
path = "tests/http.rs"

[[test]]
name = "socks4"
path = "tests/socks4.rs"

[[test]]
name = "socks5"
path = "tests/socks5.rs"

[[test]]
name = "tunnel"
path = "tests/tunnel.rs"

[[test]]
name = "udp"
path = "tests/udp.rs"

[dependencies.base64]
version = "0.23"

[dependencies.build-time]
version = "0.1"

[dependencies.cfg-if]
version = "1"

[dependencies.clap]
version = "4.5"
features = [
    "wrap_help",
    "suggestions",
]

[dependencies.directories]
version = "6.0"

[dependencies.futures]
version = "0.3"

[dependencies.ipnet]
version = "2.10"
optional = true

[dependencies.jemallocator]
version = "0.5"
optional = true

[dependencies.json5]
version = "1.3"

[dependencies.libc]
version = "0.2"
features = ["extra_traits"]

[dependencies.log]
version = "0.4"

[dependencies.log4rs]
version = "1.2"
optional = true

[dependencies.mimalloc]
version = "0.1"
optional = true
default-features = false

[dependencies.qrcode]
version = "0.14"
optional = true
default-features = false

[dependencies.rand]
version = "0.10"

[dependencies.reqwest]
version = "0.13"
features = ["blocking"]
optional = true

[dependencies.rpassword]
version = "7.3"

[dependencies.rpmalloc]
version = "0.2"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.shadowsocks-service]
version = "1.25.0"
default-features = false

[dependencies.snmalloc-rs]
version = "0.7"
optional = true

[dependencies.sysexits]
version = "0.13"

[dependencies.syslog-tracing]
version = "0.3"
optional = true

[dependencies.tcmalloc]
version = "0.3"
optional = true

[dependencies.thiserror]
version = "2.0"

[dependencies.time]
version = "0.3"
optional = true

[dependencies.tokio]
version = "1"
features = [
    "rt",
    "signal",
]

[dependencies.tracing]
version = "0.1"
optional = true

[dependencies.tracing-appender]
version = "0.2.3"
optional = true
default-features = false

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "std",
    "fmt",
    "env-filter",
    "time",
    "local-time",
]
optional = true

[dependencies.windows-service]
version = "0.8"
optional = true

[dev-dependencies.byte_string]
version = "1.0"

[dev-dependencies.byteorder]
version = "1.5"

[dev-dependencies.env_logger]
version = "0.11"

[dev-dependencies.tokio]
version = "1"
features = [
    "net",
    "time",
    "macros",
    "io-util",
]

[target."cfg(unix)".dependencies.xdg]
version = "3.0"

[lints.clippy]
uninlined_format_args = "allow"

[profile.release]
lto = "fat"
codegen-units = 1
panic = "abort"
incremental = false
strip = true