Repolode
butlerx

butlerx/wetty

HTTP/HTTPS로 제공되며 xterm.js와 WebSockets를 기반으로 하는 브라우저용 터미널 에뮬레이터입니다.

스타
5,479
포크
770
열린 이슈
15
마지막 커밋
7일 전

어떤 프로젝트인가요?

WeTTY를 사용하면 브라우저에서 셸을 실행할 수 있습니다. Node.js 서버가 xterm.js 터미널 페이지를 제공하고, WebSockets를 통해 입력과 출력을 로컬 셸 또는 SSH 서버로 전달합니다. Ajaxterm이나 Anyterm 같은 이전 브라우저 터미널과 달리 Ajax 폴링 대신 WebSockets를 사용해 키 입력에 대한 응답 시간을 짧게 유지합니다.

root로 실행하면 WeTTY는 /bin/login을 실행해 사용자가 사용자 이름을 입력하도록 합니다. 그 외에는 ssh를 시작해 기본적으로 localhost에 연결하며, SSH 호스트·포트·사용자 옵션으로 원격 호스트를 지정할 수 있습니다. 인증에는 비밀번호 또는 공개 키를 사용할 수 있으며, 서버에는 허용할 브라우저 Origin 목록을 명시해야 합니다. npm 패키지나 Docker 이미지로 실행하거나, HTTPS를 위해 nginx 또는 traefik 같은 리버스 프록시 뒤에 배치할 수 있습니다.

핵심 기능

  • 01xterm.js를 통해 브라우저에서 완전한 터미널 에뮬레이터를 실행합니다.
  • 02지연 시간이 짧은 입출력을 위해 WebSockets(Socket.IO)를 사용합니다.
  • 03로컬 로그인 셸이나 원격 SSH 서버에 연결합니다.
  • 04SSH 비밀번호 및 공개 키 인증을 지원합니다.
  • 05허용된 Origin 목록을 요구하며, 설정 가능한 기본 경로를 제공합니다.
  • 06npm 패키지와 Docker 이미지로 제공됩니다.

활용 사례

  • 네이티브 SSH 클라이언트 없이 팀원에게 브라우저 기반 서버 셸 접근 권한을 제공합니다.
  • 리버스 프록시 뒤에 있는 내부 머신에서 웹 터미널을 제공합니다.
  • 터미널 앱이 없는 기기에서 홈 서버나 실험실 머신에 접속합니다.

빠른 시작

  1. 1

    npm으로 WeTTY를 전역 설치합니다

    npm -g i wetty
  2. 2

    허용할 브라우저 오리진을 지정해 WeTTY를 시작합니다

    wetty --allowed-origin http://yourserver:3000
  3. 3

    브라우저에서 서버 주소를 열고 로그인합니다

사용 전 알아둘 점

  • node 20 이상과 make, python, build-essential 등의 빌드 도구가 필요합니다.
  • 연결을 허용하려면 --allowed-origin을 명시적으로 설정해야 합니다.
  • 터미널에 대한 전체 액세스를 제공하므로 HTTPS와 리버스 프록시로 보안을 강화해야 합니다.

포함된 컬렉션

토픽

자주 묻는 질문

wetty은(는) 무엇인가요?
HTTP/HTTPS로 제공되며 xterm.js와 WebSockets를 기반으로 하는 브라우저용 터미널 에뮬레이터입니다. WeTTY를 사용하면 브라우저에서 셸을 실행할 수 있습니다. Node.js 서버가 xterm.js 터미널 페이지를 제공하고, WebSockets를 통해 입력과 출력을 로컬 셸 또는 SSH 서버로 전달합니다. Ajaxterm이나 Anyterm 같은 이전 브라우저 터미널과 달리 Ajax 폴링 대신 WebSockets를 사용해 키 입력에 대한 응답 시간을 짧게 유지합니다.
wetty은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
wetty은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
wetty은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. wetty의 마지막 커밋은 2026년 10월 30일입니다.
wetty은(는) 어디에 사용할 수 있나요?
네이티브 SSH 클라이언트 없이 팀원에게 브라우저 기반 서버 셸 접근 권한을 제공합니다. 리버스 프록시 뒤에 있는 내부 머신에서 웹 터미널을 제공합니다. 터미널 앱이 없는 기기에서 홈 서버나 실험실 머신에 접속합니다.
wetty는 어떻게 설치하나요?
npm으로 WeTTY를 전역 설치합니다: npm -g i wetty 허용할 브라우저 오리진을 지정해 WeTTY를 시작합니다: wetty --allowed-origin http://yourserver:3000 브라우저에서 서버 주소를 열고 로그인합니다
wetty은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/butlerx/wetty

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트