61 lines
2.1 KiB
TOML
61 lines
2.1 KiB
TOML
[package]
|
|
name = "kochab"
|
|
version = "0.1.0-unreleased"
|
|
description = "Ergonomic Gemini SDK"
|
|
authors = ["Emii Tatsuo <emi@alchemi.dev>", "panicbit <panicbit.dev@gmail.com>"]
|
|
license = "Hippocratic-2.1"
|
|
keywords = ["gemini", "server", "smallnet"]
|
|
categories = ["asynchronous", "network-programming"]
|
|
edition = "2018"
|
|
repository = "https://gitlab.com/Alch_Emi/kochab"
|
|
readme = "README.md"
|
|
include = ["src/**", "Cargo.*", "CHANGELOG.md", "LICENSE*", "README.md"]
|
|
|
|
[features]
|
|
default = ["certgen"]
|
|
user_management = ["sled", "bincode", "serde/derive", "crc32fast", "lazy_static"]
|
|
user_management_advanced = ["rust-argon2", "user_management"]
|
|
user_management_routes = ["user_management"]
|
|
serve_dir = ["mime_guess", "tokio/fs"]
|
|
ratelimiting = ["dashmap"]
|
|
certgen = ["rcgen", "gemini_srv"]
|
|
gemini_srv = ["tokio-rustls", "webpki", "rustls", "ring"]
|
|
scgi_srv = ["base64"]
|
|
|
|
[dependencies]
|
|
anyhow = "1.0.33"
|
|
tokio = { version = "0.3.1", features = ["io-util","net","time", "rt"] }
|
|
uriparse = "0.6.3"
|
|
percent-encoding = "2.1.0"
|
|
log = "0.4.11"
|
|
ring = { version = "0.16.15", optional = true }
|
|
base64 = { version = "0.13.0", optional = true }
|
|
lazy_static = { version = "1.4.0", optional = true }
|
|
rustls = { version = "0.19", features = ["dangerous_configuration"], optional = true}
|
|
webpki = { version = "0.21.0", optional = true}
|
|
tokio-rustls = { version = "0.21.0", optional = true}
|
|
mime_guess = { version = "2.0.3", optional = true }
|
|
dashmap = { version = "3.11.10", optional = true }
|
|
sled = { version = "0.34.6", optional = true }
|
|
bincode = { version = "1.3.1", optional = true }
|
|
serde = { version = "1.0", optional = true }
|
|
rust-argon2 = { version = "0.8.2", optional = true }
|
|
crc32fast = { version = "1.2.1", optional = true }
|
|
rcgen = { version = "0.8.5", optional = true }
|
|
|
|
[dev-dependencies]
|
|
env_logger = "0.8.1"
|
|
tokio = { version = "0.3.1", features = ["macros", "rt-multi-thread", "sync"] }
|
|
|
|
[[example]]
|
|
name = "user_management"
|
|
required-features = ["user_management_routes"]
|
|
|
|
[[example]]
|
|
name = "serve_dir"
|
|
required-features = ["serve_dir"]
|
|
|
|
[[example]]
|
|
name = "ratelimiting"
|
|
required-features = ["ratelimiting"]
|