[package]
name = "imgforge"
version = "0.9.0"
edition = "2021"
repository = "https://github.com/ImgForger/imgforge"
description = "Fast and secure image proxy and transformation server"
authors = ["joker666 <mr.k779@outlook.com>"]
license = "GPL-3.0-only"
homepage = "https://imgforger.github.io"
readme = "README.md"
keywords = ["image", "proxy", "transform", "server"]
categories = ["multimedia", "multimedia::images", "web-programming", "web-programming::http-server"]
exclude = ["doc/*", "AGENTS.md"]

[lib]
name = "imgforge"
path = "src/lib.rs"

[[bin]]
name = "imgforge"
path = "src/main.rs"

[dependencies]
axum = "0.8.7"
base64 = "0.22.1"
hex = "0.4.3"
hmac = "0.12.1"
libvips = "1.7.1"
kamadak-exif = "0.6.1"
percent-encoding = "2.3.2"
reqwest = { version = "0.12.24", features = ["json"] }
sha2 = "0.10.9"
tokio = { version = "1.48.0", features = ["full"] }
axum-extra = { version = "0.12.2", features = ["typed-header"] }
num_cpus = "1.17.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
rand = "0.9.2"
tower-http = { version = "0.6.6", features = ["trace", "timeout"] }
thiserror = "2.0.17"
foyer = "0.20.1"
axum-prometheus = "0.9.0"
lazy_static = "1.5.0"
governor = "0.10.2"
bytes = "1.11.0"
metrics = "0.24.2"

[dev-dependencies]
tempfile = "3.23.0"
image = "0.25.9"
lazy_static = "1.5.0"
percent-encoding = "2.3.2"
reqwest = "0.12.24"
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.145"
sha2 = "0.10.9"
tokio = { version = "1.48.0", features = ["full"] }
tracing = "0.1.41"
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }
tower = { version = "0.5", features = ["util"] }
http-body-util = "0.1"
wiremock = "0.6"
base64 = "0.22.1"
hmac = "0.12.1"
futures = "0.3"
