[package]
name = "librqbit"
version = "5.1.0"
authors = ["Igor Katson <igor.katson@gmail.com>"]
edition = "2021"
description = "The main library used by rqbit torrent client. The binary is just a small wrapper on top of it."
license = "Apache-2.0"
documentation = "https://docs.rs/librqbit"
repository = "https://github.com/ikatson/rqbit"
readme = "README.md"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
default = ["sha1-system", "default-tls"]
webui = []
timed_existence = []
sha1-system = ["sha1w/sha1-system"]
sha1-openssl = ["sha1w/sha1-openssl"]
sha1-rust = ["sha1w/sha1-rust"]
default-tls = ["reqwest/default-tls"]
rust-tls = ["reqwest/rustls-tls"]

[dependencies]
bencode = {path = "../bencode", default-features=false, package="librqbit-bencode", version="2.2.1"}
buffers = {path = "../buffers", package="librqbit-buffers", version = "2.2.1"}
librqbit-core = {path = "../librqbit_core", version = "3.4.0"}
clone_to_owned = {path = "../clone_to_owned", package="librqbit-clone-to-owned", version = "2.2.1"}
peer_binary_protocol = {path = "../peer_binary_protocol", package="librqbit-peer-protocol", version = "3.4.0"}
sha1w = {path = "../sha1w", default-features=false, package="librqbit-sha1-wrapper", version="2.2.1"}
dht = {path = "../dht", package="librqbit-dht", version="5.0.0"}
librqbit-upnp = {path = "../upnp", version = "0.1.0"}

tokio = {version = "1", features = ["macros", "rt-multi-thread"]}
axum = {version = "0.7"}
tower-http = {version = "0.5", features = ["cors", "trace"]}
tokio-stream = "0.1"
serde = {version = "1", features=["derive"]}
serde_json = "1"
serde_urlencoded = "0.7"
anyhow = "1"
itertools = "0.12"
http = "1"
regex = "1"
reqwest = {version="0.11.22", default-features=false, features = ["json"]}
urlencoding = "2"
byteorder = "1"
bincode = "1"
bitvec = "1"
parking_lot = "0.12"
tracing = "0.1.40"
size_format = "1"
rand = "0.8"

openssl = {version="0.10", optional=true}
crypto-hash = {version="0.3", optional=true}
sha1 = {version = "0.10", optional=true}
tracing-subscriber = {version = "0.3", default-features = false, features = ["json"]}

uuid = {version = "1.2", features = ["v4"]}
futures = "0.3"
url = "2"
hex = "0.4"
backoff = "0.4.0"
dashmap = "5.5.3"
base64 = "0.21.5"
serde_with = "3.4.0"
tokio-util = "0.7.10"
bytes = "1.5.0"

[dev-dependencies]
futures = {version = "0.3"}
tracing-subscriber = "0.3"
tokio-test = "0.4"
