-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
101 lines (96 loc) · 2.72 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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
[package]
name = "sandhole"
version = "0.5.2"
edition = "2024"
rust-version = "1.85.0"
description = "Expose HTTP/SSH/TCP services through SSH port forwarding."
repository = "https://github.com/EpicEric/sandhole"
homepage = "https://sandhole.com.br/"
license = "MIT"
authors = ["Eric Rodrigues Pires <eric@eric.dev.br>"]
readme = "README.md"
keywords = ["ssh", "proxy", "reverse-proxy", "tunnel", "hole-punching"]
categories = ["network-programming", "web-programming", "authentication"]
exclude = [".github", "book", "docker-compose-example", "tests/data"]
[dependencies]
anyhow = "1.0.98"
aws-lc-rs = "1.13.0"
axum = { version = "0.8.3", default-features = false }
block-id = "0.2.1"
bytes = "1.10.1"
bytesize = "2.0.1"
chrono = "0.4.40"
clap = { version = "4.5.37", features = ["derive", "string"] }
crossterm = { version = "0.29.0", default-features = false }
dashmap = "6.1.0"
enumflags2 = "0.7.11"
env_logger = { version = "0.11.8", default-features = false, features = [
"auto-color",
"humantime",
] }
hickory-resolver = "0.25.1"
http = "1.3.1"
http-body-util = "0.1.3"
humantime = "2.2.0"
hyper = { version = "1.6.0", features = ["full"] }
hyper-util = { version = "0.1.11", features = ["full"] }
ipnet = "2.11.0"
ipnet-trie = "0.3.0"
itertools = "0.14.0"
log = "0.4.27"
notify = "8.0.0"
openssl = { version = "0.10.72", features = ["vendored"] }
pretty-duration = "0.1.1"
rand = { version = "0.9.1", default-features = false, features = [
"std",
"std_rng",
"os_rng",
"thread_rng",
] }
rand_chacha = "0.9.0"
rand_seeder = "0.4.0"
ratatui = { version = "0.29.0", default-features = false, features = [
"crossterm",
] }
reqwest = { version = "0.12.15", default-features = false, features = [
"charset",
"http2",
"hickory-dns",
"json",
"rustls-tls-manual-roots",
] }
russh = "0.52.0"
rustls = "0.23.26"
rustls-acme = "0.13.0"
rustls-pki-types = "1.11.0"
rustls-webpki = "0.103.1"
rustrict = { version = "0.7.35", features = ["customize"] }
serde = "1.0.219"
serde_json = "1.0.140"
sysinfo = "0.34.2"
thiserror = "2.0.12"
tokio = { version = "1.44.2", features = ["full"] }
tokio-rustls = "0.26.2"
tokio-stream = "0.1.17"
tokio-util = "0.7.15"
trie-rs = "0.4.2"
webpki-roots = "0.26.8"
[dev-dependencies]
axum = { version = "0.8.3", features = ["macros", "ws"] }
futures-util = { version = "0.3.31", default-features = false, features = [
"std",
] }
insta = { version = "1.43.0", features = ["yaml"] }
mockall = "0.13.1"
nix = "0.29.0"
regex = "1.11.1"
tokio-tungstenite = "0.26.2"
tower = "0.5.2"
vt100-ctt = { version = "0.16.0", default-features = false }
[profile.release]
strip = true
lto = true
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage_nightly)'] }
[package.metadata.cargo-udeps.ignore]
normal = ["openssl"]