mirror of
https://github.com/thegeneralist01/archivr
synced 2026-07-21 18:55:36 +02:00
5 attempts / 15 min per IP. Excess attempts get 429 + Retry-After. Client IP read from X-Forwarded-For with loopback fallback. In-memory; prune inline on each check. Refactored app() into app_with_state() + thin wrapper. Uses parking_lot::Mutex (no unwrap, no poisoning).
26 lines
583 B
TOML
26 lines
583 B
TOML
[package]
|
|
name = "archivr-server"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
archivr-core = { path = "../archivr-core" }
|
|
axum.workspace = true
|
|
serde.workspace = true
|
|
tokio.workspace = true
|
|
toml.workspace = true
|
|
tower.workspace = true
|
|
tower-http.workspace = true
|
|
argon2.workspace = true
|
|
rand.workspace = true
|
|
axum-extra.workspace = true
|
|
chrono.workspace = true
|
|
base64.workspace = true
|
|
serde_json.workspace = true
|
|
rusqlite.workspace = true
|
|
parking_lot.workspace = true
|
|
|
|
[dev-dependencies]
|
|
tempfile.workspace = true
|
|
tower.workspace = true
|