Una pequeña herramienta CLI que convierte cualquier programa STDIN/STDOUT en un servidor WebSocket, como inetd para WebSockets.
vi/websocat
Cliente y servidor WebSocket de línea de comandos, como netcat, curl y socat para conexiones ws:// y wss://.
- Estrellas
- 8,732
- Forks
- 334
- Issues abiertos
- 161
- Último commit
- hace 2 meses
¿Qué es?
websocat es una herramienta de línea de comandos para trabajar con WebSockets. Puede conectarse a una URL de WebSocket y canalizar stdin y stdout hacia ella, aceptar conexiones WebSocket en un puerto y enlazar WebSockets con otros transportes, como TCP, sockets UNIX, UDP o programas externos. Es útil para depurar rápidamente endpoints WebSocket desde la terminal.
Además de las conexiones simples, ofrece composición al estilo de socat: permite convertir mensajes a líneas y viceversa, codificarlos en Base64, comprimirlos, enviarlos con el encuadre JSON-RPC o detenerse al encontrar una secuencia de bytes. Admite TLS, encabezados personalizados, selección de Sec-WebSocket-Protocol, proxies SOCKS5, reconexión automática, difusión a varios clientes y métricas de Prometheus. Hay binarios precompilados para Linux, Windows y macOS, y paquetes para FreeBSD y Homebrew.
La línea principal v1 está escrita en Rust y se compila con cargo. Se está desarrollando una nueva versión v4 alpha en una rama separada, pero aún no se considera estable.
Funciones clave
- 01Se conecta a endpoints ws:// y wss:// y canaliza stdin/stdout hacia mensajes WebSocket
- 02Acepta conexiones WebSocket desde la línea de comandos
- 03Enlaza WebSockets con TCP, sockets UNIX, UDP y programas externos
- 04Admite modos de mensajes basados en líneas y binarios, y transformaciones Base64 y JSON-RPC
- 05Ofrece TLS, encabezados personalizados, uso de proxies SOCKS5 y reconexión automática
Casos de uso
- Depurar un endpoint WebSocket desde una terminal sin escribir código de cliente
- Probar un servidor WebSocket enviando mensajes y leyendo las respuestas
- Exponer un servicio TCP, como SSH, a través de una conexión WebSocket
- Controlar mediante scripts un endpoint WebSocket de Chromium DevTools
Inicio rápido
- 1
Instalar con Homebrew en macOS
brew install websocat - 2
Conectarse al servidor de eco público y escribir mensajes (Ctrl+d para salir)
websocat ws://ws.vi-server.org/mirror
Antes de usarlo
- La compilación desde el código fuente puede fallar con una versión muy reciente de la cadena de herramientas de Rust porque algunas dependencias de v1 son antiguas.
- En Android, las conexiones wss:// pueden fallar si no se especifica manualmente un paquete de certificados.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es websocat?
- Cliente y servidor WebSocket de línea de comandos, como netcat, curl y socat para conexiones ws:// y wss://. websocat es una herramienta de línea de comandos para trabajar con WebSockets. Puede conectarse a una URL de WebSocket y canalizar stdin y stdout hacia ella, aceptar conexiones WebSocket en un puerto y enlazar WebSockets con otros transportes, como TCP, sockets UNIX, UDP o programas externos. Es útil para depurar rápidamente endpoints WebSocket desde la terminal.
- ¿websocat es gratuito? ¿Qué licencia tiene?
- websocat es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿websocat sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de websocat fue el 13 ago 2026.
- ¿Para qué puedo usar websocat?
- Depurar un endpoint WebSocket desde una terminal sin escribir código de cliente Probar un servidor WebSocket enviando mensajes y leyendo las respuestas Exponer un servicio TCP, como SSH, a través de una conexión WebSocket Controlar mediante scripts un endpoint WebSocket de Chromium DevTools
- ¿Cómo se instala websocat?
- Instalar con Homebrew en macOS: brew install websocat Conectarse al servidor de eco público y escribir mensajes (Ctrl+d para salir): websocat ws://ws.vi-server.org/mirror
- ¿Dónde consigo websocat?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/vi/websocat
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Herramienta de línea de comandos y biblioteca para transferir datos hacia o desde servidores mediante URL, compatible con HTTP, FTP, SFTP, SMTP y muchos otros protocolos.
Proxy HTTP interactivo con capacidad para interceptar TLS e interfaces de consola, línea de comandos y web para inspeccionar tráfico HTTP/1, HTTP/2 y WebSocket.
Biblioteca mínima y orientada a eventos de servidor y cliente WebSocket para Go, con permessage-deflate y compatibilidad con TCP, KCP y sockets Unix.
Chuletas de comandos Unix y lenguajes de programación, disponibles en el navegador, con curl, un cliente CLI y plugins para editores.
Herramienta de diagnóstico de red para terminal que combina traceroute y ping para analizar problemas de conectividad.