STDIN/STDOUT을 사용하는 프로그램을 WebSocket 서버로 감싸는, WebSocket용 inetd 같은 소형 CLI 도구입니다.
vi/websocat
ws:// 및 wss:// 연결을 위한 명령줄 WebSocket 클라이언트·서버로, netcat, curl, socat처럼 사용할 수 있습니다.
- 스타
- 8,732
- 포크
- 334
- 열린 이슈
- 161
- 마지막 커밋
- 2개월 전
어떤 프로젝트인가요?
websocat은 WebSocket을 다루기 위한 명령줄 도구입니다. WebSocket URL에 연결해 표준 입력과 출력을 연결하거나, 포트에서 WebSocket 연결을 받고, WebSocket을 TCP, UNIX 소켓, UDP 또는 외부 프로그램 같은 다른 전송 방식과 브리지할 수 있습니다. 셸에서 WebSocket 엔드포인트를 빠르게 디버깅할 때 유용합니다.
단순 연결 외에도 socat 스타일의 조합 기능을 제공합니다. 메시지를 줄 단위로 변환하거나 Base64 인코딩 및 압축을 적용하고, JSON-RPC 프레이밍을 사용해 전송하거나 특정 바이트 시퀀스에서 처리를 중단할 수 있습니다. TLS, 사용자 지정 헤더, Sec-WebSocket-Protocol 선택, SOCKS5 프록시, 자동 재연결, 여러 클라이언트로 브로드캐스트, Prometheus 메트릭을 지원합니다. Linux, Windows, macOS용 사전 빌드 바이너리가 제공되며 FreeBSD 및 Homebrew 패키지도 있습니다.
주요 v1 버전은 Rust로 작성되었으며 cargo로 빌드합니다. 별도 브랜치에서 새로운 v4 alpha를 개발 중이지만, 아직 안정 버전으로 간주되지는 않습니다.
핵심 기능
- 01ws:// 및 wss:// 엔드포인트에 연결하고 표준 입력·출력을 WebSocket 메시지에 연결
- 02명령줄에서 WebSocket 연결을 받음
- 03WebSocket을 TCP, UNIX 소켓, UDP 및 외부 프로그램과 브리지
- 04줄 단위 및 바이너리 메시지 모드, Base64 및 JSON-RPC 변환 지원
- 05TLS, 사용자 지정 헤더, SOCKS5 프록시 및 자동 재연결 제공
활용 사례
- 클라이언트 코드를 작성하지 않고 터미널에서 WebSocket 엔드포인트 디버깅
- 메시지를 보내고 응답을 읽어 WebSocket 서버 테스트
- SSH 같은 TCP 서비스를 WebSocket 연결로 노출
- 스크립트에서 Chromium DevTools WebSocket 엔드포인트 제어
빠른 시작
- 1
macOS에서 Homebrew로 설치하기
brew install websocat - 2
공개 에코 서버에 연결한 다음 메시지를 입력하기 (종료하려면 Ctrl+d)
websocat ws://ws.vi-server.org/mirror
사용 전 알아둘 점
- 매우 최신 Rust 툴체인으로 소스에서 빌드하면 v1 의존성 중 일부가 오래되어 실패할 수 있습니다.
- Android에서는 인증서 번들을 수동으로 지정하지 않으면 wss:// 연결이 실패할 수 있습니다.
포함된 컬렉션
토픽
자주 묻는 질문
- websocat은(는) 무엇인가요?
- ws:// 및 wss:// 연결을 위한 명령줄 WebSocket 클라이언트·서버로, netcat, curl, socat처럼 사용할 수 있습니다. websocat은 WebSocket을 다루기 위한 명령줄 도구입니다. WebSocket URL에 연결해 표준 입력과 출력을 연결하거나, 포트에서 WebSocket 연결을 받고, WebSocket을 TCP, UNIX 소켓, UDP 또는 외부 프로그램 같은 다른 전송 방식과 브리지할 수 있습니다. 셸에서 WebSocket 엔드포인트를 빠르게 디버깅할 때 유용합니다.
- websocat은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- websocat은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- websocat은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. websocat의 마지막 커밋은 2026년 8월 13일입니다.
- websocat은(는) 어디에 사용할 수 있나요?
- 클라이언트 코드를 작성하지 않고 터미널에서 WebSocket 엔드포인트 디버깅 메시지를 보내고 응답을 읽어 WebSocket 서버 테스트 SSH 같은 TCP 서비스를 WebSocket 연결로 노출 스크립트에서 Chromium DevTools WebSocket 엔드포인트 제어
- websocat는 어떻게 설치하나요?
- macOS에서 Homebrew로 설치하기: brew install websocat 공개 에코 서버에 연결한 다음 메시지를 입력하기 (종료하려면 Ctrl+d): websocat ws://ws.vi-server.org/mirror
- websocat은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/vi/websocat
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
URL을 사용해 HTTP, FTP, SFTP, SMTP 등 다양한 프로토콜로 서버와 데이터를 주고받는 명령줄 도구이자 라이브러리입니다.
HTTP/1, HTTP/2, WebSocket 트래픽을 검사하는 콘솔·명령줄·웹 인터페이스를 갖춘 TLS 지원 인터셉팅 HTTP 프록시입니다.
permessage-deflate를 지원하고 TCP, KCP, Unix 소켓에서 사용할 수 있는 Go용 미니멀한 이벤트 기반 WebSocket 서버·클라이언트 라이브러리입니다.
Unix 명령어와 프로그래밍 언어의 치트 시트를 curl, CLI 클라이언트, 에디터 플러그인으로 터미널과 브라우저에서 제공합니다.
네트워크 연결 문제를 분석할 수 있도록 traceroute와 ping을 결합한 터미널 네트워크 진단 도구입니다.