[package] name = "talpid-wireguard" description = "Library for creating various WireGuard tunnels" authors.workspace = true repository.workspace = true license.workspace = true edition.workspace = true rust-version.workspace = true [lints] workspace = true [dependencies] thiserror = { workspace = true } futures = { workspace = true } hex = "0.4" ipnetwork = { workspace = true } once_cell = { workspace = true } log = { workspace = true } parking_lot = "0.12.0" talpid-routing = { path = "../talpid-routing" } talpid-types = { path = "../talpid-types" } talpid-tunnel-config-client = { path = "../talpid-tunnel-config-client" } talpid-tunnel = { path = "../talpid-tunnel" } zeroize = "1" chrono = { workspace = true, features = ["clock"] } tokio = { workspace = true, features = ["process", "rt-multi-thread", "fs"] } tunnel-obfuscation = { path = "../tunnel-obfuscation" } rand = "0.8.5" surge-ping = "0.8.0" rand_chacha = "0.3.1" [target.'cfg(not(windows))'.dependencies] wireguard-go-rs = { path = "../wireguard-go-rs"} [target.'cfg(target_os="android")'.dependencies] duct = "0.13" [target.'cfg(not(target_os="android"))'.dependencies] byteorder = "1" internet-checksum = "0.2" socket2 = { version = "0.5.3", features = ["all"] } tokio-stream = { version = "0.1", features = ["io-util"] } [target.'cfg(unix)'.dependencies] nix = "0.23" libc = "0.2.150" [target.'cfg(any(target_os = "linux", target_os = "macos"))'.dependencies] talpid-net = { path = "../talpid-net" } [target.'cfg(target_os = "linux")'.dependencies] rtnetlink = "0.11" netlink-packet-core = "0.4.2" netlink-packet-route = "0.13" netlink-packet-utils = "0.5.1" netlink-proto = "0.10" talpid-dbus = { path = "../talpid-dbus" } [target.'cfg(windows)'.dependencies] bitflags = "1.2" talpid-windows = { path = "../talpid-windows" } widestring = "1.0" maybenot = "2.0.0" # TODO: Figure out which features are needed and which are not [target.'cfg(windows)'.dependencies.windows-sys] workspace = true features = [ "Win32_Foundation", "Win32_Globalization", "Win32_Security", "Win32_System_Com", "Win32_System_Diagnostics_ToolHelp", "Win32_System_Ioctl", "Win32_System_IO", "Win32_System_LibraryLoader", "Win32_System_ProcessStatus", "Win32_System_Registry", "Win32_System_Services", "Win32_System_SystemServices", "Win32_System_Threading", "Win32_System_WindowsProgramming", "Win32_Networking_WinSock", "Win32_NetworkManagement_IpHelper", "Win32_NetworkManagement_Ndis", "Win32_UI_Shell", "Win32_UI_WindowsAndMessaging", ] [dev-dependencies] proptest = { workspace = true } tokio = { workspace = true, features = [ "test-util" ] }