Websocat — клиент, сервер и прокси для WebSocket-ов
Опубликовано: 01.09.2018
Вышла версия 1.0.0 программы для работы с WebSocket -ами из командной строки «websocat». Девиз программы: " netcat , curl и socat для вебсокетов".
Возможности:
Простой клиент и сервер для 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.
>>> Подробности