[package] name = "aggligator-util" version = "0.17.0" edition = "2021" rust-version = "1.70" authors = ["Sebastian Urban "] description = "Aggligator utilities" categories = ["asynchronous", "network-programming", "command-line-utilities"] keywords = ["aggligator", "multipath", "multiplex", "tcp", "mptcp"] license = "Apache-2.0" readme = "README.md" repository = "https://github.com/surban/aggligator" [features] default = ["cli", "tls", "tcp"] tcp = ["tokio/net", "socket2", "network-interface"] tls = ["rustls", "tokio-rustls"] rfcomm = ["bluer/rfcomm"] rfcomm-profile = ["bluer/rfcomm", "bluer/bluetoothd"] usb-host = ["upc/host", "rusb"] usb-device = ["upc/device", "usb-gadget"] websocket = ["tcp", "axum", "tungstenite", "tokio-tungstenite", "url"] cli = [ "tcp", "tls", "websocket", "speed", "monitor", "dump", "clap", "clap_mangen", "clap-markdown", "tracing-subscriber", "tracing-log", "anyhow", "crossterm", "serde", "serde_json", "rustls-pemfile", "axum-server", "gethostname", "socket2", "tokio/rt-multi-thread", ] raw-speed-cli = ["cli", "network-interface", "tokio/rt-multi-thread"] speed = ["rand", "rand_xoshiro"] monitor = ["crossterm"] dump = ["aggligator/dump"] [dependencies] aggligator = { version = "0.8.3", path = "../aggligator" } futures = "0.3" tokio = { version = "1.21", features = ["rt"] } tracing = "0.1" async-trait = "0.1" bytes = "1" bluer = { version = "0.17", default-features = false, optional = true } rustls = { version = "0.23", optional = true } rustls-pemfile = { version = "2.0", optional = true } tokio-rustls = { version = "0.26", optional = true } rand = { version = "0.8", optional = true } rand_xoshiro = { version = "0.6", optional = true } clap = { version = "4", features = ["derive"], optional = true } clap_mangen = { version = "0.2", optional = true } clap-markdown = { version = "0.1", optional = true } anyhow = { version = "1", optional = true } crossterm = { version = "0.28", optional = true } serde = { version = "1", features = ["derive"], optional = true } serde_json = { version = "1", optional = true } tracing-subscriber = { version = "0.3", default-features = false, features = [ "env-filter", "fmt", ], optional = true } tracing-log = { version = "0.2", optional = true } axum = { version = "0.7", features = ["ws"], optional = true } tungstenite = { version = "0.24", optional = true } tokio-tungstenite = { version = "0.24", features = [ "rustls-tls-webpki-roots", ], optional = true } url = { version = "2", optional = true } axum-server = { version = "0.7", optional = true } upc = { version = "0.5", optional = true } usb-gadget = { version = "0.7", optional = true } rusb = { version = "0.9", optional = true } gethostname = { version = "0.5", optional = true } socket2 = { version = "0.5", optional = true } network-interface = { version = "2", optional = true } [[bin]] name = "agg-speed" required-features = ["cli"] [[bin]] name = "agg-tunnel" required-features = ["cli"] [[bin]] name = "raw-speed" required-features = ["raw-speed-cli"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]