[package]
name = "hashtree-cli"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "Hashtree daemon and CLI - content-addressed storage with P2P sync"
default-run = "htree"
[[bin]]
name = "htree"
path = "src/main.rs"
[[bin]]
name = "git-remote-htree"
path = "src/git_remote.rs"
required-features = ["git-remote-wrapper"]
[dependencies]
git-remote-htree = { version = "0.2.8", path = "../git-remote-htree" }
hashtree-core.workspace = true
hashtree-fs.workspace = true
hashtree-fuse = { version = "0.2.8", path = "../fuse", optional = true, features = ["fuse"] }
hashtree-lmdb = { workspace = true, optional = true }
hashtree-blossom.workspace = true
hashtree-config.workspace = true
hashtree-resolver = { workspace = true, features = ["nostr"] }
hashtree-webrtc = { workspace = true, optional = true }
aws-sdk-s3 = { workspace = true, optional = true }
aws-config = { workspace = true, optional = true }
heed.workspace = true
tempfile.workspace = true
axum.workspace = true
tower.workspace = true
tower-http.workspace = true
nostr.workspace = true
nostr-sdk.workspace = true
nostrdb-social = { version = "0.8.0", optional = true }
webrtc = { version = "0.11", optional = true }
webrtc-stun = { version = "0.1", optional = true }
tokio = { version = "1", features = ["full"] }
tokio-tungstenite = "0.24"
futures = "0.3"
serde.workspace = true
serde_json.workspace = true
serde_bytes = "0.11"
rmp-serde = "1.3"
async-trait.workspace = true
anyhow.workspace = true
thiserror.workspace = true
hex.workspace = true
sha2.workspace = true
bytes.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
base64 = "0.22"
rand = "0.8"
secp256k1 = { version = "0.29", features = ["global-context"] }
lru.workspace = true
libc = "0.2"
fuser = { version = "0.14", optional = true }
clap.workspace = true
dirs = "5"
toml.workspace = true
ignore = "0.4"
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls", "blocking"] }
rustls = { version = "0.23", features = ["ring"] }
[features]
default = ["p2p", "nostrdb"]
p2p = ["dep:hashtree-webrtc", "dep:webrtc"]
stun = ["p2p", "dep:webrtc-stun"]
nostrdb = ["dep:nostrdb-social"]
s3 = ["dep:aws-sdk-s3", "dep:aws-config"]
lmdb = ["dep:hashtree-lmdb"]
fuse = ["dep:hashtree-fuse", "dep:fuser"]
git-remote-wrapper = []
[dev-dependencies]
tempfile.workspace = true
walkdir = "2"
nostr.workspace = true
serde_json.workspace = true