isobit / ws-tcp-relay

A simple relay between WebSocket clients and TCP servers
MIT License
245 stars 61 forks source link
bridge golang proxy relay tcp websocket websocket-server websocketd websockets

ws-tcp-relay

License MIT Go Report Card

An extremely simple relay/bridge/proxy between WebSocket clients and TCP servers. Data received from WebSocket clients is simply forwarded to the specified TCP server, and vice-versa. In other words, it's websocketd, but for TCP connections instead of STDIN and STDOUT.

Usage

Usage: ws-tcp-relay <tcpTargetAddress>
  -b    Use binary frames instead of text frames
  -binary
        Use binary frames instead of text frames
  -p uint
        The port to listen on (default 4223)
  -port uint
        The port to listen on (default 4223)
  -tlscert string
        TLS cert file path
  -tlskey string
        TLS key file path

Binary Data

By default, golang.org/x/net/websocket uses text frames to deliver payload data. To use binary frames instead, use either the b or binary flags.

WSS Support

To use secure WebSockets simply specify both the tlscert and tlskey flags.

Installation

go get -u github.com/isobit/ws-tcp-relay

Binaries are also available on the release page.