@@ -11,7 +11,10 @@ license = "GPL-3.0-or-later"
1111repository = " https://github.com/ssrlive/socks5-impl"
1212
1313[features ]
14- default = [" tokio" ]
14+ # default = ["serde", "client", "server", "tokio"]
15+ client = [" tokio" ]
16+ serde = [" dep:serde" ]
17+ server = [" tokio" ]
1518tokio = [" dep:tokio" ]
1619
1720[dependencies ]
@@ -20,25 +23,31 @@ async-trait = "0.1"
2023byteorder = " 1"
2124bytes = " 1"
2225percent-encoding = " 2"
23- serde = { version = " 1" , features = [" derive" ] }
26+ serde = { version = " 1" , features = [" derive" ], optional = true }
2427thiserror = " 2"
25- tokio = { version = " 1" , features = [" full" ], optional = true }
28+ tokio = { version = " 1" , default-features = false , features = [
29+ " net" ,
30+ " io-util" ,
31+ " time" ,
32+ " macros" ,
33+ " rt" ,
34+ ], optional = true }
2635
2736[dev-dependencies ]
2837clap = { version = " 4" , features = [" derive" ] }
2938ctrlc2 = { version = " 3" , features = [" tokio" , " termination" ] }
3039dotenvy = " 0.15"
3140env_logger = " 0.11"
41+ hickory-proto = " 0.24"
3242log = " 0.4"
3343moka = { version = " 0.12" , features = [" future" ] }
3444rand = " 0.8"
35- tokio = { version = " 1" , features = [" macros" , " rt-multi-thread" ] }
36- hickory-proto = " 0.24"
45+ tokio = { version = " 1" , features = [" rt-multi-thread" ] }
3746
3847[[example ]]
3948name = " demo-client"
4049path = " examples/demo-client.rs"
41- required-features = [" tokio " ]
50+ required-features = [" client " ]
4251
4352[[example ]]
4453name = " demo-server"
@@ -48,14 +57,14 @@ required-features = ["tokio"]
4857[[example ]]
4958name = " dns-query"
5059path = " examples/dns-query.rs"
51- required-features = [" tokio " ]
60+ required-features = [" client " ]
5261
5362[[example ]]
5463name = " s5-server"
5564path = " examples/s5-server.rs"
56- required-features = [" tokio " ]
65+ required-features = [" server " ]
5766
5867[[example ]]
5968name = " udp-client"
6069path = " examples/udp-client.rs"
61- required-features = [" tokio " ]
70+ required-features = [" client " ]
0 commit comments