[package]
name = "arti-relay"
version = "0.27.0"
authors = ["The Tor Project, Inc."]
edition = "2021"
rust-version = "1.77"
license = "MIT OR Apache-2.0"
homepage = "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home"
description = "Library for running a relay of the Tor network"
keywords = ["tor", "arti", "privacy", "anonymity", "networking"]
categories = ["network-programming", "cryptography"]
repository = "https://gitlab.torproject.org/tpo/core/arti.git/"

[features]
full = [
    "fs-mistrust/full",
    "safelog/full",
    "tor-chanmgr/full",
    "tor-config/full",
    "tor-error/full",
    "tor-keymgr/full",
    "tor-netdir/full",
    "tor-netdoc/full",
    "tor-proto/full",
    "tor-relay-crypto/full",
    "tor-rtcompat/full",
    "tor-memquota/full",
    "tor-config-path/full",
]

[dependencies]
anyhow = "1.0.23"
clap = { version = "4.3.24", features = ["string", "wrap_help", "derive"] }
derive_builder = { version = "0.11.2", package = "derive_builder_fork_arti" }
derive_more = { version = "1.0.0", features = ["full"] }
directories = "5"
fs-mistrust = { path = "../fs-mistrust", version = "0.9.0", features = ["serde"] }
once_cell = "1"
rand = "0.8.5"
safelog = { path = "../safelog", version = "0.4.2" }
serde = { version = "1.0.103", features = ["derive"] }
strum = { version = "0.26.3", features = ["derive"] }
thiserror = "2"
tor-chanmgr = { path = "../tor-chanmgr", version = "0.27.0" }
tor-config = { path = "../tor-config", version = "0.27.0" }
tor-config-path = { path = "../tor-config-path", version = "0.27.0" }
tor-error = { path = "../tor-error", version = "0.27.0" }
tor-keymgr = { path = "../tor-keymgr", version = "0.27.0", features = ["keymgr", "ephemeral-keystore"] }
# TODO RELAY compile in memquota tracking by default?  with a calculated limit maybe, even?
tor-memquota = { version = "0.27.0", path = "../tor-memquota", default-features = false }
tor-netdir = { path = "../tor-netdir", version = "0.27.0" }
tor-netdoc = { path = "../tor-netdoc", version = "0.27.0" }
tor-proto = { path = "../tor-proto", version = "0.27.0", features = ["tokio"] }
tor-relay-crypto = { path = "../tor-relay-crypto", version = "0.27.0" }
tor-rtcompat = { path = "../tor-rtcompat", version = "0.27.0", features = ["rustls", "tokio"] }
tracing = "0.1.36"
tracing-subscriber = { version = "0.3.0", features = ["env-filter"] }

[dev-dependencies]

[package.metadata.docs.rs]
all-features = true
