rhombus 0.2.21

Next generation extendable CTF framework with batteries included
Documentation
[package]
name = "rhombus"
version = "0.2.21"
edition = "2021"
description = "Next generation extendable CTF framework with batteries included"
authors = ["Mark Bundschuh <mark@mbund.dev>"]
license = "MPL-2.0"
repository = "https://github.com/rhombusgg/rhombus"
homepage = "https://rhombus.gg"
keywords = ["web", "ctf", "http"]

[dependencies]
argon2 = { version = "0.5.3", features = ["std"] }
async-hash = "0.5.4"
async-imap = { version = "0.10.1", default-features = false, features = [
  "runtime-tokio",
] }
async-trait = "0.1.82"
axum = { version = "0.7.5", features = ["multipart"] }
axum-extra = { version = "0.9.3", features = ["cookie"] }
chrono = { version = "0.4.38", features = ["serde"] }
config = "0.14.0"
dashmap = { version = "6.1.0", features = ["inline"] }
dotenvy = "0.15.7"
fancy-regex = "0.13.0"
fluent = "0.16.1"
healthscript = "1.0.3"
Inflector = "0.11.4"
intl-memoizer = "0.5.2"
jsonwebtoken = "9.3.0"
lazy_static = "1.5.0"
lettre = { version = "0.11.8", default-features = false, features = [
  "tokio1-rustls-tls",
  "smtp-transport",
  "builder",
  "pool",
] }
mail-parser = "0.9.4"
markdown = "1.0.0-alpha.20"
mime_guess = "2.0.5"
minify-html-onepass = "0.15.0"
minijinja = { version = "2.2.0", features = ["json", "loader"] }
petname = "2.0.2"
pin-project-lite = "0.2.14"
poise = "0.6.1"
rand = "0.8.5"
reqwest = { version = "0.12.7", default-features = false, features = [
  "rustls-tls",
  "json",
] }
resvg = "0.43.0"
ring = "0.17.8"
rust-embed = "8.5.0"
rust-s3 = { version = "0.35.1", default-features = false, features = [
  "tokio-rustls-tls",
] }
serde = { version = "1.0.210", features = ["derive"] }
serde_json = "1.0.128"
serenity = { version = "0.12.2", features = ["chrono"] }
thiserror = "1.0.63"
time = "0.3.36"
tokio = { version = "1.40.0", features = ["full"] }
tokio-rustls = { version = "0.26.0", default-features = false, features = [
  "ring",
  "logging",
  "tls12",
] }
tokio-util = { version = "0.7.12", features = ["io"] }
tower = { version = "0.5.1", features = ["util", "make"] }
tower_governor = "0.4.2"
tower-http = { version = "0.5.2", features = ["compression-full", "fs"] }
tower-livereload = "0.9.3"
tracing = "0.1.40"
unic-langid = { version = "0.9.5", features = ["unic-langid-macros"] }
unicode-segmentation = "1.11.0"
urlencoding = "2.1.3"
webpki-roots = "0.26.5"

futures = { version = "0.3.30", optional = true }
libsql = { version = "0.5.0", optional = true }
listenfd = { version = "1.0.1", optional = true }
sqlx = { version = "0.8.2", optional = true, features = [
  "tls-rustls",
  "runtime-tokio",
  "chrono",
  "macros",
] }

[build-dependencies]
rustc_version = "0.4.1"

[dev-dependencies]
testcontainers = "0.22.0"
testcontainers-modules = { version = "0.10.0", features = ["postgres"] }

[features]
default = ["libsql"]
postgres = ["dep:sqlx", "sqlx/postgres"]
mysql = ["dep:sqlx", "sqlx/mysql"]
libsql = ["dep:libsql", "dep:futures"]
systemfd = ["dep:listenfd"]
shuttle = []
testcontainers = []
internal = []
all = [
  "postgres",
  "mysql",
  "libsql",
  "systemfd",
  "shuttle",
  "testcontainers",
  "internal",
]

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(CHANNEL_NIGHTLY)'] }