[package] name = "recorder" version = "0.1.0" edition = "2024" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [lib] name = "recorder" path = "src/lib.rs" [[bin]] name = "recorder_cli" path = "src/bin/main.rs" required-features = [] [features] default = [] testcontainers = [ "dep:testcontainers", "dep:testcontainers-modules", "dep:bollard", ] [dependencies] serde = { version = "1", features = ["derive"] } serde_json = "1" tokio = { version = "1.42", features = ["macros", "fs", "rt-multi-thread"] } async-trait = "0.1.83" tracing = "0.1" chrono = "0.4" sea-orm = { version = "1.1", features = [ "sqlx-sqlite", "sqlx-postgres", "runtime-tokio-rustls", "macros", "debug-print", ] } figment = { version = "0.10", features = ["toml", "json", "env", "yaml"] } axum = "0.8" uuid = { version = "1.6.0", features = ["v4"] } tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] } sea-orm-migration = { version = "1.1", features = ["runtime-tokio-rustls"] } reqwest = { version = "0.12", default-features = false, features = [ "charset", "http2", "json", "macos-system-configuration", "rustls-tls", "cookies", ] } thiserror = "2" rss = "2" bytes = "1.9" itertools = "0.14" url = "2.5" fancy-regex = "0.14" regex = "1.11" lazy_static = "1.5" maplit = "1.0.2" lightningcss = "1.0.0-alpha.61" html-escape = "0.2.13" opendal = { version = "0.51.0", features = ["default", "services-fs"] } zune-image = "0.4.15" once_cell = "1.20.2" reqwest-middleware = "0.4.0" reqwest-retry = "0.7.0" reqwest-tracing = "0.5.5" scraper = "0.22.0" leaky-bucket = "1.1.2" serde_with = "3" jwt-authorizer = "0.15.0" futures = "0.3.31" librqbit-core = "4" qbit-rs = { git = "https://github.com/lonelyhentxi/qbit.git", rev = "72d53138ebe", features = [ "default", "builder", ] } testcontainers = { version = "0.23.3", features = [ "default", "properties-config", "watchdog", "http_wait", "reusable-containers", ], optional = true } testcontainers-modules = { version = "0.11.4", optional = true } color-eyre = "0.6" log = "0.4.22" anyhow = "1.0.95" bollard = { version = "0.18", optional = true } async-graphql = { version = "7.0.15", features = [] } async-graphql-axum = "7.0.15" fastrand = "2.3.0" seaography = { version = "1.1" } quirks_path = "0.1.1" base64 = "0.22.1" tower = "0.5.2" axum-extra = "0.10" tower-http = { version = "0.6", features = [ "trace", "catch-panic", "timeout", "add-extension", "cors", "fs", "set-header", "compression-full", ] } serde_yaml = "0.9.34" tera = "1.20.0" openidconnect = { version = "4", features = ["rustls-tls"] } http-cache-reqwest = { version = "0.15", features = [ "manager-cacache", "manager-moka", ] } moka = "0.12.10" http-cache = { version = "0.20.0", features = [ "cacache-tokio", "manager-cacache", "manager-moka", ], default-features = false } http-cache-semantics = "2.1.0" dotenv = "0.15.0" nom = "8.0.0" http = "1.2.0" cookie = "0.18.1" async-stream = "0.3.6" serde_variant = "0.1.3" tracing-appender = "0.2.3" clap = "4.5.31" futures-util = "0.3.31" ipnetwork = "0.21.1" kanal = "0.1.0-pre8" append-only-vec = "0.1.7" typed-builder = "0.20.0" ctor = "0.4.0" [dev-dependencies] serial_test = "3" insta = { version = "1", features = ["redactions", "yaml", "filters"] } mockito = "1.6.1" rstest = "0.24.0"