Files
Archive/shadowsocks-rust/crates/shadowsocks/Cargo.toml
T
2024-11-25 19:36:45 +01:00

114 lines
3.2 KiB
TOML

[package]
name = "shadowsocks"
version = "1.22.0"
authors = ["Shadowsocks Contributors"]
description = "shadowsocks is a fast tunnel proxy that helps you bypass firewalls."
repository = "https://github.com/shadowsocks/shadowsocks-rust"
readme = "README.md"
documentation = "https://docs.rs/shadowsocks-core"
keywords = ["shadowsocks", "proxy", "socks", "socks5", "firewall"]
license = "MIT"
edition = "2021"
rust-version = "1.75"
[badges]
maintenance = { status = "passively-maintained" }
[features]
default = ["hickory-dns", "aead-cipher"]
# Uses Hickory-DNS instead of tokio's builtin DNS resolver
hickory-dns = ["hickory-resolver", "arc-swap", "notify"]
# Hickory-DNS was renamed from Trust-DNS, keep compatibility.
trust-dns = ["hickory-dns"]
# Enable Stream Cipher Protocol
# WARN: Stream Cipher Protocol is proved to be insecure
# https://github.com/shadowsocks/shadowsocks-rust/issues/373
# Users should always avoid using these ciphers in practice
stream-cipher = ["shadowsocks-crypto/v1-stream", "shadowsocks-crypto/ring"]
# Enable AEAD ciphers
aead-cipher = ["shadowsocks-crypto/v1-aead", "shadowsocks-crypto/ring"]
# Enable extra AEAD ciphers
# WARN: These non-standard AEAD ciphers are not officially supported by shadowsocks community
aead-cipher-extra = ["aead-cipher", "shadowsocks-crypto/v1-aead-extra"]
aead-cipher-2022 = [
"shadowsocks-crypto/v2",
"shadowsocks-crypto/ring",
"rand/small_rng",
"aes",
"lru_time_cache",
] # Enable AEAD 2022
# Enable AEAD 2022 with extra ciphers
aead-cipher-2022-extra = ["aead-cipher-2022", "shadowsocks-crypto/v2-extra"]
# Enable detection against replay attack
security-replay-attack-detect = ["bloomfilter"]
[dependencies]
log = "0.4"
libc = "~0.2.141"
bytes = "1.7"
cfg-if = "1"
byte_string = "1.0"
base64 = "0.22"
url = "2.5"
once_cell = "1.17"
spin = { version = "0.9", features = ["std"] }
pin-project = "1.1"
bloomfilter = { version = "2.0.0", optional = true }
thiserror = "2.0"
rand = { version = "0.8", optional = true }
lru_time_cache = { version = "0.11", optional = true }
serde = { version = "1.0", features = ["derive"] }
serde_urlencoded = "0.7"
serde_json = "1.0"
percent-encoding = "2.1"
futures = "0.3"
trait-variant = "0.1"
dynosaur = "0.1.2"
socket2 = { version = "0.5", features = ["all"] }
tokio = { version = "1.9.0", features = [
"io-util",
"macros",
"net",
"parking_lot",
"process",
"rt",
"sync",
"time",
] }
hickory-resolver = { version = "0.25.0-alpha", optional = true }
arc-swap = { version = "1.7", optional = true }
notify = { version = "7.0", optional = true }
aes = { version = "0.8", optional = true }
blake3 = "1.5"
shadowsocks-crypto = { version = "0.5.8", default-features = false }
[target.'cfg(any(windows, target_os = "linux", target_os = "android", target_os = "freebsd", target_os = "macos", target_os = "ios", target_os = "watchos", target_os = "tvos"))'.dependencies]
tokio-tfo = "0.3"
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.59", features = [
"Win32_Foundation",
"Win32_NetworkManagement_IpHelper",
"Win32_NetworkManagement_Ndis",
"Win32_Networking_WinSock",
"Win32_System_IO",
] }
[target.'cfg(unix)'.dependencies]
sendfd = { version = "0.4", features = ["tokio"] }
[dev-dependencies]
env_logger = "0.11"