[package]
edition = "2021"
name = "huddle-core"
version = "1.1.4"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Protocol, networking, crypto, and storage layer for huddle — a decentralized terminal chat app."
homepage = "https://github.com/richer-richard/huddle"
readme = "README.md"
keywords = [
"chat",
"p2p",
"libp2p",
"mdns",
"encryption",
]
categories = [
"network-programming",
"cryptography",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/richer-richard/huddle"
[features]
arti = [
"dep:arti-client",
"dep:tor-rtcompat",
]
default = []
[lib]
name = "huddle_core"
path = "src/lib.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[dependencies.argon2]
version = "0.5"
[dependencies.arti-client]
version = "0.42"
features = [
"tokio",
"rustls",
"onion-service-client",
"compression",
]
optional = true
default-features = false
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.chacha20poly1305]
version = "0.10"
[dependencies.dirs]
version = "6"
[dependencies.ed25519-dalek]
version = "2"
features = ["rand_core"]
[dependencies.futures]
version = "0.3"
[dependencies.hex]
version = "0.4"
[dependencies.hkdf]
version = "0.13"
[dependencies.libp2p]
version = "0.56"
features = [
"mdns",
"identify",
"ping",
"request-response",
"tcp",
"noise",
"yamux",
"tokio",
"ed25519",
"macros",
"gossipsub",
"relay",
"autonat",
"dcutr",
]
[dependencies.rand]
version = "0.8"
[dependencies.rusqlite]
version = "0.39"
features = ["bundled-sqlcipher-vendored-openssl"]
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
"logging",
]
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.11"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-socks]
version = "0.5"
[dependencies.tokio-tungstenite]
version = "0.24"
features = ["rustls-tls-native-roots"]
[dependencies.tor-rtcompat]
version = "0.42"
features = [
"tokio",
"rustls",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
[dependencies.vodozemac]
version = "0.10"
[dependencies.x25519-dalek]
version = "2"
features = ["static_secrets"]
[dependencies.zeroize]
version = "1"
features = ["derive"]
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]