프로젝트 소개

websocketd는 프로그램 자체에 네트워킹 라이브러리 없이도 기존 명령줄 프로그램을 WebSocket을 통해 노출할 수 있는 간단한 방법을 제공합니다. 선택한 포트에서 시작된 후, WebSocket 연결을 수락하고 각 연결마다 설정된 실행 파일을 실행합니다. 브라우저의 메시지는 후행 개행과 함께 프로세스의 STDIN에 기록되고, 개행으로 종료된 STDOUT 출력은 WebSocket 메시지로 클라이언트에 반환됩니다. 어느 한쪽이 연결을 끊으면 관련 프로세스와 해당 프로세스 그룹이 종료됩니다. 백엔드 프로그램은 표준 입력과 출력을 지원하는 모든 언어로 작성할 수 있으며, 여기에는 셸 스크립트, Python, Ruby, Perl, C, Go, PHP, Java, PowerShell, Lua 및 R이 포함됩니다. 원격 호스트, 경로, 쿼리 매개변수 및 쿠키와 같은 요청 정보는 CGI 환경 변수를 통해 스크립트에 노출됩니다. 추가 기능으로는 정적 파일 서버, 클래식 CGI 지원, 구성 가능한 권한이 있는 유닉스 도메인 소켓 수신, 태그가 지정된 JSON으로 선택적 STDERR 전달, 그리고 연결, 프레임 전송 및 응답 검사를 위한 내장 WebSocket 개발자 콘솔이 있습니다. 이 도구는 Linux, macOS 및 Windows용 단일 독립 실행 파일로 배포되며, macOS에서는 Homebrew 설치가 가능합니다. 저장소에는 실시간 시스템 통계, 브라우저 기반 REPL, 데이터베이스 액세스, 파일 목록 및 게임패드 입력과 관련된 예제 및 샘플 프로젝트에 대한 링크도 포함되어 있습니다.