[package] name = "wsrx" version = "0.2.31" edition = "2021" authors = ["Reverier-Xu "] description = "Controlled TCP-over-WebSocket forwarding tunnel." homepage = "https://github.com/XDSEC/WebSocketReflectorX" documentation = "https://docs.rs/wsrx" repository = "https://github.com/XDSEC/WebSocketReflectorX" readme = "../README.md" rust-version = "1.77.0" license = "MIT" resolver = "2" [features] default = ["binary"] server = ["dep:axum"] client = ["dep:tokio-tungstenite"] binary = [ "dep:clap", "dep:once_cell", "dep:tracing", "dep:url", "dep:tower-http", "dep:serde", "dep:serde_json", "dep:tracing-subscriber", "dep:subprocess", "dep:chrono", "server", "client", ] [[bin]] name = "wsrx" required-features = ["binary"] [dependencies] tokio = { version = "1.41", features = ["full"] } rustls = { version = "0.23", features = ["ring"] } futures-util = { version = "0.3", features = ["sink"] } tokio-util = { version = "0.7", features = ["codec"] } thiserror = "2.0" # optional axum = { version = "0.7", features = ["ws", "macros"], optional = true } tokio-tungstenite = { version = "0.24", features = [ "rustls-tls-native-roots", ], optional = true } # binary cli only clap = { version = "4.5", features = ["derive"], optional = true } once_cell = { version = "1.20", optional = true } tracing = { version = "0.1", optional = true } tracing-subscriber = { version = "0.3", features = [ "env-filter", "json", ], optional = true } url = { version = "2.5", optional = true } serde = { version = "1.0", features = ["derive"], optional = true } serde_json = { version = "1.0", optional = true } tower-http = { version = "0.6", features = ["trace", "cors"], optional = true } subprocess = { version = "0.2", optional = true } chrono = { version = "0.4", optional = true } [package.metadata.binstall] disabled-strategies = ["quick-install", "compile"] [package.metadata.binstall.overrides.x86_64-unknown-linux-gnu] pkg-url = "{ repo }/releases/download/{ version }/{ name }-cli-{ version }-linux64-gnu{ archive-suffix }" pkg-fmt = "tgz" bin-dir = "{ bin }" [package.metadata.binstall.overrides.x86_64-unknown-linux-musl] pkg-url = "{ repo }/releases/download/{ version }/{ name }-cli-{ version }-linux64-musl{ archive-suffix }" pkg-fmt = "tgz" bin-dir = "{ bin }" [package.metadata.binstall.overrides.x86_64-pc-windows-msvc] pkg-url = "{ repo }/releases/download/{ version }/{ name }-cli-{ version }-win64{ archive-suffix }" pkg-ext = "zip" bin-dir = "target/release/{ bin }.exe" [package.metadata.binstall.overrides.aarch64-apple-darwin] pkg-url = "{ repo }/releases/download/{ version }/{ name }-cli-{ version }-macOS-arm64{ archive-suffix }" pkg-ext = "zip" bin-dir = "target/release/{ bin }" [package.metadata.binstall.overrides.x86_64-apple-darwin] pkg-url = "{ repo }/releases/download/{ version }/{ name }-cli-{ version }-macOS-x86_64{ archive-suffix }" pkg-ext = "zip" bin-dir = "target/release/{ bin }"