-
Notifications
You must be signed in to change notification settings - Fork 126
Expand file tree
/
Copy pathCargo.toml
More file actions
109 lines (101 loc) · 3.28 KB
/
Copy pathCargo.toml
File metadata and controls
109 lines (101 loc) · 3.28 KB
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
[package]
name = "shoes"
version = "0.2.8"
edition = "2024"
license = "MIT"
description = "A multi-protocol proxy server."
homepage = "https://github.com/cfal/shoes/"
repository = "https://github.com/cfal/shoes/"
readme = "README.md"
keywords = ["proxy", "proxy-server", "shadowsocks", "v2ray", "vmess"]
categories = ["command-line-utilities", "network-programming"]
[lib]
name = "shoes"
# rlib = Rust library (for Rust dependencies)
# cdylib = C dynamic library (.so on Linux/Android, .dylib on macOS)
# staticlib = C static library (.a) - required for iOS
crate-type = ["rlib", "cdylib", "staticlib"]
[[bin]]
name = "shoes"
path = "src/main.rs"
[features]
default = []
ffi = [] # Enable FFI module for non-Android builds
[dependencies]
async-trait = "*"
aws-lc-rs = { version = "*", default-features = false }
base64 = "*"
blake3 = "*"
bytes = "*"
chrono = "*"
dashmap = "*"
digest = "*"
etherparse = "*"
futures = "*"
h2 = "*"
h3 = "*"
h3-quinn = "*"
# Git version required for H3 disable_grease option (needed for Cloudflare).
# Also pinned past older resolver active-request cleanup behavior.
# See: https://github.com/hickory-dns/hickory-dns/pull/2085
hickory-resolver = { git = "https://github.com/hickory-dns/hickory-dns", rev = "e6ac966867ad6adcc77919f2f82fe4e5e793bb9d", default-features = false, features = ["tokio", "tls-aws-lc-rs", "https-aws-lc-rs", "h3-aws-lc-rs"] }
http = "*"
http-body-util = "*"
hyper = { version = "*", features = ["server", "http1", "http2"] }
hyper-util = { version = "*", features = ["tokio", "server"] }
indexmap = "*"
libc = "*"
log = { version = "*", features = ["std", "release_max_level_info"] }
lru = "*"
md-5 = "*"
memchr = "*"
mime_guess = "*"
notify = "*"
parking_lot = "*"
percent-encoding = "*"
kcp-tokio = "0.4"
tracing-subscriber = { version = "*", features = ["env-filter"] }
quinn = { version = "*", default-features = false, features = ["log", "platform-verifier", "runtime-tokio", "rustls-aws-lc-rs"] }
rand = "*"
rand_core = "*"
rcgen = { version = "*", default-features = false, features = ["aws_lc_rs", "pem"] }
rust-argon2 = "*"
rustc-hash = "*"
rustls = "*"
serde = { version = "*", features = ["derive", "std"] }
serde_yaml = "*"
sha3 = "*"
smoltcp = { version = "*", default-features = false, features = ["std", "log", "medium-ip", "proto-ipv4", "proto-ipv6", "socket-icmp", "socket-udp", "socket-tcp", "socket-tcp-cubic", "phy-tuntap_interface", "assembler-max-segment-count-32"] }
socket2 = "*"
subtle = "*"
tokio = { version = "*", features = [
"fs",
"io-util",
"macros",
"net",
"rt-multi-thread",
"sync",
"time",
] }
tokio-util = { version = "*", features = ["time"] }
tun = { version = "*", features = ["async"] }
url = "*"
webpki-roots = { version = "*" }
x509-parser = { version = "*", default-features = false, features = ["verify-aws"] }
[dev-dependencies]
rcgen = { version = "*", default-features = false, features = ["aws_lc_rs", "pem"] }
rustls-pemfile = "*"
serde_json = "*"
tempfile = "*"
tokio-rustls = "*"
# jemalloc for better memory performance (not supported on Windows MSVC or iOS)
[target.'cfg(not(any(target_env = "msvc", target_os = "ios")))'.dependencies]
tikv-jemallocator = "*"
[target.'cfg(target_os = "android")'.dependencies]
android_logger = "*"
jni = "*"
ndk-sys = "*"
[profile.release]
opt-level = 3
lto = "fat"
strip = true