Cargo.toml
⎇
Raw
1[package]
2name = "server"
3version = "0.1.0"
4edition = "2024"
5license = "AGPL-3.0-or-later"
6
7[[bin]]
8name = "filebrowser-ng"
9path = "src/main.rs"
10
11[dependencies]
12api-types = { path = "../api-types" }
13anyhow = "1"
14argon2 = "0.5"
15axum = "0.8"
16chrono = { version = "0.4", features = ["serde"] }
17clap = { version = "4", features = ["derive", "env"] }
18# `default-features = false` drops the `cfb` dependency (compound-document
19# detection we do not need) and makes this a zero-dependency crate.
20infer = { version = "0.16", default-features = false, features = ["alloc"] }
21mime_guess = "2"
22multer = { version = "3", features = ["tokio-io"] }
23rand = "0.8"
24rusqlite = { version = "0.37", features = ["bundled"] }
25serde = { version = "1", features = ["derive"] }
26serde_json = "1"
27thiserror = "2"
28tokio = { version = "1", features = [
29 "rt-multi-thread",
30 "macros",
31 "fs",
32 "io-util",
33 "sync",
34 "time",
35 "signal",
36] }
37tar = "0.4"
38flate2 = "1"
39zstd = "0.13"
40# Deflate only; the defaults add AES, bzip2, lzma, ppmd, zopfli.
41zip = { version = "9.0.0-pre3", default-features = false, features = ["deflate-flate2-zlib-rs"] }
42tower-http = { version = "0.6", features = ["trace", "set-header"] }
43futures-util = "0.3"
44tokio-stream = { version = "0.1", features = ["sync"] }
45tracing = "0.1"
46tracing-subscriber = { version = "0.3", features = ["env-filter"] }
47ignore = "0.4"
48grep = "0.4"
49
50[dev-dependencies]
51tempfile = "3"
52tower = { version = "0.5", features = ["util"] }
53http-body-util = "0.1"
54bytes = "1"
55flate2 = "1"
56zstd = "0.13"
57tar = "0.4"
58zip = { version = "9.0.0-pre3", default-features = false, features = ["deflate-flate2-zlib-rs"] }
59
60[dependencies.rust-embed]
61version = "8"
62optional = true
63
64[features]
65# Embed the frontend (built into server/dist by `just build`).
66# Without this feature the server reads the frontend from disk at runtime
67# (Trunk's output directory, or $FBNG_DIST), which is the dev flow.
68embedded = ["dep:rust-embed"]
69