Compare commits

...

71 Commits

Author SHA1 Message Date
783e14c49c
[release] expose-dir-via-http v1.3.20 2025-04-14 17:05:45 +02:00
ed9296e910
[deps] cargo update
Updating cc           v1.2.18 -> v1.2.19
Updating clap_builder v4.5.35 -> v4.5.36
Updating clap         v4.5.35 -> v4.5.36
2025-04-14 17:05:43 +02:00
75e3a13aad
[release] expose-dir-via-http v1.3.19 2025-04-09 21:11:47 +02:00
017e3360c6
[deps] cargo update
Updating cc            v1.2.17 -> v1.2.18
Updating clap_builder  v4.5.34 -> v4.5.35
Updating clap          v4.5.34 -> v4.5.35
Updating flate2        v1.1.0  -> v1.1.1
Updating indexmap      v2.8.0  -> v2.9.0
Updating jobserver     v0.1.32 -> v0.1.33
Updating miniz_oxide   v0.8.5  -> v0.8.8
Updating once_cell     v1.21.1 -> v1.21.3
Updating redox_syscall v0.5.10 -> v0.5.11
Updating smallvec      v1.14.0 -> v1.15.0
Updating socket2       v0.5.8  -> v0.5.9
Updating tokio         v1.44.1 -> v1.44.2
2025-04-09 21:11:44 +02:00
b2f9ca7d7d
[release] expose-dir-via-http v1.3.18 2025-03-27 14:36:15 +01:00
29babb9914
[deps] cargo update
Updating cc                       v1.2.16            -> v1.2.17
Updating clap_builder             v4.5.32            -> v4.5.34
Updating clap                     v4.5.32            -> v4.5.34
Updating deranged                 v0.4.0             -> v0.4.1
Updating icu_locid_transform_data v1.5.0             -> v1.5.1
Updating icu_normalizer_data      v1.5.0             -> v1.5.1
Updating icu_properties_data      v1.5.0             -> v1.5.1
Updating log                      v0.4.26            -> v0.4.27
Updating time-macros              v0.2.21            -> v0.2.22
Updating time                     v0.3.40            -> v0.3.41
Updating zerocopy-derive          v0.8.23            -> v0.8.24
Updating zerocopy                 v0.8.23            -> v0.8.24
Updating zstd-safe                v7.2.3             -> v7.2.4
Updating zstd-sys                 v2.0.14+zstd.1.5.7 -> v2.0.15+zstd.1.5.7
2025-03-27 14:36:14 +01:00
65d9f55e19
[release] expose-dir-via-http v1.3.17 2025-03-20 09:51:12 +01:00
5bf863be1c
[deps] cargo update
Adding   r-efi          v5.2.0
Updating deranged       v0.3.11            -> v0.4.0
Updating getrandom      v0.3.1             -> v0.3.2
Updating time-core      v0.1.3             -> v0.1.4
Updating time-macros    v0.2.20            -> v0.2.21
Updating time           v0.3.39            -> v0.3.40
Updating wasi           v0.13.3+wasi-0.2.2 -> v0.14.2+wasi-0.2.4
Updating wit-bindgen-rt v0.33.0            -> v0.39.0
2025-03-20 09:51:10 +01:00
c59d94af2f
[release] expose-dir-via-http v1.3.16 2025-03-16 10:23:51 +01:00
f7c3c7c60b
[deps] cargo update
Updating foldhash v0.1.4 -> v0.1.5
2025-03-16 10:23:49 +01:00
91f4879ba4
[release] expose-dir-via-http v1.3.15 2025-03-14 13:45:57 +01:00
1247a86ccb
[deps] cargo update
Updating once_cell  v1.21.0 -> v1.21.1
Updating tokio-util v0.7.13 -> v0.7.14
Updating tokio      v1.44.0 -> v1.44.1
2025-03-14 13:45:55 +01:00
df2095d214
[release] expose-dir-via-http v1.3.14 2025-03-12 16:51:32 +01:00
fcac2394f9
[deps] cargo update
Updating quote v1.0.39 -> v1.0.40
2025-03-12 16:51:31 +01:00
b1d916961a
[release] expose-dir-via-http v1.3.13 2025-03-11 15:04:11 +01:00
f48b79e87f
[deps] cargo update
Updating libc v0.2.170 -> v0.2.171
2025-03-11 15:04:10 +01:00
2cef444441
[release] expose-dir-via-http v1.3.12 2025-03-10 21:51:54 +01:00
b356dca31d
[deps] cargo update
Updating clap_builder v4.5.31 -> v4.5.32
Updating clap_derive  v4.5.28 -> v4.5.32
Updating clap         v4.5.31 -> v4.5.32
Updating indexmap     v2.7.1  -> v2.8.0
2025-03-10 21:51:53 +01:00
c715626fc3
[release] expose-dir-via-http v1.3.11 2025-03-10 19:22:13 +01:00
bda8d7816b
[deps] cargo update
Adding   derive_more-impl   v2.0.1
Adding   derive_more        v2.0.1
Adding   foldhash           v0.1.4
Adding   tracing-attributes v0.1.28
Adding   unicode-xid        v0.2.6
Adding   wasi               v0.13.3+wasi-0.2.2
Adding   wit-bindgen-rt     v0.33.0
Removing ahash              v0.8.11
Removing byteorder          v1.5.0
Updating actix-http         v3.9.0             -> v3.10.0
Updating actix-web          v4.9.0             -> v4.10.2
Updating brotli             v6.0.0             -> v7.0.0
Updating getrandom          v0.2.15            -> v0.3.1
Updating once_cell          v1.20.3            -> v1.21.0
Updating ppv-lite86         v0.2.20            -> v0.2.21
Updating rand_chacha        v0.3.1             -> v0.9.0
Updating rand_core          v0.6.4             -> v0.9.3
Updating rand               v0.8.5             -> v0.9.0
Updating syn                v2.0.99            -> v2.0.100
Updating zerocopy-derive    v0.7.35            -> v0.8.23
Updating zerocopy           v0.7.35            -> v0.8.23
2025-03-10 19:22:11 +01:00
ed6115f5ea
[release] expose-dir-via-http v1.3.10 2025-03-09 20:23:58 +01:00
4a7c5dd1d7
[deps] cargo update
Removing paste         v1.0.15
Updating actix-service v2.0.2   -> v2.0.3
Updating serde_derive  v1.0.218 -> v1.0.219
Updating serde         v1.0.218 -> v1.0.219
2025-03-09 20:23:57 +01:00
bc19aca540
[release] expose-dir-via-http v1.3.9 2025-03-08 21:58:52 +01:00
f30b4e2535
[deps] cargo update
Updating actix-server v2.5.0 -> v2.5.1
2025-03-08 21:58:51 +01:00
3ff516ed1f
[release] expose-dir-via-http v1.3.8 2025-03-07 21:38:28 +01:00
394e332aa9
[deps] cargo update
Updating tokio v1.43.0 -> v1.44.0
2025-03-07 21:38:27 +01:00
6ae0990a54
[release] expose-dir-via-http v1.3.7 2025-03-06 08:54:43 +01:00
35356915fe
[deps] cargo update
Updating bytes         v1.10.0 -> v1.10.1
Updating itoa          v1.0.14 -> v1.0.15
Updating redox_syscall v0.5.9  -> v0.5.10
Updating ryu           v1.0.19 -> v1.0.20
Updating semver        v1.0.25 -> v1.0.26
Updating time-core     v0.1.2  -> v0.1.3
Updating time-macros   v0.2.19 -> v0.2.20
Updating time          v0.3.37 -> v0.3.39
Updating unicode-ident v1.0.17 -> v1.0.18
2025-03-06 08:54:42 +01:00
86169cb345
[release] expose-dir-via-http v1.3.6 2025-03-03 17:27:42 +01:00
c3f74e076f
[deps] cargo update
Updating httparse   v1.10.0  -> v1.10.1
Updating pkg-config v0.3.31  -> v0.3.32
Updating quote      v1.0.38  -> v1.0.39
Updating serde_json v1.0.139 -> v1.0.140
Updating syn        v2.0.98  -> v2.0.99
2025-03-03 17:27:39 +01:00
244be2e41e
[release] expose-dir-via-http v1.3.5 2025-03-03 07:37:26 +01:00
80db486dc9
[deps] cargo update
Updating proc-macro2 v1.0.93 -> v1.0.94
2025-03-03 07:37:25 +01:00
9792d64f69
[release] expose-dir-via-http v1.3.4 2025-03-02 09:08:38 +01:00
a51035dbda
[deps] cargo update
Updating bitflags v2.8.0 -> v2.9.0
2025-03-02 09:08:36 +01:00
e66ef328a1
[release] expose-dir-via-http v1.3.3 2025-02-28 15:26:13 +01:00
e44eb495ac
[deps] cargo update
Updating cc              v1.2.14  -> v1.2.16
Updating clap_builder    v4.5.30  -> v4.5.31
Updating clap            v4.5.30  -> v4.5.31
Updating flate2          v1.0.35  -> v1.1.0
Updating libc            v0.2.169 -> v0.2.170
Updating litemap         v0.7.4   -> v0.7.5
Updating miniz_oxide     v0.8.4   -> v0.8.5
Updating redox_syscall   v0.5.8   -> v0.5.9
Updating zerofrom-derive v0.1.5   -> v0.1.6
Updating zerofrom        v0.1.5   -> v0.1.6
2025-02-28 15:26:12 +01:00
73cd4a27ac
[release] expose-dir-via-http v1.3.2 2025-02-21 10:31:14 +01:00
6b050f3a05
[deps] cargo update
Updating log       v0.4.25            -> v0.4.26
Updating zstd-safe v7.2.1             -> v7.2.3
Updating zstd-sys  v2.0.13+zstd.1.5.6 -> v2.0.14+zstd.1.5.7
Updating zstd      v0.13.2            -> v0.13.3
2025-02-21 10:31:12 +01:00
8b94b630be
[release] expose-dir-via-http v1.3.1 2025-02-20 19:05:12 +01:00
e35b0c9fd9
[code] small improvements suggested by Grok 3
- differentiate between "not a directory" and a real error while reading the path
- don't clone the PathBuf, instead use Arc
2025-02-20 19:04:53 +01:00
b5a2c750c5
[release] expose-dir-via-http v1.3.0 2025-02-20 18:27:24 +01:00
c7b0ca62f6
[deps] cargo update
Updating clap_builder  v4.5.29  -> v4.5.30
Updating clap          v4.5.29  -> v4.5.30
Updating serde_derive  v1.0.217 -> v1.0.218
Updating serde_json    v1.0.138 -> v1.0.139
Updating serde         v1.0.217 -> v1.0.218
Updating typenum       v1.17.0  -> v1.18.0
Updating unicode-ident v1.0.16  -> v1.0.17
2025-02-20 18:27:22 +01:00
34457d1cc1
[rust] edition 2024 2025-02-20 18:27:17 +01:00
e286e24d61
[release] expose-dir-via-http v1.2.1 2025-02-16 21:26:55 +01:00
9c1336b50c
[deps] cargo update
Updating cc           v1.2.13 -> v1.2.14
Updating clap_builder v4.5.27 -> v4.5.29
Updating clap         v4.5.28 -> v4.5.29
Updating equivalent   v1.0.1  -> v1.0.2
Updating miniz_oxide  v0.8.3  -> v0.8.4
Updating smallvec     v1.13.2 -> v1.14.0
2025-02-16 21:26:53 +01:00
54e8015773
[release] expose-dir-via-http v1.2.0 2025-02-10 22:06:00 +01:00
30874a97f7
[feat] only allow valid dirs as 1st arg 2025-02-10 22:04:53 +01:00
05142358e1
[release] expose-dir-via-http v1.1.37 2025-02-10 21:14:25 +01:00
9f6891b4d5
[deps] cargo update
Updating bytes       v1.9.0   -> v1.10.0
Updating cc          v1.2.10  -> v1.2.13
Updating clap_derive v4.5.24  -> v4.5.28
Updating clap        v4.5.27  -> v4.5.28
Updating derive_more v0.99.18 -> v0.99.19
Updating once_cell   v1.20.2  -> v1.20.3
Updating syn         v2.0.96  -> v2.0.98
2025-02-10 21:14:23 +01:00
9c52aa8833
[release] expose-dir-via-http v1.1.36 2025-01-30 08:43:58 +01:00
0e244ebadd
[deps] cargo update
Updating httparse   v1.9.5   -> v1.10.0
Updating serde_json v1.0.137 -> v1.0.138
2025-01-30 08:43:53 +01:00
6ade932389
[release] expose-dir-via-http v1.1.35 2025-01-28 10:58:54 +01:00
7dc14a83cf
[deps] cargo update
Updating cpufeatures   v0.2.16 -> v0.2.17
Updating ryu           v1.0.18 -> v1.0.19
Updating unicode-ident v1.0.15 -> v1.0.16
2025-01-28 10:58:48 +01:00
7a6da447ab
[release] expose-dir-via-http v1.1.34 2025-01-23 15:14:47 +01:00
69a0948cf7
[deps] cargo update
Updating unicode-ident v1.0.14 -> v1.0.15
2025-01-23 15:14:41 +01:00
a738845b99
[release] expose-dir-via-http v1.1.33 2025-01-21 10:59:43 +01:00
fc8caf5f70
[deps] cargo update
Updating brotli-decompressor v4.0.1   -> v4.0.2
Updating clap_builder        v4.5.26  -> v4.5.27
Updating clap                v4.5.26  -> v4.5.27
Updating indexmap            v2.7.0   -> v2.7.1
Updating semver              v1.0.24  -> v1.0.25
Updating serde_json          v1.0.136 -> v1.0.137
2025-01-21 10:59:38 +01:00
9fed0f99fa
[release] expose-dir-via-http v1.1.32 2025-01-19 21:23:36 +01:00
363d0f65a3
[deps] cargo update
Updating serde_json v1.0.135 -> v1.0.136
2025-01-19 21:23:34 +01:00
2df79f2cd9
[release] expose-dir-via-http v1.1.31 2025-01-17 15:57:15 +01:00
89ab6fbe53
[deps] cargo update
Updating cc v1.2.9 -> v1.2.10
2025-01-17 15:57:09 +01:00
f41fcb201b
[release] expose-dir-via-http v1.1.30 2025-01-15 23:39:48 +01:00
c0284f8f76
[deps] cargo update
Updating bitflags v2.7.0 -> v2.8.0
2025-01-15 23:39:47 +01:00
8416ed51e7
[release] expose-dir-via-http v1.1.29 2025-01-14 22:58:51 +01:00
238f452531
[deps] cargo update
Updating anstyle-wincon v3.0.6  -> v3.0.7
Updating log            v0.4.22 -> v0.4.25
Updating miniz_oxide    v0.8.2  -> v0.8.3
2025-01-14 22:58:49 +01:00
5836b71635
[release] expose-dir-via-http v1.1.28 2025-01-12 23:15:24 +01:00
4e83bfe815
[deps] cargo update
Updating bitflags         v2.6.0   -> v2.7.0
Updating cc               v1.2.7   -> v1.2.9
Updating clap_builder     v4.5.23  -> v4.5.26
Updating clap_derive      v4.5.18  -> v4.5.24
Updating clap             v4.5.23  -> v4.5.26
Updating pin-project-lite v0.2.15  -> v0.2.16
Updating proc-macro2      v1.0.92  -> v1.0.93
Updating serde_json       v1.0.134 -> v1.0.135
Updating syn              v2.0.94  -> v2.0.96
Updating tokio            v1.42.0  -> v1.43.0
2025-01-12 23:15:18 +01:00
462910f6db
[release] expose-dir-via-http v1.1.27 2025-01-03 11:23:41 +01:00
3a4a9dc1f1
[deps] cargo update
Updating cc           v1.2.5   -> v1.2.7
Updating impl-more    v0.1.8   -> v0.1.9
Updating quote        v1.0.37  -> v1.0.38
Updating serde_derive v1.0.216 -> v1.0.217
Updating serde        v1.0.216 -> v1.0.217
Updating syn          v2.0.91  -> v2.0.94
Updating unicase      v2.8.0   -> v2.8.1
2025-01-03 11:23:36 +01:00
1750a14fdf
[release] expose-dir-via-http v1.1.26 2024-12-22 11:22:18 +01:00
1c2616fc0c
[deps] cargo update
Updating object     v0.36.5  -> v0.36.7
Updating serde_json v1.0.133 -> v1.0.134
Updating syn        v2.0.90  -> v2.0.91
2024-12-22 11:22:17 +01:00
3 changed files with 236 additions and 175 deletions

380
Cargo.lock generated
View File

@ -31,7 +31,7 @@ dependencies = [
"actix-web", "actix-web",
"bitflags", "bitflags",
"bytes", "bytes",
"derive_more", "derive_more 0.99.19",
"futures-core", "futures-core",
"http-range", "http-range",
"log", "log",
@ -44,23 +44,23 @@ dependencies = [
[[package]] [[package]]
name = "actix-http" name = "actix-http"
version = "3.9.0" version = "3.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d48f96fc3003717aeb9856ca3d02a8c7de502667ad76eeacd830b48d2e91fac4" checksum = "0fa882656b67966045e4152c634051e70346939fced7117d5f0b52146a7c74c9"
dependencies = [ dependencies = [
"actix-codec", "actix-codec",
"actix-rt", "actix-rt",
"actix-service", "actix-service",
"actix-utils", "actix-utils",
"ahash",
"base64", "base64",
"bitflags", "bitflags",
"brotli", "brotli",
"bytes", "bytes",
"bytestring", "bytestring",
"derive_more", "derive_more 2.0.1",
"encoding_rs", "encoding_rs",
"flate2", "flate2",
"foldhash",
"futures-core", "futures-core",
"h2", "h2",
"http", "http",
@ -118,9 +118,9 @@ dependencies = [
[[package]] [[package]]
name = "actix-server" name = "actix-server"
version = "2.5.0" version = "2.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ca2549781d8dd6d75c40cf6b6051260a2cc2f3c62343d761a969a0640646894" checksum = "6398974fd4284f4768af07965701efbbb5fdc0616bff20cade1bb14b77675e24"
dependencies = [ dependencies = [
"actix-rt", "actix-rt",
"actix-service", "actix-service",
@ -135,12 +135,11 @@ dependencies = [
[[package]] [[package]]
name = "actix-service" name = "actix-service"
version = "2.0.2" version = "2.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b894941f818cfdc7ccc4b9e60fa7e53b5042a2e8567270f9147d5591893373a" checksum = "9e46f36bf0e5af44bdc4bdb36fbbd421aa98c79a9bce724e1edeb3894e10dc7f"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"paste",
"pin-project-lite", "pin-project-lite",
] ]
@ -156,9 +155,9 @@ dependencies = [
[[package]] [[package]]
name = "actix-web" name = "actix-web"
version = "4.9.0" version = "4.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9180d76e5cc7ccbc4d60a506f2c727730b154010262df5b910eb17dbe4b8cb38" checksum = "f2e3b15b3dc6c6ed996e4032389e9849d4ab002b1e92fbfe85b5f307d1479b4d"
dependencies = [ dependencies = [
"actix-codec", "actix-codec",
"actix-http", "actix-http",
@ -169,13 +168,13 @@ dependencies = [
"actix-service", "actix-service",
"actix-utils", "actix-utils",
"actix-web-codegen", "actix-web-codegen",
"ahash",
"bytes", "bytes",
"bytestring", "bytestring",
"cfg-if", "cfg-if",
"cookie", "cookie",
"derive_more", "derive_more 2.0.1",
"encoding_rs", "encoding_rs",
"foldhash",
"futures-core", "futures-core",
"futures-util", "futures-util",
"impl-more", "impl-more",
@ -193,6 +192,7 @@ dependencies = [
"smallvec", "smallvec",
"socket2", "socket2",
"time", "time",
"tracing",
"url", "url",
] ]
@ -223,19 +223,6 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
[[package]]
name = "ahash"
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
dependencies = [
"cfg-if",
"getrandom",
"once_cell",
"version_check",
"zerocopy",
]
[[package]] [[package]]
name = "aho-corasick" name = "aho-corasick"
version = "1.1.3" version = "1.1.3"
@ -301,11 +288,12 @@ dependencies = [
[[package]] [[package]]
name = "anstyle-wincon" name = "anstyle-wincon"
version = "3.0.6" version = "3.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e"
dependencies = [ dependencies = [
"anstyle", "anstyle",
"once_cell",
"windows-sys 0.59.0", "windows-sys 0.59.0",
] ]
@ -338,9 +326,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]] [[package]]
name = "bitflags" name = "bitflags"
version = "2.6.0" version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
[[package]] [[package]]
name = "block-buffer" name = "block-buffer"
@ -353,9 +341,9 @@ dependencies = [
[[package]] [[package]]
name = "brotli" name = "brotli"
version = "6.0.0" version = "7.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd"
dependencies = [ dependencies = [
"alloc-no-stdlib", "alloc-no-stdlib",
"alloc-stdlib", "alloc-stdlib",
@ -364,25 +352,19 @@ dependencies = [
[[package]] [[package]]
name = "brotli-decompressor" name = "brotli-decompressor"
version = "4.0.1" version = "4.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37"
dependencies = [ dependencies = [
"alloc-no-stdlib", "alloc-no-stdlib",
"alloc-stdlib", "alloc-stdlib",
] ]
[[package]]
name = "byteorder"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]] [[package]]
name = "bytes" name = "bytes"
version = "1.9.0" version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
[[package]] [[package]]
name = "bytestring" name = "bytestring"
@ -395,9 +377,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.2.5" version = "1.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c31a0499c1dc64f458ad13872de75c0eb7e3fdb0e67964610c914b034fc5956e" checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362"
dependencies = [ dependencies = [
"jobserver", "jobserver",
"libc", "libc",
@ -412,9 +394,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.5.23" version = "4.5.36"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" checksum = "2df961d8c8a0d08aa9945718ccf584145eee3f3aa06cddbeac12933781102e04"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
@ -422,9 +404,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.5.23" version = "4.5.36"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" checksum = "132dbda40fb6753878316a489d5a1242a8ef2f0d9e47ba01c951ea8aa7d013a5"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@ -434,9 +416,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_derive" name = "clap_derive"
version = "4.5.18" version = "4.5.32"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7"
dependencies = [ dependencies = [
"heck", "heck",
"proc-macro2", "proc-macro2",
@ -475,9 +457,9 @@ dependencies = [
[[package]] [[package]]
name = "cpufeatures" name = "cpufeatures"
version = "0.2.16" version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
dependencies = [ dependencies = [
"libc", "libc",
] ]
@ -503,18 +485,18 @@ dependencies = [
[[package]] [[package]]
name = "deranged" name = "deranged"
version = "0.3.11" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
dependencies = [ dependencies = [
"powerfmt", "powerfmt",
] ]
[[package]] [[package]]
name = "derive_more" name = "derive_more"
version = "0.99.18" version = "0.99.19"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" checksum = "3da29a38df43d6f156149c9b43ded5e018ddff2a855cf2cfd62e8cd7d079c69f"
dependencies = [ dependencies = [
"convert_case", "convert_case",
"proc-macro2", "proc-macro2",
@ -523,6 +505,27 @@ dependencies = [
"syn", "syn",
] ]
[[package]]
name = "derive_more"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678"
dependencies = [
"derive_more-impl",
]
[[package]]
name = "derive_more-impl"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3"
dependencies = [
"proc-macro2",
"quote",
"syn",
"unicode-xid",
]
[[package]] [[package]]
name = "digest" name = "digest"
version = "0.10.7" version = "0.10.7"
@ -555,13 +558,13 @@ dependencies = [
[[package]] [[package]]
name = "equivalent" name = "equivalent"
version = "1.0.1" version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]] [[package]]
name = "expose-dir-via-http" name = "expose-dir-via-http"
version = "1.1.25" version = "1.3.20"
dependencies = [ dependencies = [
"actix-files", "actix-files",
"actix-web", "actix-web",
@ -570,9 +573,9 @@ dependencies = [
[[package]] [[package]]
name = "flate2" name = "flate2"
version = "1.0.35" version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece"
dependencies = [ dependencies = [
"crc32fast", "crc32fast",
"miniz_oxide", "miniz_oxide",
@ -584,6 +587,12 @@ version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "foldhash"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]] [[package]]
name = "form_urlencoded" name = "form_urlencoded"
version = "1.2.1" version = "1.2.1"
@ -635,13 +644,14 @@ dependencies = [
[[package]] [[package]]
name = "getrandom" name = "getrandom"
version = "0.2.15" version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"libc", "libc",
"wasi", "r-efi",
"wasi 0.14.2+wasi-0.2.4",
] ]
[[package]] [[package]]
@ -700,9 +710,9 @@ checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573"
[[package]] [[package]]
name = "httparse" name = "httparse"
version = "1.9.5" version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
[[package]] [[package]]
name = "httpdate" name = "httpdate"
@ -751,9 +761,9 @@ dependencies = [
[[package]] [[package]]
name = "icu_locid_transform_data" name = "icu_locid_transform_data"
version = "1.5.0" version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d"
[[package]] [[package]]
name = "icu_normalizer" name = "icu_normalizer"
@ -775,9 +785,9 @@ dependencies = [
[[package]] [[package]]
name = "icu_normalizer_data" name = "icu_normalizer_data"
version = "1.5.0" version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7"
[[package]] [[package]]
name = "icu_properties" name = "icu_properties"
@ -796,9 +806,9 @@ dependencies = [
[[package]] [[package]]
name = "icu_properties_data" name = "icu_properties_data"
version = "1.5.0" version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2"
[[package]] [[package]]
name = "icu_provider" name = "icu_provider"
@ -851,15 +861,15 @@ dependencies = [
[[package]] [[package]]
name = "impl-more" name = "impl-more"
version = "0.1.8" version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aae21c3177a27788957044151cc2800043d127acaa460a47ebb9b84dfa2c6aa0" checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2"
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "2.7.0" version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e"
dependencies = [ dependencies = [
"equivalent", "equivalent",
"hashbrown", "hashbrown",
@ -873,16 +883,17 @@ checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
[[package]] [[package]]
name = "itoa" name = "itoa"
version = "1.0.14" version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
[[package]] [[package]]
name = "jobserver" name = "jobserver"
version = "0.1.32" version = "0.1.33"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a"
dependencies = [ dependencies = [
"getrandom",
"libc", "libc",
] ]
@ -894,15 +905,15 @@ checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.169" version = "0.2.171"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6"
[[package]] [[package]]
name = "litemap" name = "litemap"
version = "0.7.4" version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856"
[[package]] [[package]]
name = "local-channel" name = "local-channel"
@ -933,9 +944,9 @@ dependencies = [
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.22" version = "0.4.27"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
[[package]] [[package]]
name = "memchr" name = "memchr"
@ -961,9 +972,9 @@ dependencies = [
[[package]] [[package]]
name = "miniz_oxide" name = "miniz_oxide"
version = "0.8.2" version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a"
dependencies = [ dependencies = [
"adler2", "adler2",
] ]
@ -976,7 +987,7 @@ checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
dependencies = [ dependencies = [
"libc", "libc",
"log", "log",
"wasi", "wasi 0.11.0+wasi-snapshot-preview1",
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
@ -988,18 +999,18 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]] [[package]]
name = "object" name = "object"
version = "0.36.5" version = "0.36.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
[[package]] [[package]]
name = "once_cell" name = "once_cell"
version = "1.20.2" version = "1.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
[[package]] [[package]]
name = "parking_lot" name = "parking_lot"
@ -1024,12 +1035,6 @@ dependencies = [
"windows-targets", "windows-targets",
] ]
[[package]]
name = "paste"
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
[[package]] [[package]]
name = "percent-encoding" name = "percent-encoding"
version = "2.3.1" version = "2.3.1"
@ -1038,9 +1043,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]] [[package]]
name = "pin-project-lite" name = "pin-project-lite"
version = "0.2.15" version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
[[package]] [[package]]
name = "pin-utils" name = "pin-utils"
@ -1050,9 +1055,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]] [[package]]
name = "pkg-config" name = "pkg-config"
version = "0.3.31" version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
[[package]] [[package]]
name = "powerfmt" name = "powerfmt"
@ -1062,47 +1067,53 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
[[package]] [[package]]
name = "ppv-lite86" name = "ppv-lite86"
version = "0.2.20" version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
dependencies = [ dependencies = [
"zerocopy", "zerocopy",
] ]
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.92" version = "1.0.94"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.37" version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
] ]
[[package]] [[package]]
name = "rand" name = "r-efi"
version = "0.8.5" version = "5.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
[[package]]
name = "rand"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
dependencies = [ dependencies = [
"libc",
"rand_chacha", "rand_chacha",
"rand_core", "rand_core",
"zerocopy",
] ]
[[package]] [[package]]
name = "rand_chacha" name = "rand_chacha"
version = "0.3.1" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
dependencies = [ dependencies = [
"ppv-lite86", "ppv-lite86",
"rand_core", "rand_core",
@ -1110,18 +1121,18 @@ dependencies = [
[[package]] [[package]]
name = "rand_core" name = "rand_core"
version = "0.6.4" version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
dependencies = [ dependencies = [
"getrandom", "getrandom",
] ]
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.5.8" version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3"
dependencies = [ dependencies = [
"bitflags", "bitflags",
] ]
@ -1178,9 +1189,9 @@ dependencies = [
[[package]] [[package]]
name = "ryu" name = "ryu"
version = "1.0.18" version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
[[package]] [[package]]
name = "scopeguard" name = "scopeguard"
@ -1190,24 +1201,24 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]] [[package]]
name = "semver" name = "semver"
version = "1.0.24" version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cb6eb87a131f756572d7fb904f6e7b68633f09cca868c5df1c4b8d1a694bbba" checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.216" version = "1.0.219"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.216" version = "1.0.219"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1216,9 +1227,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.133" version = "1.0.140"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
dependencies = [ dependencies = [
"itoa", "itoa",
"memchr", "memchr",
@ -1275,15 +1286,15 @@ dependencies = [
[[package]] [[package]]
name = "smallvec" name = "smallvec"
version = "1.13.2" version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9"
[[package]] [[package]]
name = "socket2" name = "socket2"
version = "0.5.8" version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef"
dependencies = [ dependencies = [
"libc", "libc",
"windows-sys 0.52.0", "windows-sys 0.52.0",
@ -1303,9 +1314,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.90" version = "2.0.100"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1325,9 +1336,9 @@ dependencies = [
[[package]] [[package]]
name = "time" name = "time"
version = "0.3.37" version = "0.3.41"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40"
dependencies = [ dependencies = [
"deranged", "deranged",
"itoa", "itoa",
@ -1340,15 +1351,15 @@ dependencies = [
[[package]] [[package]]
name = "time-core" name = "time-core"
version = "0.1.2" version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
[[package]] [[package]]
name = "time-macros" name = "time-macros"
version = "0.2.19" version = "0.2.22"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49"
dependencies = [ dependencies = [
"num-conv", "num-conv",
"time-core", "time-core",
@ -1366,9 +1377,9 @@ dependencies = [
[[package]] [[package]]
name = "tokio" name = "tokio"
version = "1.42.0" version = "1.44.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48"
dependencies = [ dependencies = [
"backtrace", "backtrace",
"bytes", "bytes",
@ -1383,9 +1394,9 @@ dependencies = [
[[package]] [[package]]
name = "tokio-util" name = "tokio-util"
version = "0.7.13" version = "0.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078" checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034"
dependencies = [ dependencies = [
"bytes", "bytes",
"futures-core", "futures-core",
@ -1402,9 +1413,21 @@ checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
dependencies = [ dependencies = [
"log", "log",
"pin-project-lite", "pin-project-lite",
"tracing-attributes",
"tracing-core", "tracing-core",
] ]
[[package]]
name = "tracing-attributes"
version = "0.1.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]] [[package]]
name = "tracing-core" name = "tracing-core"
version = "0.1.33" version = "0.1.33"
@ -1416,21 +1439,27 @@ dependencies = [
[[package]] [[package]]
name = "typenum" name = "typenum"
version = "1.17.0" version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
[[package]] [[package]]
name = "unicase" name = "unicase"
version = "2.8.0" version = "2.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539"
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.14" version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
[[package]]
name = "unicode-xid"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
[[package]] [[package]]
name = "url" name = "url"
@ -1479,6 +1508,15 @@ version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasi"
version = "0.14.2+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
dependencies = [
"wit-bindgen-rt",
]
[[package]] [[package]]
name = "windows-sys" name = "windows-sys"
version = "0.52.0" version = "0.52.0"
@ -1561,6 +1599,15 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "wit-bindgen-rt"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
dependencies = [
"bitflags",
]
[[package]] [[package]]
name = "write16" name = "write16"
version = "1.0.0" version = "1.0.0"
@ -1599,19 +1646,18 @@ dependencies = [
[[package]] [[package]]
name = "zerocopy" name = "zerocopy"
version = "0.7.35" version = "0.8.24"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879"
dependencies = [ dependencies = [
"byteorder",
"zerocopy-derive", "zerocopy-derive",
] ]
[[package]] [[package]]
name = "zerocopy-derive" name = "zerocopy-derive"
version = "0.7.35" version = "0.8.24"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1620,18 +1666,18 @@ dependencies = [
[[package]] [[package]]
name = "zerofrom" name = "zerofrom"
version = "0.1.5" version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5"
dependencies = [ dependencies = [
"zerofrom-derive", "zerofrom-derive",
] ]
[[package]] [[package]]
name = "zerofrom-derive" name = "zerofrom-derive"
version = "0.1.5" version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1663,27 +1709,27 @@ dependencies = [
[[package]] [[package]]
name = "zstd" name = "zstd"
version = "0.13.2" version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a"
dependencies = [ dependencies = [
"zstd-safe", "zstd-safe",
] ]
[[package]] [[package]]
name = "zstd-safe" name = "zstd-safe"
version = "7.2.1" version = "7.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d"
dependencies = [ dependencies = [
"zstd-sys", "zstd-sys",
] ]
[[package]] [[package]]
name = "zstd-sys" name = "zstd-sys"
version = "2.0.13+zstd.1.5.6" version = "2.0.15+zstd.1.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237"
dependencies = [ dependencies = [
"cc", "cc",
"pkg-config", "pkg-config",

View File

@ -1,7 +1,7 @@
[package] [package]
name = "expose-dir-via-http" name = "expose-dir-via-http"
version = "1.1.25" version = "1.3.20"
edition = "2021" edition = "2024"
[lints.rust] [lints.rust]
unsafe_code = "forbid" unsafe_code = "forbid"

View File

@ -1,18 +1,20 @@
use std::{ use std::{
net::{IpAddr, SocketAddr}, net::{IpAddr, SocketAddr},
num::NonZeroUsize, num::NonZeroUsize,
path::PathBuf,
sync::Arc,
thread::available_parallelism, thread::available_parallelism,
}; };
use actix_web::{App, HttpServer}; use actix_web::{App, HttpServer};
use clap::{crate_name, crate_version, Parser}; use clap::{Parser, crate_name, crate_version};
#[derive(Parser, Debug)] #[derive(Parser, Debug)]
#[clap(name = crate_name!(), version = crate_version!())] #[clap(name = crate_name!(), version = crate_version!())]
struct Args { struct Args {
/// Directory to expose /// Directory to expose
#[clap(default_value = ".")] #[clap(default_value = ".", value_parser = parse_valid_dir)]
dir: String, dir: PathBuf,
/// IP address to use /// IP address to use
#[clap(default_value = "0.0.0.0")] #[clap(default_value = "0.0.0.0")]
@ -23,18 +25,31 @@ struct Args {
port: u16, port: u16,
} }
fn parse_valid_dir(dir: &str) -> Result<PathBuf, String> {
let path = PathBuf::from(dir);
match std::fs::metadata(&path) {
Ok(metadata) if metadata.is_dir() => Ok(path),
Ok(_) => Err(format!("{} is not a directory", path.display())),
Err(e) => Err(format!("Error accessing {}: {}", path.display(), e)),
}
}
#[actix_web::main] #[actix_web::main]
async fn main() -> std::io::Result<()> { async fn main() -> std::io::Result<()> {
let args = Args::parse(); let args = Args::parse();
let dir = args.dir; let dir = Arc::new(args.dir);
let sock = SocketAddr::new(args.ip, args.port); let sock = SocketAddr::new(args.ip, args.port);
println!("Starting HTTP server on {sock} exposing dir {dir}"); println!(
"Starting HTTP server on {sock} exposing dir {}",
dir.display()
);
HttpServer::new(move || { HttpServer::new(move || {
let dir = dir.clone();
App::new().service( App::new().service(
actix_files::Files::new("/", dir.clone()) actix_files::Files::new("/", dir.as_ref())
.show_files_listing() .show_files_listing()
.prefer_utf8(true), .prefer_utf8(true),
) )