[package] name = "tunio" version = "0.3.0" edition = "2021" license = "MIT" repository = "https://github.com/GamePad64/tunio" description = "Crate for creating and managing TUN/TAP interfaces with async support. Works best with netconfig crate." categories = ["os", "network-programming"] keywords = ["network", "networking", "cross-platform", "tun"] readme = "README.md" rust-version = "1.60" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] tokio = { version = "1.19.2", features = ["rt", "net", "fs"], optional = true } log = "0.4.17" futures = { version = "0.3.21", optional = true } netconfig = "0.2.0" derive_builder = "0.11.2" cfg-if = "1.0.0" delegate = "0.7.0" thiserror = "1.0.31" [target.'cfg(target_os = "windows")'.dependencies] widestring = "1.0.1" bytes = "1.1.0" wintun-sys = { version = "0.1.0", path = "wintun-sys" } windows = { version = "0.38.0", features = ["Win32_System_Threading", "Win32_Foundation", "Win32_Security", "Win32_System_WindowsProgramming", "Win32_NetworkManagement_IpHelper"] } parking_lot = "0.12.1" [target.'cfg(target_os = "macos")'.dependencies] socket2 = "0.4.4" [target.'cfg(unix)'.dependencies] nix = "0.24.1" libc = "0.2.126" io-lifetimes = "0.7.2" [features] default = [] async-tokio = ["dep:tokio", "dep:futures"] [dev-dependencies] tokio = { version = "1.19.2", features = ["rt", "macros", "rt-multi-thread", "signal", "sync", "io-util"] } etherparse = "0.10.1" env_logger = "0.9.0" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [workspace] members = ["wintun-sys"]