[package]
name = "arti-relay"
version = "0.39.0"
authors = ["The Tor Project, Inc."]
edition = "2024"
rust-version = "1.86"
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",
    "tor-llcrypto/full",
    "tor-persist/full",
    "tor-general-addr/full",
    "tor-circmgr/full",
    "tor-dircommon/full",
    "tor-dirmgr/full",
    "tor-guardmgr/full",
    "tor-log-ratelim/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 = "2.0.1", features = ["full"] }
directories = "6"
fs-mistrust = { path = "../fs-mistrust", version = "0.13.1", features = ["serde"] }
futures = "0.3.14"
libc = "0.2"
rand = "0.9.1"
rustls = { version = "0.23.5", default-features = false, features = ["logging", "ring"] }
safelog = { path = "../safelog", version = "0.7.0" }
serde = { version = "1.0.103", features = ["derive"] }
strum = { version = "0.27.1", features = ["derive"] }
thiserror = "2"
tokio = { version = "1.7", features = ["signal"] }
tor-chanmgr = { path = "../tor-chanmgr", version = "0.39.0", features = ["relay"] }
tor-circmgr = { version = "0.39.0", path = "../tor-circmgr" }
tor-config = { path = "../tor-config", version = "0.39.0" }
tor-config-path = { path = "../tor-config-path", version = "0.39.0" }
tor-dircommon = { version = "0.39.0", path = "../tor-dircommon" }
tor-dirmgr = { path = "../tor-dirmgr", version = "0.39.0" }
tor-error = { path = "../tor-error", version = "0.39.0" }
tor-general-addr = { path = "../tor-general-addr", version = "0.39.0" }
tor-guardmgr = { version = "0.39.0", path = "../tor-guardmgr" }
tor-keymgr = { path = "../tor-keymgr", version = "0.39.0", features = ["keymgr", "ephemeral-keystore"] }
tor-llcrypto = { path = "../tor-llcrypto", version = "0.39.0" }
tor-log-ratelim = { path = "../tor-log-ratelim", version = "0.39.0" }
tor-memquota = { version = "0.39.0", path = "../tor-memquota" }
tor-netdir = { path = "../tor-netdir", version = "0.39.0" }
tor-netdoc = { path = "../tor-netdoc", version = "0.39.0" }
tor-persist = { path = "../tor-persist", version = "0.39.0", features = ["state-dir"] }
tor-proto = { path = "../tor-proto", version = "0.39.0", features = ["tokio"] }
tor-relay-crypto = { path = "../tor-relay-crypto", version = "0.39.0" }
tor-rtcompat = { path = "../tor-rtcompat", version = "0.39.0", features = ["rustls", "tokio"] }
tracing = "0.1.36"
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }
void = "1"

[dev-dependencies]

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