diff --git a/README.md b/README.md index fd53472..fb25195 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,8 @@ Usage of ./wsd: origin of WebSocket client (default "http://localhost/") -protocol string WebSocket subprotocol + -userAgent string + "User-Agent" header -url string WebSocket server address to connect to (default "ws://localhost:1337/ws") -version diff --git a/main.go b/main.go index 6870b88..fa33926 100644 --- a/main.go +++ b/main.go @@ -20,6 +20,7 @@ var ( origin string url string protocol string + userAgent string displayHelp bool displayVersion bool insecureSkipVerify bool @@ -35,6 +36,7 @@ func init() { flag.StringVar(&origin, "origin", "http://localhost/", "origin of WebSocket client") flag.StringVar(&url, "url", "ws://localhost:1337/ws", "WebSocket server address to connect to") flag.StringVar(&protocol, "protocol", "", "WebSocket subprotocol") + flag.StringVar(&userAgent, "userAgent", "", "User-Agent header") flag.BoolVar(&insecureSkipVerify, "insecureSkipVerify", false, "Skip TLS certificate verification") flag.BoolVar(&displayHelp, "help", false, "Display help information about wsd") flag.BoolVar(&displayVersion, "version", false, "Display version number") @@ -92,6 +94,9 @@ func dial(url, protocol, origin string) (ws *websocket.Conn, err error) { if protocol != "" { config.Protocol = []string{protocol} } + if userAgent != "" { + config.Header.Add("User-Agent", userAgent) + } config.TlsConfig = &tls.Config{ InsecureSkipVerify: insecureSkipVerify, }