WebSocket to TCP proxy written in Rust.
A precompiled binary for Linux environment is available in the releases page.
$ curl -L https://github.com/sile/wstcp/releases/download/0.2.0/wstcp-0.2.0.linux -o wstcp
$ chmod +x wstcp
$ ./wstcp -h
wstcp 0.2.0
WebSocket to TCP proxy server
USAGE:
wstcp [OPTIONS] <REAL_SERVER_ADDR>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
--bind-addr <BIND_ADDR> TCP address to which the WebSocket proxy bind [default: 0.0.0.0:13892]
--log-level <LOG_LEVEL> [default: info] [possible values: debug, info, warning, error]
ARGS:
<REAL_SERVER_ADDR> The TCP address of the real server
If you have already installed Cargo, you can install wstcp
easily in the following command:
$ cargo install wstcp
Run wstcp
in a terminal:
$ wstcp 127.0.0.1:3000
Apr 22 23:21:20.717 INFO Starts a WebSocket proxy server, server_addr: 127.0.0.1:3000, proxy_addr: 0.0.0.0:13892
Run a TCP server (in this example nc
is used) in another terminal:
$ nc -l 127.0.0.1 -p 3000
Use ws to launch a WebSocket client:
$ ws ws://localhost:13892/
> foo # Enter "foo" and press the Enter key
After this, the "foo" string is displayed on the terminal running nc
.
- RFC 6455 The WebSocket Protocol