Cargo.toml
55 lignes · 1797 octets
[package] name = "rustwarden-fediverse-guard" version = "1.2.0" edition.workspace = true rust-version.workspace = true description = "Real-time abuse detection and ban management for the Rustwarden ActivityPub federation layer (RFC 0028+)" [features] default = ["ui"] # Admin UI module — 5 Askama screens (dashboard / events / bans / # manual_ban / thresholds) + `dashboard_card()` factory. Mounted under # `/admin/fediverse-guard/*` so the standard admin_required middleware # auto-protects them. ui = [ "dep:askama", "dep:axum", "dep:tower-sessions", ] [dependencies] rustwarden-core = { path = "../rustwarden-core" } rustwarden-fediverse = { path = "../rustwarden-fediverse" } # Async runtime tokio = { version = "1", features = ["sync", "time", "rt", "macros"] } async-trait = "0.1" # ORM + migrations sea-orm = { version = "2.0.0", features = ["sqlx-postgres", "runtime-tokio-native-tls", "macros"] } sea-orm-migration = { version = "2.0.0", features = ["sqlx-postgres", "runtime-tokio-native-tls"] } # Concurrent hot-path dashmap = "6" # Serialization serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" # Identifiers / time uuid = { version = "1.0", features = ["v4", "serde"] } chrono = { version = "0.4", features = ["serde"] } # Errors thiserror = "2.0" # Telemetry tracing = "0.1" # UI dependencies — only pulled in when the `ui` feature is active. askama = { version = "0.15", optional = true } axum = { version = "0.8", features = ["macros"], optional = true } tower-sessions = { version = "0.14", optional = true } [lints] workspace = true [dev-dependencies] sea-orm = { version = "2.0.0", features = ["mock"] } tokio = { version = "1", features = ["full", "test-util"] } [[bin]] name = "migrate-fediverse-guard" path = "migration/src/main.rs"
GitRust