[package]
edition = "2024"
name = "cochranblock"
version = "0.6.0"
authors = ["Michael Cochran <mcochran@cochranblock.org>"]
build = false
exclude = [
"screenshots/",
"docs/",
"content/",
"*.png",
"*.pdf",
]
include = [
"src/**/*",
"assets/**/*",
"content/**/*",
"Cargo.toml",
"UNLICENSE",
"README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Zero-cloud website in a single Rust binary. 15MB on x86, 8.2MB on ARM. $10/month infrastructure. cargo install and run."
homepage = "https://cochranblock.org"
readme = "README.md"
keywords = [
"zero-cloud",
"single-binary",
"website",
"rust-web",
"axum",
]
categories = ["web-programming::http-server"]
license = "Unlicense"
repository = "https://github.com/cochranblock/cochranblock"
[features]
admin = []
approuter = [
"dep:approuter-client",
"dep:lers",
]
default = []
dev = []
tests = [
"exopack",
"colored",
"admin",
"dev",
]
[lib]
name = "cochranblock"
crate-type = [
"lib",
"cdylib",
]
path = "src/lib.rs"
[[bin]]
name = "cochranblock"
path = "src/bin/cochranblock.rs"
[[bin]]
name = "cochranblock-test"
path = "src/bin/cochranblock-test.rs"
required-features = ["tests"]
[dependencies.aes-gcm]
version = "0.10"
[dependencies.approuter-client]
version = "0.2"
optional = true
[dependencies.argon2]
version = "0.5"
[dependencies.axum]
version = "0.7"
[dependencies.axum-extra]
version = "0.9"
features = ["cookie"]
[dependencies.axum-server]
version = "0.7"
features = ["tls-rustls"]
[dependencies.base64]
version = "0.21"
[dependencies.bincode]
version = "2"
features = ["serde"]
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.chrono-tz]
version = "0.9"
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.colored]
version = "2"
optional = true
[dependencies.dirs]
version = "5"
[dependencies.dotenvy]
version = "0.15"
[dependencies.exopack]
version = "0.2"
features = [
"screenshot",
"interface",
"triple_sims",
"devtools",
]
optional = true
[dependencies.hkdf]
version = "0.12"
[dependencies.include_packed]
version = "0.1"
[dependencies.lers]
version = "0.4"
features = ["dns-01-cloudflare"]
optional = true
[dependencies.lettre]
version = "0.11"
features = [
"smtp-transport",
"builder",
"rustls-tls",
"tokio1-rustls-tls",
]
default-features = false
[dependencies.mime_guess]
version = "2"
[dependencies.open]
version = "5"
[dependencies.rand]
version = "0.8"
[dependencies.rcgen]
version = "0.14"
[dependencies.reqwest]
version = "0.11"
features = [
"blocking",
"json",
"cookies",
"rustls-tls",
]
default-features = false
[dependencies.rustls]
version = "0.23"
features = ["ring"]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.sled]
version = "0.34"
[dependencies.sqlx]
version = "0.8"
features = [
"runtime-tokio-rustls",
"sqlite",
]
[dependencies.tempfile]
version = "3"
[dependencies.thiserror]
version = "1"
[dependencies.time]
version = "0.3"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tower-http]
version = "0.5"
features = [
"compression-gzip",
"compression-deflate",
"compression-zstd",
"trace",
"set-header",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.urlencoding]
version = "2"
[dependencies.uuid]
version = "1"
features = ["v4"]
[dependencies.zstd]
version = "0.13"
[build-dependencies.include_packed]
version = "0.1"
features = ["build"]
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
debug = 0
panic = "abort"
overflow-checks = false
incremental = false
strip = true