Repolode
vi

vi/websocat

Консольный клиент и сервер WebSocket — netcat, curl и socat для подключений ws:// и wss://.

Звёзды
8,732
Форки
334
Открытые issues
161
Последний коммит
2 месяца назад

Что это?

websocat — консольная утилита для работы с WebSocket. Она подключается к URL WebSocket и передаёт ему данные из stdin и stdout, принимает WebSocket-подключения на порту и связывает WebSocket с другими транспортами, например TCP, UNIX-сокетами, UDP или внешними программами. Утилита пригодится для быстрой отладки WebSocket-эндпоинтов из командной строки.

Помимо простых подключений, websocat позволяет комбинировать преобразования в стиле socat: преобразовывать сообщения в строки и обратно, кодировать их в Base64, сжимать, отправлять с обрамлением JSON-RPC или прекращать передачу при обнаружении заданной последовательности байтов. Поддерживаются TLS, пользовательские заголовки, выбор Sec-WebSocket-Protocol, прокси SOCKS5, автоматическое переподключение, рассылка нескольким клиентам и метрики Prometheus. Готовые бинарные файлы доступны для Linux, Windows и macOS; пакеты — для FreeBSD и Homebrew.

Основная ветка v1 написана на Rust и собирается с помощью cargo. Более новая версия v4 alpha разрабатывается в отдельной ветке, но пока не считается стабильной.

Ключевые возможности

  • 01Подключается к эндпоинтам ws:// и wss:// и передаёт stdin/stdout в виде сообщений WebSocket
  • 02Принимает WebSocket-подключения из командной строки
  • 03Связывает WebSocket с TCP, UNIX-сокетами, UDP и внешними программами
  • 04Поддерживает построчный и бинарный режимы сообщений, а также преобразования Base64 и JSON-RPC
  • 05Поддерживает TLS, пользовательские заголовки, прокси SOCKS5 и автоматическое переподключение

Сценарии использования

  • Отладка WebSocket-эндпоинта из терминала без написания клиентского кода
  • Тестирование WebSocket-сервера: отправка сообщений и чтение ответов
  • Передача TCP-сервиса, например SSH, через WebSocket-подключение
  • Работа со скриптами через WebSocket-эндпоинт Chromium DevTools

Быстрый старт

  1. 1

    Установить с помощью Homebrew на macOS

    brew install websocat
  2. 2

    Подключиться к публичному эхо-серверу и вводить сообщения (Ctrl+d для выхода)

    websocat ws://ws.vi-server.org/mirror

Что важно знать

  • Сборка из исходного кода с очень новой версией тулчейна Rust может завершиться с ошибкой, поскольку некоторые зависимости v1 устарели.
  • На Android подключения wss:// могут завершаться ошибкой, если не указать пакет сертификатов вручную.

В подборках

Темы

Частые вопросы

Что такое websocat?
Консольный клиент и сервер WebSocket — netcat, curl и socat для подключений ws:// и wss://. websocat — консольная утилита для работы с WebSocket. Она подключается к URL WebSocket и передаёт ему данные из stdin и stdout, принимает WebSocket-подключения на порту и связывает WebSocket с другими транспортами, например TCP, UNIX-сокетами, UDP или внешними программами. Утилита пригодится для быстрой отладки WebSocket-эндпоинтов из командной строки.
websocat можно использовать бесплатно? Какая у него лицензия?
websocat распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
websocat всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в websocat — 13 авг. 2026 г..
Для чего можно использовать websocat?
Отладка WebSocket-эндпоинта из терминала без написания клиентского кода Тестирование WebSocket-сервера: отправка сообщений и чтение ответов Передача TCP-сервиса, например SSH, через WebSocket-подключение Работа со скриптами через WebSocket-эндпоинт Chromium DevTools
Как установить websocat?
Установить с помощью Homebrew на macOS: brew install websocat Подключиться к публичному эхо-серверу и вводить сообщения (Ctrl+d для выхода): websocat ws://ws.vi-server.org/mirror
Где скачать websocat?
Исходный код и инструкции по установке — на GitHub: https://github.com/vi/websocat

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты