-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
83 lines (78 loc) · 2.97 KB
/
Copy pathCargo.toml
File metadata and controls
83 lines (78 loc) · 2.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
[package]
name = "torrentmanager-axum"
version = "0.1.0"
edition = "2024"
[lib]
name = "torrentmanager"
path = "src/lib.rs"
[[bin]]
name = "torrentmanager"
path = "src/main.rs"
[dependencies]
askama = "0.16"
# askama_web::WebTemplate implements axum::IntoResponse
askama_web = { version = "0.16", features = ["axum-0.8"] }
axum = { version = "0.8.9", features = ["macros"] }
axum-extra = { version = "0.12.6", features = ["cookie"] }
# For torrent uploads
axum_typed_multipart = { version = "0.16.5", default-features = false }
# UTF-8 paths for easier String/PathBuf interop
camino = { version = "1.2.2", features = ["serde1"] }
# Date/time management
chrono = "0.4.44"
# CLI parsing:
# derive: Parser derive macro
# Consider adding extra deps:
# shadow-rs: build information in CLI
# clap_mangen: generate manpage at build time
# clap_complete: generate shell autocompletions
clap = { version = "4.6.1", features = ["derive"] }
# Automatic -q/-v/-vv/-vvv/-vvvv for verbosity
clap-verbosity-flag = "3.0.4"
# Reduce boilerplate for newtype pattern
derive_more = { version = "2.1.1", features = ["display"] }
env_logger = "0.11.10"
# Interactions with the torrent client
# Comment/uncomment below for development version
# hightorrent_api = { path = "../hightorrent_api" }
# hightorrent_api = { git = "https://github.com/angrynode/hightorrent_api", branch = "feat-sea-orm", features = [ "sea_orm" ] }
hightorrent_api = { version = "0.2.2", features = [ "sea_orm" ] }
log = "0.4.29"
# rqbit torrent client to resolve magnets
librqbit = { git = "https://github.com/ikatson/rqbit" }
# SQLite ORM
sea-orm = { version = "2.0.0-rc.38", features = [ "runtime-tokio", "debug-print", "sqlx-sqlite"] }
# SQLite migrations
sea-orm-migration = { version = "2.0.0-rc.38" }
# Serialization/deserialization, for example in path extractors
serde = { version = "1.0.228", features = ["derive", "rc"] }
# (De)serialization for operations log
serde_json = { version = "1" }
# Error declaration/context
snafu = "0.9"
# Serve static assets directly from the binary
# Using dev branch because of: https://github.com/M4SS-Code/static-serve/pull/8
# static-serve = "0.3.0"
static-serve = "0.6.1"
# Extra tokio features:
# fs: Filesystem IO integration
# rt: Single-threaded runtime
# sync: Mutex/RwLock support
# time: Sleep/Timeout support
tokio = { version = "1.52.3", features = ["fs", "rt", "sync", "time"] }
# Multiple listener integration:
# axum08: axum Listener trait integration
# clap: CLI parsing
# boxed_variant/mpsc_listener: IO mocking in tests
tokio-listener = { version = "0.5.2", features = ["axum08", "clap", "boxed_variant", "mpsc_listener", "serde"] }
# Configuration file parsing
toml = { version = "1", features = ["preserve_order"] }
# Dependency for free-space calculation
uucore = { version = "0.8.0", features = ["fsext"] }
# Finding XDG standard directories (such as ~/.config/torrentmanager/config.toml)
xdg = "3.0.0"
serde_with = "3.20.0"
[dev-dependencies]
async-tempfile = "0.7"
[profile.dev]
debug = false