forked from shadowsocks/shadowsocks-rust
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
79 lines (63 loc) · 2.31 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
[package]
name = "shadowsocks"
version = "1.11.2"
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 = "2018"
[badges]
maintenance = { status = "passively-maintained" }
[features]
default = [
"trust-dns",
]
# Uses trust-dns instead of tokio's builtin DNS resolver
trust-dns = ["trust-dns-resolver", "arc-swap", "notify"]
# Enable Stream Cipher Protocol
# WARN: Stream Cipher Protocol is proved to be insecured
# https://github.com/shadowsocks/shadowsocks-rust/issues/373
# Users should always avoid using these ciphers in practice
stream-cipher = ["shadowsocks-crypto/v1-stream"]
# Enable extra AEAD ciphers
# WARN: These non-standard AEAD ciphers are not officially supported by shadowsocks community
aead-cipher-extra = ["shadowsocks-crypto/v1-aead-extra"]
[dependencies]
log = "0.4"
libc = "0.2.94"
bytes = "1.0"
cfg-if = "1"
byte_string = "1.0"
base64 = "0.13"
url = "2.2"
once_cell = "1.8"
spin = { version = "0.9", features = ["std"] }
pin-project = "1.0"
bloomfilter = "1.0.2"
thiserror = "1.0"
serde = { version = "1.0", features = ["derive"] }
serde_urlencoded = "0.7"
serde_json = "1.0"
futures = "0.3"
async-trait = "0.1"
mio = "0.7"
socket2 = { version = "0.4", features = ["all"] }
tokio = { version = "1.5", features = ["io-util", "macros", "net", "parking_lot", "process", "rt", "sync", "time"] }
tokio-io-timeout = "1.1"
trust-dns-resolver = { version = "0.20", optional = true }
arc-swap = { version = "1.3", optional = true }
notify = { version = "5.0.0-pre.5", optional = true }
[target.'cfg(any(target_arch = "x86_64", target_arch = "aarch64"))'.dependencies]
shadowsocks-crypto = { version = "0.2", features = ["ring"] }
[target.'cfg(not(any(target_arch = "x86_64", target_arch = "aarch64")))'.dependencies]
shadowsocks-crypto = { version = "0.2", features = [] }
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3", features = ["mswsock", "winsock2"] }
# Just for the ioctl call macro
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies]
nix = "0.22"
[dev-dependencies]
env_logger = "0.9"