summaryrefslogtreecommitdiffhomepage
path: root/mullvad-daemon/Cargo.toml
blob: 5b1132fa1003472200a7e3244d1d0cb36fd0228b (plain)
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
[package]
name = "mullvad-daemon"
description = "Mullvad VPN daemon. Runs and controls the VPN tunnels"
authors.workspace = true
repository.workspace = true
license.workspace = true
edition.workspace = true
rust-version.workspace = true

[lints]
workspace = true

[features]
# Allow the API server to use to be configured
api-override = ["mullvad-api/api-override"]
boringtun = ["talpid-core/boringtun"]
staggered-obfuscation = ["mullvad-relay-selector/staggered-obfuscation"]
multihop-pcap = ["talpid-core/multihop-pcap"]

[dependencies]
anyhow = { workspace = true }
chrono = { workspace = true }
thiserror = { workspace = true }
either = "1.11"
fern = { workspace = true, features = ["colored"] }
futures = { workspace = true }
libc = "0.2"
log = { workspace = true }
regex = "1.0"
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["std"] }
tokio = { workspace = true, features =  ["fs", "io-util", "rt-multi-thread", "sync", "time"] }
tokio-stream = { version = "0.1", features = ["sync"]}
socket2 = { workspace = true }
ipnetwork = { workspace = true }
rand = { workspace = true }

mullvad-relay-selector = { path = "../mullvad-relay-selector" }
mullvad-types = { path = "../mullvad-types" }
mullvad-api = { path = "../mullvad-api" }
mullvad-encrypted-dns-proxy = { path = "../mullvad-encrypted-dns-proxy" }
mullvad-fs = { path = "../mullvad-fs" }
mullvad-paths = { path = "../mullvad-paths" }
mullvad-version = { path = "../mullvad-version" }
mullvad-update = { path = "../mullvad-update", features = ["client"] }
mullvad-leak-checker = { path = "../mullvad-leak-checker", default-features = false }
talpid-core = { path = "../talpid-core" }
talpid-future = { path = "../talpid-future" }
talpid-platform-metadata = { path = "../talpid-platform-metadata" }
talpid-time = { path = "../talpid-time" }
talpid-types = { path = "../talpid-types" }
talpid-routing = { path = "../talpid-routing" }

clap = { workspace = true }
log-panics = "2.0.0"
mullvad-management-interface = { path = "../mullvad-management-interface" }

[dev-dependencies]
insta = { workspace = true, features = ["json"] }
talpid-time = { path = "../talpid-time", features = ["test"] }
tokio = { workspace = true, features =  ["test-util"] }

[target.'cfg(target_os="android")'.dependencies]
async-trait = "0.1"
android_logger = "0.8"
hickory-resolver = { workspace = true }

[target.'cfg(unix)'.dependencies]
nix = { workspace = true, features = ["signal", "user"] }
simple-signal = "1.1"

[target.'cfg(target_os="linux")'.dependencies]
talpid-dbus = { path = "../talpid-dbus" }

[target.'cfg(target_os="macos")'.dependencies]
objc2-foundation = { version = "0.3.1", features = ["NSProcessInfo", "NSString", "NSURL"] }
objc2-service-management = { version = "0.3.1", features = [ "SMAppService", "objc2" ] }
notify = "8.0.0"
talpid-macos = { path = "../talpid-macos" }

[target.'cfg(windows)'.dependencies]
ctrlc = "3.0"
windows-service = "0.6.0"
winapi = { version = "0.3", features = ["winnt", "excpt", "winerror"] }
dirs = { workspace = true }
talpid-windows = { path = "../talpid-windows" }

[target.'cfg(windows)'.dependencies.windows-sys]
workspace = true
features = [
    "Win32_Foundation",
    "Win32_Security",
    "Win32_Security_Authorization",
    "Win32_Security_Authentication_Identity",
    "Win32_System_Diagnostics_Debug",
    "Win32_System_Kernel",
    "Win32_System_Memory",
    "Win32_System_Threading",
]

[target.'cfg(windows)'.build-dependencies]
winres = "0.1"
mullvad-version = { path = "../mullvad-version" }

[target.'cfg(windows)'.build-dependencies.windows-sys]
workspace = true
features = ["Win32_System_SystemServices"]

[package.metadata.winres]
ProductName = "Mullvad VPN"
CompanyName = "Mullvad VPN AB"
LegalCopyright = "(c) 2025 Mullvad VPN AB"
InternalName = "mullvad-daemon"
OriginalFilename = "mullvad-daemon.exe"