forked from equalitie/ouisync
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
92 lines (86 loc) · 2.98 KB
/
Cargo.toml
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
84
85
86
87
88
89
90
91
92
[package]
name = "ouisync"
description = "Secure P2P file sharing (shared library)"
publish = false
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true
[[bench]]
name = "bench_lib"
harness = false
[[bench]]
name = "bench_large_file"
harness = false
[dependencies]
argon2 = "0.4.0"
async-recursion = "1.0.0"
async-trait = { workspace = true }
backoff = "0.4.0"
base64 = "0.13.0"
bincode = "1.3"
blake3 = { version = "1.3.0", features = ["traits-preview"] }
btdht = { workspace = true }
camino = { workspace = true }
chacha20 = "0.9.0"
chrono = "0.4.24"
crossbeam-channel = "0.5.8"
ed25519-dalek = { version = "1", features = ["serde"] }
either = { version = "1.6.1", default-features = false }
futures-util = { workspace = true }
generic-array = { version = "0.14.5", features = ["serde"] }
hdrhistogram = { version = "7.5.2", default-features = false }
hex = "0.4.3"
indexmap = "1.9.3"
lru = "0.11.0"
net = { package = "ouisync-net", path = "../net" }
noise-protocol = "0.1.3"
noise-rust-crypto = { version = "0.5.0", default-features = false, features = ["use-x25519", "use-chacha20poly1305", "use-blake2"] }
num_enum = { workspace = true }
once_cell = { workspace = true }
parse-size = { version = "1.0.0", features = ["std"] }
pin-project-lite = "0.2.13"
rand = { workspace = true }
ref-cast = "1.0.14"
rupnp = { version = "1.1.0", default-features = false, features = [] }
scoped_task = { path = "../scoped_task" }
serde = { workspace = true }
serde_bytes = { workspace = true }
serde_millis = "0.1.1"
slab = "0.4.6"
sqlx = { version = "0.7.1", default-features = false, features = ["runtime-tokio", "sqlite"] }
ssdp-client = "1.0"
thiserror = { workspace = true }
tokio = { workspace = true }
tokio-stream = { workspace = true, features = ["sync"] }
tokio-util = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = [ "env-filter" ] }
turmoil = { workspace = true, optional = true }
twox-hash = { version = "1.6.3", default-features = false }
urlencoding = "2.1.0"
vint64 = "1.0.1"
zeroize = "1.2.0"
# Using these to find out network interfaces. The `nix` package supports
# Android out of the box, but doesn't support Windows. The `network-interfaces`
# package doesn't officially support Android, though it looks as it shouldn't
# be too big of a problem to do so (TODO). The latter also doesn't export
# whether an interface supports multicast (only broadcast).
[target.'cfg(unix)'.dependencies]
nix = "0.25.0"
[target.'cfg(windows)'.dependencies]
network-interface = "0.1.3"
[dev-dependencies]
assert_matches = "1.5"
comfy-table = { version = "6.2.0", default-features = false }
criterion = { version = "0.4", features = ["html_reports"] }
ouisync-tracing-fmt = { path = "../tracing_fmt" }
proptest = "1.0"
serde_json = "1.0.94"
tempfile = "3.2"
test-strategy = "0.2.1"
tokio = { workspace = true, features = ["test-util"] }
[features]
simulation = ["rand/simulation", "turmoil"]