-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
126 lines (101 loc) · 2.73 KB
/
Cargo.toml
File metadata and controls
126 lines (101 loc) · 2.73 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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
[package]
name = "dfsnode"
version = "0.1.0"
edition = "2024"
[dependencies]
# WebDAV
dav-server = { version = "0.10", features = ["localfs"] }
# Async runtime
tokio = { version = "1", features = ["full"] }
futures-util = "0.3"
# HTTP server
axum = "0.8"
axum-client-ip = { version = "1", features = ["connect-info", "forwarded-header"] }
hyper = { version = "1", features = ["http1", "http2", "server"] }
hyper-util = { version = "0.1", features = [
"tokio",
"http1",
"http2",
"server-auto",
] }
http = "1"
http-body = "1"
http-body-util = "0.1"
tower = { version = "0.5", features = ["util"] }
bytes = "1"
# TLS / HTTPS
tokio-rustls = "0.26"
rustls = { version = "0.23", features = ["aws-lc-rs"] }
rustls-pemfile = "2"
# HTTP/3 (QUIC) + WebTransport
quinn = { version = "0.11", default-features = false, features = [
"bloom",
"log",
"platform-verifier",
"runtime-tokio",
"rustls-aws-lc-rs",
] }
h3 = { git = "https://github.com/hyperium/h3", branch = "master" }
h3-quinn = { git = "https://github.com/hyperium/h3", branch = "master", features = [
"datagram",
] }
h3-webtransport = { git = "https://github.com/hyperium/h3", branch = "master" }
h3-datagram = { git = "https://github.com/hyperium/h3", branch = "master" }
# CLI
clap = { version = "4", features = ["derive"] }
# STUN NAT traversal
stun-types = "0.1"
time = "0.3"
# Checksums
sha1 = "0.10"
md5 = "0.8"
# Extended attributes (checksum cache)
fsquirrel = "0.1"
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Signature verification
hmac = "0.12"
sha2 = "0.10"
hex = "0.4"
# Auth
base64 = "0.22"
jsonwebtoken = "10"
# Config file
serde_yaml = "0.9"
# UUID for TUS sessions
uuid = { version = "1", features = ["v4"] }
# HTTP client (webhook)
reqwest = { version = "0.13.2" }
url = "2"
# Self-signed certificate generation & validation
rcgen = { version = "0.14", features = [
"crypto",
"pem",
"aws_lc_rs",
], default-features = false }
arc-swap = "1"
x509-parser = "0.17"
rustls-native-certs = "0.8"
# WebRTC DataChannel (Sans-I/O)
str0m = { version = "0.16.2", default-features = true }
# Dual-stack socket creation
socket2 = "0.6"
# SSH server (HTTP-over-SSH) + SFTP
russh = "0.57"
russh-sftp = "2.1"
# Error handling
anyhow = "1"
# Prometheus metrics
prometheus = { version = "0.14", features = ["process"] }
lazy_static = "1.5"
[profile.dev]
debug = "line-tables-only"
[patch.crates-io]
# Use local fork of sctp-proto with increased buffer size for high-bandwidth WAN links
sctp-proto = { path = ".cache/sctp-proto" }
# Patch str0m to raise SCTP buffered cap for DataChannel throughput.
str0m = { path = ".cache/str0m-0.16.2" }