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