websocat -- клиент, сервер и прокси для WebSocket-ов
Вышла версия 1.0.0 программы для работы с WebSocket-ами из командной строки «websocat». Девиз программы:»netcat
, curl
и websocat
для вебсокетов».
Функции:
- Простой клиент и сервер для WebSocket.
- Проксирование подключений, например, между TCP и ws://.
- Выполнение внешних программ в качестве подключения.
- Подключение и прослушивание AF_UNIX (в т.ч abstract) сокетов. Использование SOCK_SEQPACKET режима.
- Преобразование строк в сообщения и обратно (включается автоматически, если не
--binary
). - Использование одного подключения несколькими клиентами.
Примеры:
- Просто клиент и сервер:
$ websocat wss://echo.websocket.org qwer qwer ^C $ websocat -s 1234 Listening on ws://127.0.0.1:1234/ ^C
- Проброс SSH через вебсокет:
server$ websocat --binary ws-l:0.0.0.0:8080 tcp:127.0.0.1:22 client$ ssh -c ProxyCommand='websocat --binary - ws://myserver:8080/' user@myserver
- Интеграция с nginX через UNIX-сокет:
umask 0000 websocat --exit-on-eof --text --unlink ws-upgrade:listen-unix:/tmp/wstest sh-c:'bash -i 2>&1'
location /ws { proxy_read_timeout 7d; proxy_send_timeout 7d; proxy_pass http://unix:/tmp/wstest; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }
Таким способом можно заставить websocat обслуживать безопасные (wss://) вебсокеты.
- Аналог
echo.websocket.org
:websocat -v -t ws-l:[::]:8080 mirror:
Похожее, но ответы идут всем подключенным клиентам:
websocat -v -t ws-l:[::]:8080 broadcast:mirror:
---
Лицензия: MIT.
Есть предсобранные версии для Linux (i386, amd64, arm; обычные и статические), Mac и Windows, а также пакеты deb.
>>> Подробности