[package] name = "easytier-web" version = "2.7.0" edition.workspace = true rust-version.workspace = true description = "Config server for easytier. easytier-core gets config from this and web frontend use it as restful api server." [dependencies] easytier = { workspace = true, default-features = true } easytier-core = { workspace = true, default-features = true } tracing.workspace = true anyhow.workspace = true thiserror.workspace = true tokio = { workspace = true, default-features = true, features = ["full"] } tokio-util = { workspace = true, features = ["rt"] } dashmap.workspace = true url.workspace = true async-trait.workspace = true maxminddb = "0.32" axum = { workspace = true, features = ["macros"] } axum-login = { version = "0.18" } password-auth = { version = "1.0.0" } axum-messages = "0.8.0" axum-embed = { version = "0.1.0", optional = true } tower-sessions-sqlx-store = { version = "0.15.0", features = ["sqlite"] } # Match axum-login 0.18 and the SQLx session store. tower-sessions = { version = "0.14.0", default-features = false, features = [ "signed", "axum-core", ] } tower-http = { workspace = true, features = ["cors", "compression-full"] } sqlx = { workspace = true, features = ["sqlite"] } sea-orm = { workspace = true, features = [ "sqlx-sqlite", "runtime-tokio-rustls", "macros", ] } sea-orm-migration.workspace = true # for captcha rust-embed = { version = "8.12.0", features = ["debug-embed", "include-exclude"] } base64.workspace = true rand.workspace = true image = { version = "0.25", default-features = false, features = ["png"] } ab_glyph = "0.2.32" imageproc = { version = "0.27.0", default-features = false, features = ["text"] } rust-i18n.workspace = true sys-locale.workspace = true clap = { workspace = true, features = [ "string", "unicode", "derive", "wrap_help", "env", ] } serde = { workspace = true, features = ["derive"] } serde_json.workspace = true uuid = { workspace = true, features = [ "v4", "fast-rng", "macro-diagnostics", "serde", ] } chrono = { workspace = true, features = ["serde"] } openidconnect = { version = "4.0", default-features = false, features = ["accept-rfc3339-timestamps", "reqwest"] } reqwest = { workspace = true, features = ["json", "rustls"] } subtle = "2.6" mimalloc.workspace = true [build-dependencies] thunk-rs = { workspace = true, features = [ "win7", ] } [features] default = [] embed = ["dep:axum-embed"] [package.metadata.cargo-machete] ignored = [ # Windows-only build.rs setup calls thunk::thunk(). "thunk-rs", ]