mirror of
https://github.com/aphrody-labs/mullvadvpn-app.git
synced 2026-10-13 22:10:39 +00:00
185 lines
8.0 KiB
TOML
185 lines
8.0 KiB
TOML
[package]
|
|
name = "mullvad-daemon"
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
description = "Mullvad VPN daemon. Runs and controls the VPN tunnels"
|
|
repository.workspace = true
|
|
license.workspace = true
|
|
|
|
[package.metadata.winresource]
|
|
ProductName = "Mullvad VPN"
|
|
CompanyName = "Mullvad VPN AB"
|
|
LegalCopyright = "(c) 2026 Mullvad VPN AB"
|
|
InternalName = "mullvad-daemon"
|
|
OriginalFilename = "mullvad-daemon.exe"
|
|
|
|
[package.metadata.deb]
|
|
name = "mullvad-vpn-daemon"
|
|
conflicts = ["mullvad-vpn"]
|
|
maintainer = "Mullvad VPN <support@mullvadvpn.net>"
|
|
copyright = "2026, Mullvad VPN AB <support@mullvadvpn.net>"
|
|
license-file = ["../LICENSE.md", "0"]
|
|
section = "net"
|
|
priority = "optional"
|
|
depends = "$auto"
|
|
profile = "release"
|
|
maintainer-scripts = "../dist-assets/linux/daemon/"
|
|
assets = [
|
|
{ source = "target/release/mullvad", dest = "usr/bin/", mode = "755" },
|
|
{ source = "target/release/mullvad-daemon", dest = "usr/bin/", mode = "755" },
|
|
{ source = "target/release/mullvad-exclude", dest = "usr/bin/", mode = "755" },
|
|
{ source = "target/release/mullvad-setup", dest = "opt/Mullvad VPN/resources/", mode = "755" },
|
|
{ source = "target/release/mullvad-problem-report", dest = "opt/Mullvad VPN/resources/", mode = "755" },
|
|
{ source = "../dist-assets/linux/mullvad-daemon.service", dest = "usr/lib/systemd/system/", mode = "644" },
|
|
{ source = "../dist-assets/linux/mullvad-early-boot-blocking.service", dest = "usr/lib/systemd/system/", mode = "644" },
|
|
{ source = "../dist-assets/ca.crt", dest = "opt/Mullvad VPN/resources/", mode = "644" },
|
|
{ source = "../dist-assets/relays/relays.json", dest = "opt/Mullvad VPN/resources/", mode = "644" },
|
|
{ source = "../build/shell-completions/mullvad.bash", dest = "usr/share/bash-completion/completions/mullvad", mode = "644" },
|
|
{ source = "../build/shell-completions/_mullvad", dest = "usr/local/share/zsh/site-functions/_mullvad", mode = "644" },
|
|
{ source = "../build/shell-completions/mullvad.fish", dest = "usr/share/fish/vendor_completions.d/mullvad.fish", mode = "644" },
|
|
{ source = "../build/shell-completions/mullvad.nu", dest = "usr/share/nushell/vendor/autoload/mullvad.nu", mode = "644" },
|
|
{ source = "../CHANGELOG.md", dest = "opt/Mullvad VPN/resources/", mode = "644" },
|
|
]
|
|
|
|
[package.metadata.generate-rpm]
|
|
name = "mullvad-vpn-daemon"
|
|
vendor = "Mullvad VPN <support@mullvadvpn.net>"
|
|
auto-req = "yes"
|
|
pre_install_script = "../dist-assets/linux/daemon/preinst"
|
|
pre_uninstall_script = "../dist-assets/linux/daemon/prerm"
|
|
post_install_script = "../dist-assets/linux/daemon/postinst"
|
|
post_uninstall_script = "../dist-assets/linux/daemon/postrm"
|
|
post_trans_script = "../dist-assets/linux/post-transaction.sh"
|
|
assets = [
|
|
{ source = "target/release/mullvad", dest = "/usr/bin/", mode = "755" },
|
|
{ source = "target/release/mullvad-daemon", dest = "/usr/bin/", mode = "755" },
|
|
{ source = "target/release/mullvad-exclude", dest = "/usr/bin/", mode = "755" },
|
|
{ source = "target/release/mullvad-setup", dest = "/opt/Mullvad VPN/resources/", mode = "755" },
|
|
{ source = "target/release/mullvad-problem-report", dest = "/opt/Mullvad VPN/resources/", mode = "755" },
|
|
{ source = "../dist-assets/linux/mullvad-daemon.service", dest = "/usr/lib/systemd/system/", mode = "644" },
|
|
{ source = "../dist-assets/linux/mullvad-early-boot-blocking.service", dest = "/usr/lib/systemd/system/", mode = "644" },
|
|
{ source = "../dist-assets/ca.crt", dest = "/opt/Mullvad VPN/resources/", mode = "644" },
|
|
{ source = "../dist-assets/relays/relays.json", dest = "/opt/Mullvad VPN/resources/", mode = "644" },
|
|
{ source = "../build/shell-completions/mullvad.bash", dest = "/usr/share/bash-completion/completions/mullvad", mode = "644" },
|
|
{ source = "../build/shell-completions/_mullvad", dest = "/usr/share/zsh/site-functions/_mullvad", mode = "644" },
|
|
{ source = "../build/shell-completions/mullvad.fish", dest = "/usr/share/fish/vendor_completions.d/mullvad.fish", mode = "644" },
|
|
{ source = "../build/shell-completions/mullvad.nu", dest = "/usr/share/nushell/vendor/autoload/mullvad.nu", mode = "644" },
|
|
{ source = "../CHANGELOG.md", dest = "/opt/Mullvad VPN/resources/", mode = "644" },
|
|
]
|
|
|
|
[package.metadata.generate-rpm.conflicts]
|
|
mullvad-vpn = "*"
|
|
|
|
[dependencies]
|
|
anyhow = { workspace = true }
|
|
chrono = { workspace = true }
|
|
clap = { workspace = true }
|
|
either = "1.11"
|
|
futures = { workspace = true }
|
|
libc = "0.2"
|
|
log = { workspace = true }
|
|
log-panics = "2.0.0"
|
|
mullvad-api = { path = "../mullvad-api" }
|
|
mullvad-daemon-relay-selector = { path = "../mullvad-daemon-relay-selector" }
|
|
mullvad-encrypted-dns-proxy = { path = "../mullvad-encrypted-dns-proxy" }
|
|
mullvad-fs = { path = "../mullvad-fs" }
|
|
mullvad-leak-checker = { path = "../mullvad-leak-checker" }
|
|
mullvad-logging = { path = "../mullvad-logging" }
|
|
mullvad-management-interface = { path = "../mullvad-management-interface" }
|
|
mullvad-paths = { path = "../mullvad-paths" }
|
|
mullvad-relay-selector = { path = "../mullvad-relay-selector" }
|
|
mullvad-types = { path = "../mullvad-types" }
|
|
mullvad-version = { path = "../mullvad-version" }
|
|
rand = { workspace = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true, features = ["std"] }
|
|
talpid-core = { path = "../talpid-core" }
|
|
talpid-dns = { path = "../talpid-dns" }
|
|
talpid-future = { path = "../talpid-future" }
|
|
talpid-platform-metadata = { path = "../talpid-platform-metadata" }
|
|
talpid-routing = { path = "../talpid-routing" }
|
|
talpid-time = { path = "../talpid-time" }
|
|
talpid-types = { path = "../talpid-types" }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true, features = [
|
|
"fs",
|
|
"io-util",
|
|
"rt-multi-thread",
|
|
"signal",
|
|
"sync",
|
|
"time",
|
|
] }
|
|
tokio-stream = { version = "0.1", features = ["sync"] }
|
|
tracing-appender = { workspace = true }
|
|
tracing-subscriber = { workspace = true, features = ["chrono"] }
|
|
|
|
[dev-dependencies]
|
|
insta = { workspace = true, features = ["json"] }
|
|
talpid-time = { path = "../talpid-time", features = ["test"] }
|
|
tokio = { workspace = true, features = ["test-util"] }
|
|
|
|
[target."cfg(any(unix, windows))".dependencies]
|
|
mullvad-update = { path = "../mullvad-update", features = ["client"] }
|
|
|
|
[target.'cfg(target_os="android")'.dependencies]
|
|
async-trait = { workspace = true }
|
|
ctrlc = { workspace = true }
|
|
hickory-resolver = { workspace = true }
|
|
paranoid-android = "0.2.2"
|
|
|
|
[target.'cfg(target_os="linux")'.dependencies]
|
|
ctrlc = { workspace = true, features = ["termination"] }
|
|
talpid-dbus = { path = "../talpid-dbus" }
|
|
tikv-jemallocator = { version = "0.6", optional = true }
|
|
|
|
[target.'cfg(target_os="macos")'.dependencies]
|
|
ctrlc = { workspace = true, features = ["termination"] }
|
|
notify = "8.0.0"
|
|
objc2-foundation = { version = "0.3.1", features = ["NSProcessInfo", "NSString", "NSURL"] }
|
|
objc2-service-management = { version = "0.3.1", features = ["SMAppService", "objc2"] }
|
|
talpid-macos = { path = "../talpid-macos" }
|
|
|
|
[target."cfg(unix)".dependencies]
|
|
nix = { workspace = true, features = ["signal", "user"] }
|
|
|
|
[target."cfg(windows)".dependencies]
|
|
ctrlc = { workspace = true }
|
|
dirs = { workspace = true }
|
|
talpid-windows = { path = "../talpid-windows" }
|
|
winapi = { version = "0.3", features = ["excpt", "winerror", "winnt"] }
|
|
windows-service = "0.6.0"
|
|
|
|
[target."cfg(windows)".dependencies.windows-sys]
|
|
workspace = true
|
|
features = [
|
|
"Win32_Foundation",
|
|
"Win32_Security",
|
|
"Win32_Security_Authentication_Identity",
|
|
"Win32_Security_Authorization",
|
|
"Win32_System_Diagnostics_Debug",
|
|
"Win32_System_Kernel",
|
|
"Win32_System_Memory",
|
|
"Win32_System_Threading",
|
|
]
|
|
|
|
[target."cfg(windows)".build-dependencies]
|
|
mullvad-version = { path = "../mullvad-version" }
|
|
winresource.workspace = true
|
|
|
|
[target."cfg(windows)".build-dependencies.windows-sys]
|
|
workspace = true
|
|
features = ["Win32_System_SystemServices"]
|
|
|
|
[features]
|
|
default = ["default-allocator"]
|
|
# Allow the API server to use to be configured
|
|
api-override = ["mullvad-api/api-override"]
|
|
cgroup2 = ["talpid-core/cgroup2"]
|
|
# Use jemalloc as the global allocator. Only takes effect on Linux.
|
|
default-allocator = ["dep:tikv-jemallocator"]
|
|
multihop-pcap = ["talpid-core/multihop-pcap"]
|
|
staggered-obfuscation = ["mullvad-relay-selector/staggered-obfuscation"]
|
|
|
|
[lints]
|
|
workspace = true
|