IXWebSocket ws utility available in Alpine Linux

The IXWebSocket library comes with a command line tool that can do a lot of things, a client and server for HTTP and WebSocket, a simple redis pubsub client and server, a cobra client and server, a proxy. Some code works better than other :) and there are still many bugs ; it takes a lot of work to make a proper HTTP proxy !

What is remarkable is that, if you are lucky it is very easy to work with the packaging creators. The workflow work with gitlab pull requests, which is more modern and easier than doing something similar with debian or fedora, where the overhead of packaging something is overwhelming. Another package manager OS which seems to be easier to is nix, as the flow works with github pull requests.

$ docker run -it --rm alpine:3.11
/ # apk add ws
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
(1/4) Installing libgcc (9.2.0-r3)
(2/4) Installing libstdc++ (9.2.0-r3)
(3/4) Installing jsoncpp (1.9.2-r0)
(4/4) Installing ws (7.5.3-r0)
Executing busybox-1.31.1-r8.trigger
OK: 9 MiB in 18 packages
/ # ws --help
ws is a websocket tool
Usage: ws [OPTIONS] [SUBCOMMAND]

Options:
  -h,--help                   Print this help message and exit
  --version                   Connection url

Subcommands:
  send                        Send a file
  receive                     Receive a file
  transfer                    Broadcasting server
  connect                     Connect to a remote server
  chat                        Group chat
  echo_server                 Echo server
  broadcast_server            Broadcasting server
  ping                        Ping pong
  curl                        HTTP Client
  redis_publish               Redis publisher
  redis_subscribe             Redis subscriber
  cobra_subscribe             Cobra subscriber
  cobra_publish               Cobra publisher
  cobra_metrics_publish       Cobra metrics publisher
  cobra_to_statsd             Cobra metrics to statsd
  cobra_to_sentry             Cobra metrics to sentry
  cobra_metrics_to_redis      Cobra metrics to redis
  snake                       Snake server
  httpd                       HTTP server
  autobahn                    Test client Autobahn compliance
  redis_server                Redis server
  proxy_server                Proxy server
  upload_minidump             Upload a minidump to sentry
/ # ws --version
ws ixwebsocket/7.5.3 linux ssl/OpenSSL OpenSSL 1.1.1d  10 Sep 2019 zlib 1.2.11
/ #