Simple websocket broadcaster implemented in Rust
Each WebSocket message sent to a particular URL on this websocket server gets delivered to all other WebSocket clients connected to the same URL. By default allows up to 64 URLs. If client is reading incoming messages too slowly, they are getting dropped for this client; no backpressure and no accumulation of messages in memory.
$ wsbroad 127.0.0.1:9002 + 127.0.0.1:57208 -> /baz New URL: /123 + 127.0.0.1:57209 -> /baz + 127.0.0.1:57211 -> /baz - 127.0.0.1:57208 -> /baz - 127.0.0.1:57211 -> /baz - 127.0.0.1:57209 -> /baz Expiring URL: /baz
wss:// server use some Nginx forwarding.
There are pre-built versions (legacy at the moment):