[package]
name = "tor-hsrproxy"
version = "0.27.0"
authors = ["The Tor Project, Inc.", "Nick Mathewson <nickm@torproject.org>"]
edition = "2021"
rust-version = "1.77"
license = "MIT OR Apache-2.0"
homepage = "https://gitlab.torproject.org/tpo/core/arti/-/wikis/home"
description = "Reverse proxy to build an onion service that connects to local servers."
keywords = ["tor", "arti", "cryptography"]
categories = ["cryptography"]
repository = "https://gitlab.torproject.org/tpo/core/arti.git/"

[features]
default = []
full = [
    "safelog/full",
    "tor-cell/full",
    "tor-config/full",
    "tor-error/full",
    "tor-hsservice/full",
    "tor-proto/full",
    "tor-rtcompat/full",
    "tor-async-utils/full",
    "tor-log-ratelim/full",
    "oneshot-fused-workaround/full",
]

# Enable experimental APIs that are not yet officially supported.
#
# These APIs are not covered by semantic versioning.  Using this
# feature voids your "semver warrantee".
experimental = ["tor-hsservice/experimental", "experimental-api", "restricted-discovery"]
experimental-api = ["__is_experimental"]
__is_experimental = []

restricted-discovery = ["tor-hsservice/restricted-discovery", "__is_experimental"]

[dependencies]
derive-deftly = "0.14"
derive_builder = { version = "0.11.2", package = "derive_builder_fork_arti" }
futures = "0.3.14"
# postage = { version = "0.5.0", default-features = false, features = ["futures-traits"] }
oneshot-fused-workaround = { path = "../oneshot-fused-workaround", version = "0.2.0" }
rangemap = "1.3"
safelog = { version = "0.4.2", path = "../safelog" }
serde = { version = "1.0.103", features = ["derive"] }
serde_with = "3.0.0"
thiserror = "2"
tor-async-utils = { version = "0.27.0", path = "../tor-async-utils" }
tor-cell = { version = "0.27.0", path = "../tor-cell" }
tor-config = { version = "0.27.0", path = "../tor-config" }
tor-error = { version = "0.27.0", path = "../tor-error" }
tor-hsservice = { path = "../tor-hsservice", version = "0.27.0" }
tor-log-ratelim = { path = "../tor-log-ratelim", version = "0.27.0" }
tor-proto = { version = "0.27.0", path = "../tor-proto", features = ["hs-service"] }
tor-rtcompat = { path = "../tor-rtcompat", version = "0.27.0" }
tracing = "0.1.36"
void = "1"

[dev-dependencies]
serde_json = "1.0.50"
toml = "0.8.8"
