Uma pequena ferramenta CLI que transforma qualquer programa de STDIN/STDOUT em um servidor WebSocket, como o inetd para WebSockets.
vi/websocat
Cliente e servidor WebSocket de linha de comando, como netcat, curl e socat para conexões ws:// e wss://.
- Estrelas
- 8,732
- Forks
- 334
- Issues abertas
- 161
- Último commit
- há 2 meses
O que é?
websocat é uma ferramenta de linha de comando para trabalhar com WebSockets. Ela pode se conectar a uma URL WebSocket e direcionar stdin e stdout para ela, aceitar conexões WebSocket em uma porta e fazer a ponte entre WebSockets e outros transportes, como TCP, sockets UNIX, UDP ou programas externos. É útil para depurar rapidamente endpoints WebSocket pelo terminal.
Além das conexões simples, oferece composição no estilo socat: as mensagens podem ser convertidas de e para linhas, codificadas em Base64, comprimidas, enviadas com enquadramento JSON-RPC ou interrompidas ao encontrar uma sequência de bytes. Oferece suporte a TLS, cabeçalhos personalizados, seleção de Sec-WebSocket-Protocol, proxies SOCKS5, reconexão automática, transmissão para vários clientes e métricas Prometheus. Há binários pré-compilados para Linux, Windows e macOS, além de pacotes para FreeBSD e Homebrew.
A linha principal v1 é escrita em Rust e compilada com cargo. Uma nova versão v4 alpha está em desenvolvimento em um branch separado, mas ainda não é considerada estável.
Recursos principais
- 01Conecta-se a endpoints ws:// e wss:// e direciona stdin/stdout para mensagens WebSocket
- 02Aceita conexões WebSocket pela linha de comando
- 03Faz a ponte entre WebSockets e TCP, sockets UNIX, UDP e programas externos
- 04Oferece modos de mensagem baseados em linhas e binários, além de transformações Base64 e JSON-RPC
- 05Oferece TLS, cabeçalhos personalizados, uso de proxy SOCKS5 e reconexão automática
Casos de uso
- Depurar um endpoint WebSocket pelo terminal sem escrever código de cliente
- Testar um servidor WebSocket enviando mensagens e lendo as respostas
- Disponibilizar um serviço TCP, como SSH, por uma conexão WebSocket
- Controlar por scripts um endpoint WebSocket do Chromium DevTools
Início rápido
- 1
Instalar com Homebrew no macOS
brew install websocat - 2
Conectar-se ao servidor de eco público e digitar mensagens (Ctrl+d para sair)
websocat ws://ws.vi-server.org/mirror
Antes de usar
- A compilação a partir do código-fonte pode falhar com uma versão muito recente da toolchain do Rust, pois algumas dependências da v1 são antigas.
- No Android, as conexões wss:// podem falhar se um pacote de certificados não for especificado manualmente.
Em coleções
Tópicos
Perguntas frequentes
- O que é websocat?
- Cliente e servidor WebSocket de linha de comando, como netcat, curl e socat para conexões ws:// e wss://. websocat é uma ferramenta de linha de comando para trabalhar com WebSockets. Ela pode se conectar a uma URL WebSocket e direcionar stdin e stdout para ela, aceitar conexões WebSocket em uma porta e fazer a ponte entre WebSockets e outros transportes, como TCP, sockets UNIX, UDP ou programas externos. É útil para depurar rapidamente endpoints WebSocket pelo terminal.
- websocat é gratuito? Qual é a licença?
- websocat é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- websocat ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de websocat foi em 13 de ago. de 2026.
- Para que posso usar websocat?
- Depurar um endpoint WebSocket pelo terminal sem escrever código de cliente Testar um servidor WebSocket enviando mensagens e lendo as respostas Disponibilizar um serviço TCP, como SSH, por uma conexão WebSocket Controlar por scripts um endpoint WebSocket do Chromium DevTools
- Como instalar websocat?
- Instalar com Homebrew no macOS: brew install websocat Conectar-se ao servidor de eco público e digitar mensagens (Ctrl+d para sair): websocat ws://ws.vi-server.org/mirror
- Onde consigo websocat?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/vi/websocat
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Ferramenta de linha de comando e biblioteca para transferir dados de e para servidores usando URLs, com suporte a HTTP, FTP, SFTP, SMTP e muitos outros protocolos.
Proxy HTTP interativo com suporte a TLS, que permite interceptar e inspecionar tráfego HTTP/1, HTTP/2 e WebSocket por interfaces de console, linha de comando e web.
Biblioteca minimalista e orientada a eventos de WebSocket para Go, com permessage-deflate e suporte a TCP, KCP e sockets Unix.
Guias de consulta para comandos Unix e linguagens de programação, disponíveis no terminal e no navegador via curl, cliente CLI e plugins para editores.
Ferramenta de diagnóstico de rede para terminal que combina traceroute e ping para ajudar a analisar problemas de conectividade.