2021-06-25 13:47:51 +01:00
|
|
|
[package]
|
|
|
|
|
name = "librqbit"
|
2025-01-06 15:27:44 +00:00
|
|
|
version = "8.0.0"
|
2021-06-25 13:47:51 +01:00
|
|
|
authors = ["Igor Katson <igor.katson@gmail.com>"]
|
2023-11-22 23:13:27 +00:00
|
|
|
edition = "2021"
|
2023-11-15 14:26:50 +00:00
|
|
|
description = "The main library used by rqbit torrent client. The binary is just a small wrapper on top of it."
|
|
|
|
|
license = "Apache-2.0"
|
2023-11-16 07:39:49 +00:00
|
|
|
documentation = "https://docs.rs/librqbit"
|
2023-11-15 14:26:50 +00:00
|
|
|
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
|
2021-07-01 19:17:44 +01:00
|
|
|
|
|
|
|
|
[features]
|
2024-03-29 15:57:30 +00:00
|
|
|
default = ["default-tls"]
|
2024-08-29 00:35:03 +01:00
|
|
|
tokio-console = ["console-subscriber", "tokio/tracing"]
|
2024-08-15 18:54:59 +01:00
|
|
|
http-api = ["axum", "tower-http"]
|
2024-08-21 23:57:21 +01:00
|
|
|
upnp-serve-adapter = ["upnp-serve"]
|
2023-11-20 20:15:40 +00:00
|
|
|
webui = []
|
2023-11-19 19:40:45 +00:00
|
|
|
timed_existence = []
|
2024-08-28 13:32:42 +01:00
|
|
|
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",
|
|
|
|
|
]
|
2024-05-03 13:38:22 +01:00
|
|
|
storage_middleware = ["lru"]
|
2024-05-03 08:46:46 +01:00
|
|
|
storage_examples = []
|
2024-08-15 18:54:59 +01:00
|
|
|
tracing-subscriber-utils = ["tracing-subscriber"]
|
2024-08-15 14:18:55 +01:00
|
|
|
postgres = ["sqlx"]
|
2024-08-19 13:40:01 +01:00
|
|
|
async-bt = ["async-backtrace"]
|
2024-09-13 12:34:51 +01:00
|
|
|
watch = ["notify"]
|
2024-10-03 09:01:38 +01:00
|
|
|
disable-upload = []
|
2021-06-25 13:47:51 +01:00
|
|
|
|
|
|
|
|
[dependencies]
|
2024-09-13 09:28:00 +01:00
|
|
|
sqlx = { version = "0.8.2", features = [
|
2024-08-15 14:18:55 +01:00
|
|
|
"runtime-tokio",
|
|
|
|
|
"postgres",
|
|
|
|
|
], optional = true }
|
2024-08-15 14:46:26 +01:00
|
|
|
bencode = { path = "../bencode", default-features = false, package = "librqbit-bencode", version = "3" }
|
2025-01-06 15:27:44 +00:00
|
|
|
tracker_comms = { path = "../tracker_comms", default-features = false, package = "librqbit-tracker-comms", version = "2.1" }
|
|
|
|
|
buffers = { path = "../buffers", package = "librqbit-buffers", version = "4.2" }
|
|
|
|
|
librqbit-core = { path = "../librqbit_core", default-features = false, version = "4.1" }
|
2024-08-15 14:46:26 +01:00
|
|
|
clone_to_owned = { path = "../clone_to_owned", package = "librqbit-clone-to-owned", version = "3" }
|
2024-08-27 15:11:34 +01:00
|
|
|
peer_binary_protocol = { path = "../peer_binary_protocol", default-features = false, package = "librqbit-peer-protocol", version = "4.1" }
|
2025-01-06 15:27:44 +00:00
|
|
|
sha1w = { path = "../sha1w", default-features = false, package = "librqbit-sha1-wrapper", version = "4.1" }
|
|
|
|
|
dht = { path = "../dht", package = "librqbit-dht", version = "5.2.0" }
|
|
|
|
|
librqbit-upnp = { path = "../upnp", version = "1" }
|
|
|
|
|
upnp-serve = { path = "../upnp-serve", package = "librqbit-upnp-serve", default-features = false, version = "1", optional = true }
|
2021-07-03 19:10:59 +01:00
|
|
|
|
2024-08-15 10:40:48 +01:00
|
|
|
tokio = { version = "1", features = [
|
|
|
|
|
"macros",
|
|
|
|
|
"rt-multi-thread",
|
|
|
|
|
"fs",
|
|
|
|
|
"io-util",
|
|
|
|
|
] }
|
2024-11-16 10:55:33 +00:00
|
|
|
governor = "0.7"
|
2024-08-29 00:35:03 +01:00
|
|
|
console-subscriber = { version = "0.4", optional = true }
|
2024-08-28 11:27:44 +01:00
|
|
|
axum = { version = "0.7", optional = true }
|
2024-08-15 18:54:59 +01:00
|
|
|
tower-http = { version = "0.5", features = ["cors", "trace"], optional = true }
|
2021-07-12 19:55:23 +01:00
|
|
|
tokio-stream = "0.1"
|
2024-03-29 21:06:59 +00:00
|
|
|
serde = { version = "1", features = ["derive"] }
|
2021-07-08 23:03:58 +01:00
|
|
|
serde_json = "1"
|
2023-11-15 14:43:41 +00:00
|
|
|
serde_urlencoded = "0.7"
|
2021-06-25 13:47:51 +01:00
|
|
|
anyhow = "1"
|
2024-08-28 11:44:01 +01:00
|
|
|
itertools = "0.13"
|
2023-12-01 11:56:07 +00:00
|
|
|
http = "1"
|
2021-10-09 15:03:42 +01:00
|
|
|
regex = "1"
|
2024-08-08 00:35:32 +01:00
|
|
|
reqwest = { version = "0.12", default-features = false, features = [
|
|
|
|
|
"json",
|
|
|
|
|
"socks",
|
|
|
|
|
] }
|
2022-12-04 13:11:40 +00:00
|
|
|
urlencoding = "2"
|
2021-06-25 13:47:51 +01:00
|
|
|
byteorder = "1"
|
|
|
|
|
bincode = "1"
|
2022-12-04 13:11:40 +00:00
|
|
|
bitvec = "1"
|
|
|
|
|
parking_lot = "0.12"
|
2023-11-19 12:50:11 +00:00
|
|
|
tracing = "0.1.40"
|
2021-06-26 18:13:46 +01:00
|
|
|
size_format = "1"
|
2021-06-27 10:10:59 +01:00
|
|
|
rand = "0.8"
|
2024-03-29 21:06:59 +00:00
|
|
|
tracing-subscriber = { version = "0.3", default-features = false, features = [
|
|
|
|
|
"json",
|
|
|
|
|
"fmt",
|
|
|
|
|
"env-filter",
|
2024-08-15 18:54:59 +01:00
|
|
|
], optional = true }
|
2024-03-29 21:06:59 +00:00
|
|
|
uuid = { version = "1.2", features = ["v4"] }
|
2021-06-25 13:47:51 +01:00
|
|
|
futures = "0.3"
|
2024-12-03 21:10:09 +00:00
|
|
|
url = { version = "=2.5.2", default-features = false } # can't upgrade yet until min version is Rust 1.81, see https://github.com/servo/rust-url/issues/992
|
2024-12-03 21:07:44 +00:00
|
|
|
|
2021-07-03 15:22:17 +01:00
|
|
|
hex = "0.4"
|
2023-11-17 23:30:07 +00:00
|
|
|
backoff = "0.4.0"
|
2024-08-28 11:44:01 +01:00
|
|
|
dashmap = "6"
|
2024-08-28 11:27:44 +01:00
|
|
|
base64 = "0.22"
|
2023-12-02 15:35:26 +00:00
|
|
|
serde_with = "3.4.0"
|
2024-08-21 23:57:21 +01:00
|
|
|
tokio-util = { version = "0.7.10", features = ["io"] }
|
2023-12-08 19:47:48 +00:00
|
|
|
bytes = "1.5.0"
|
2023-12-17 13:01:59 +00:00
|
|
|
rlimit = "0.10.1"
|
2024-02-26 20:45:21 +00:00
|
|
|
async-stream = "0.3.5"
|
2024-05-02 22:08:00 +01:00
|
|
|
memmap2 = { version = "0.9.4" }
|
|
|
|
|
lru = { version = "0.12.3", optional = true }
|
2024-08-06 13:49:03 +01:00
|
|
|
mime_guess = { version = "2.0.5", default-features = false }
|
2024-08-08 00:35:32 +01:00
|
|
|
tokio-socks = "0.5.2"
|
2024-08-15 10:40:48 +01:00
|
|
|
async-trait = "0.1.81"
|
2024-08-19 13:40:01 +01:00
|
|
|
async-backtrace = { version = "0.2", optional = true }
|
2024-09-13 12:34:51 +01:00
|
|
|
notify = { version = "6.1.1", optional = true }
|
2024-09-13 12:58:09 +01:00
|
|
|
walkdir = "2.5.0"
|
2024-11-16 11:11:56 +00:00
|
|
|
arc-swap = "1.7.1"
|
2021-06-25 13:47:51 +01:00
|
|
|
|
2024-08-12 20:59:21 +01:00
|
|
|
[build-dependencies]
|
|
|
|
|
anyhow = "1"
|
|
|
|
|
|
2021-06-25 13:47:51 +01:00
|
|
|
[dev-dependencies]
|
2024-03-29 21:06:59 +00:00
|
|
|
futures = { version = "0.3" }
|
2023-11-26 09:59:44 +00:00
|
|
|
tracing-subscriber = "0.3"
|
2023-12-07 08:10:17 +00:00
|
|
|
tokio-test = "0.4"
|
2024-03-05 09:18:22 +00:00
|
|
|
tempfile = "3"
|
2024-03-29 21:06:59 +00:00
|
|
|
rand = { version = "0.8", features = ["small_rng"] }
|