[package] name = "librqbit" version = "7.0.1" authors = ["Igor Katson "] 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 = ["default-tls"] http-api = ["axum", "tower-http"] upnp-serve-adapter = ["upnp-serve"] webui = [] timed_existence = [] default-tls = [ "reqwest/default-tls", "sha1w/sha1-crypto-hash", "bencode/sha1-crypto-hash", "librqbit-core/sha1-crypto-hash", ] rust-tls = [ "reqwest/rustls-tls", "sha1w/sha1-ring", "sha1w/sha1-ring", "bencode/sha1-ring", "librqbit-core/sha1-ring", ] storage_middleware = ["lru"] storage_examples = [] tracing-subscriber-utils = ["tracing-subscriber"] postgres = ["sqlx"] async-bt = ["async-backtrace"] [dependencies] # TODO: 0.8.1 doesn't compile, upgrade once released. sqlx = { version = "=0.8.0", features = [ "runtime-tokio", "postgres", ], optional = true } bencode = { path = "../bencode", default-features = false, package = "librqbit-bencode", version = "3" } tracker_comms = { path = "../tracker_comms", default-features = false, package = "librqbit-tracker-comms", version = "2" } buffers = { path = "../buffers", package = "librqbit-buffers", version = "4.1" } librqbit-core = { path = "../librqbit_core", default-features = false, version = "4" } clone_to_owned = { path = "../clone_to_owned", package = "librqbit-clone-to-owned", version = "3" } peer_binary_protocol = { path = "../peer_binary_protocol", default-features = false, package = "librqbit-peer-protocol", version = "4.1" } sha1w = { path = "../sha1w", default-features = false, package = "librqbit-sha1-wrapper", version = "4" } dht = { path = "../dht", package = "librqbit-dht", version = "5.1.0" } librqbit-upnp = { path = "../upnp", version = "0.1.1" } upnp-serve = { path = "../upnp-serve", package = "librqbit-upnp-serve", default-features = false, version = "0.1.0", optional = true } tokio = { version = "1", features = [ "macros", "rt-multi-thread", "fs", "io-util", ] } axum = { version = "0.7.4", optional = true } tower-http = { version = "0.5", features = ["cors", "trace"], optional = true } 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.12", default-features = false, features = [ "json", "socks", ] } urlencoding = "2" byteorder = "1" bincode = "1" bitvec = "1" parking_lot = "0.12" tracing = "0.1.40" size_format = "1" rand = "0.8" tracing-subscriber = { version = "0.3", default-features = false, features = [ "json", "fmt", "env-filter", ], optional = true } 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 = { version = "0.7.10", features = ["io"] } bytes = "1.5.0" rlimit = "0.10.1" async-stream = "0.3.5" memmap2 = { version = "0.9.4" } lru = { version = "0.12.3", optional = true } mime_guess = { version = "2.0.5", default-features = false } tokio-socks = "0.5.2" async-trait = "0.1.81" async-backtrace = { version = "0.2", optional = true } [build-dependencies] anyhow = "1" [dev-dependencies] futures = { version = "0.3" } tracing-subscriber = "0.3" tokio-test = "0.4" tempfile = "3" rand = { version = "0.8", features = ["small_rng"] }