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