Skip to content

Latest commit

History

History
205 lines (146 loc) · 9.87 KB

CHANGELOG.md

File metadata and controls

205 lines (146 loc) · 9.87 KB

  • waitfordata:overlay to delay connection initiation until first data is attempted to be written to it
  • Dockerfile updates
  • lengthprefixed:overlay - alternative to base64 mode
  • Fix for #23 - "happy eyeballs" for ws:// and wss:// URLs.

  • Option to stop sending or replying to WebSocket pings after specified amount of sent or received pings (for testing idling disconnection behaviour of counterparts).
  • --exec-exit-on-disconnect
  • PrintLocation:header value in error message when facing a redirect instead of a WebSocket connection.
  • Other minor fixes

Changes

  • --preamble(-p) options to prepend static text to Websocat sessions. For use to authenticate and subscribe to something over WebSocket. Note that specifying passwords on command line may be insecure. Also command line handling around-pis finicky. There is also--preamble-reverse(-P) option to prepend similar chunk in the reverse direction.
  • --compress-{zlib,deflate,gzip}and respective--uncompress-...options to modify binary WebSocket messages going to/from a WebSocket. Note that it is not related topermessage-deflate,which does similar thing, but on lower level.
  • exit_on_specific_byte:overlay to trigger exit when specific byte is encountered. For interactive tty usage.
  • --client-pkcs12-derto specify client identity certificate for connecting towss://orssl:that requires mutual authentication.
  • openssl-probeis now active by default on Linux, to support for overriding CA lists using environment variables.
  • Incoming WebSocket frames and message are now limited by default, to prevent memory stuffing denial of service. But the default limit is big (100 megabytes). Use--max-ws-frame-lengthand--max-ws-message-lengthoptions to override.
  • Cargo.lockis now oriented for building with modern Rust compiler. There isCargo.lock.legacywith dependencies manually locked to versions that support Rust 1.46.0.

Changes

  • Add--close-status-codeand--close-reason
  • Fix--queue-lenoption that took no effect
  • Fix racing to connect to multiple resolved addresses intcp:specifier (i.e. "happy eyeballs" ) - now it skips errors if there is a working connection. This does not fixws://localhostunfortunately.
  • crypto:overlay and associated options
  • prometheus:overlay and associated options
  • random:specifier

Changes

  • sslCargo feature is now enabled by default
  • vendored_opensslCargo feature is now not enabled by default
  • --stdout-announce-listening-portsoption to print message when server port is ready to accept clients.
  • --no-closeoption now also affects Websocket server mode, not just client
  • timestamp:overlay to mangle message, prepending current timestamp as text
  • --print-ping-rttsoption
  • Updated deps for#138(not checked whether all yanks are resolved although).

Changes

  • --accept-from-fdoption for better systemd intergration
  • exec:/cmd:/sh-c:specifiers now don't terminate process prematurely
  • --foreachmsg-wait-readfor betterforeachmsg:overlay behaviour. Nowforeachmsg:exec:./myscriptis more meaningul.
  • --basic-authoption to insert basic authentication header more easily
  • Websocket close message is now logged in debug mode

Changes

  • Websocat now does not set terminal to nonblocking mode if isatty by default. This should help with#76.
  • New overlaylog:that prints bytes as they travel though Websocat, for debugging.

Changes

  • UDP multicast options
  • foreachmsg:overlay - run specifier (i.e. connect somewhere or execute a program) on each WebSocket message instead of on each WebSocket connection.
  • Various minor options like--max-messagesor zero-length message handling.
  • Low-level Websocket features:--just-generate-keyand--just-generate-acceptoptions which help generating HTTP headers for WebSockets.ws-lowlevel-server:andws-lowlevel-client:overlays to use expose WebSocket's data encoder/decoder without HTTP part.
  • Basichttp://client with arbitrary method, uri and so on.
  • Delay forautoreconnect:overlay
  • More pre-built release assets
  • Base64 mode for binary WebSocket messages
  • Prefixes for text and binary WebSocket messages, allowing to discriminate incoming binary and text WebSocket messages and intermix outgoing binary and text WebSocket messages.
  • Sort-of-unfinishedhttp-post-sse:specifier allowing to use HTTP server-sent events (in one direction) and POST request bodies (in the other direction) instead of (or in addition to) a WebSocket and to bridge them together. This mode is not tested properly although.

Changes

  • Using client URI's likewebsocat ws://user:password@host/now adds basic authentication HTTP header to request
  • New command-line option:--header-to-env
  • Minor dependencies update
  • Built with newer Rust on newer Debian

Changes

  • New options:--server-protocol,--ping-timeout,--ping-interval,--server-header
  • Fixed replying to WebSocket pings
  • Fixed replying to requests withSec-WebSocket-Protocol.

Changes

Changes

Changes

  • Static files aside from the websocket for easy prototyping
  • SOCKS5 proxy client
  • wss:// listener
  • Setting environment variables forexec:
  • Sending SIGHUP signal to child process on client disconnect
  • --jsonrpcmode

Changes

  • --set-environment option and --static-file

Changes

Changes

Changes

Changes

Changes

Changes

  • Unix sockets
  • Executing programs and command lines
  • Unidirectional mode
  • Text mode (don't rely on it)

Changes

Changes