WebSockets Playground
This repository is designed to jumpstart multiple local WebSocket servers
in parallel for testing purposes. This repository was originally designed
for WebSocket server fingerprint testing.
Usage
Dependencies
Before running the playground script, install the following:
- git (to download repositories)
- Python 3 (for websockets and Tornado)
- npm, NodeJS (for ws and faye-websocket-node)
- make (for uWebSockets)
- go (for Gorilla)
- Java, mvn (for Java Spring Boot)
- PHP, composer (for Ratchet)
Setup
Running the bash script ./run_ws_playground.sh
should start the local
WebSocket servers outlined in the table below.
A small playground_send.py
file is included to send messages to the servers
to verify they are listening and responding.
Tip
If you are running this script more than once, you will probably need to kill the previously started examples with:
# First list the running processes with ps
ps aux
# Manually identify the process IDs for node, golang WS examples
# Then kill each active process to avoid conflicts when script is rerun
kill <PID #>
Table of WebSocket Servers
Online WebSocket Servers
The following public WebSocket servers can be used for quick tests, but
larger testing loads should be performed on local servers.