Repolode
butlerx

butlerx/wetty

Эмулятор терминала в браузере: работает по HTTP/HTTPS и построен на xterm.js и WebSockets.

Звёзды
5,479
Форки
771
Открытые issues
15
Последний коммит
позавчера

Что это?

WeTTY предоставляет доступ к командной оболочке через браузер. Он запускает сервер Node.js, который отдаёт страницу терминала на xterm.js и передаёт ввод и вывод локальной оболочке или SSH-серверу по WebSockets. В отличие от старых браузерных терминалов, таких как Ajaxterm и Anyterm, WeTTY использует WebSockets вместо опроса через Ajax, поэтому нажатия клавиш обрабатываются с малой задержкой.

При запуске от root WeTTY запускает /bin/login, чтобы пользователь мог ввести имя. В остальных случаях он запускает ssh и по умолчанию подключается к localhost; для подключения к удалённому хосту можно указать параметры SSH host, port и user. Поддерживается аутентификация по паролю или открытому ключу, а для сервера требуется явно задать список разрешённых источников браузера. WeTTY можно запускать через npm или из Docker-образа, а для HTTPS размещать за обратным прокси, например nginx или traefik.

Ключевые возможности

  • 01Запускает полноценный эмулятор терминала в браузере с помощью xterm.js.
  • 02Использует WebSockets (Socket.IO) для передачи ввода и вывода с малой задержкой.
  • 03Подключается к локальной оболочке входа или удалённому SSH-серверу.
  • 04Поддерживает аутентификацию SSH по паролю и открытому ключу.
  • 05Требует указать список разрешённых источников и позволяет настроить базовый путь.
  • 06Доступен в виде npm-пакета и Docker-образа.

Сценарии использования

  • Предоставить участникам команды доступ к оболочке на сервере через браузер без нативного SSH-клиента.
  • Развернуть веб-терминал на внутренней машине за обратным прокси.
  • Подключаться к домашнему серверу или лабораторной машине с устройства без приложения терминала.

Быстрый старт

  1. 1

    Установите WeTTY глобально с помощью npm

    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 и передаёт ввод и вывод локальной оболочке или SSH-серверу по WebSockets. В отличие от старых браузерных терминалов, таких как Ajaxterm и Anyterm, WeTTY использует WebSockets вместо опроса через Ajax, поэтому нажатия клавиш обрабатываются с малой задержкой.
wetty можно использовать бесплатно? Какая у него лицензия?
wetty распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
wetty всё ещё поддерживается?
Активно поддерживается. Последний коммит в wetty — 6 нояб. 2026 г..
Для чего можно использовать wetty?
Предоставить участникам команды доступ к оболочке на сервере через браузер без нативного SSH-клиента. Развернуть веб-терминал на внутренней машине за обратным прокси. Подключаться к домашнему серверу или лабораторной машине с устройства без приложения терминала.
Как установить wetty?
Установите WeTTY глобально с помощью npm: npm -g i wetty Запустите WeTTY, указав разрешённый источник браузера: wetty --allowed-origin http://yourserver:3000 Откройте адрес сервера в браузере и войдите в систему
Где скачать wetty?
Исходный код и инструкции по установке — на GitHub: https://github.com/butlerx/wetty

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Облачная веб-терминальная среда и рабочее пространство для ACP-агентов с постоянными сессиями, редактированием файлов и доступом к нескольким хостам с компьютера, планшета и телефона.

39233JavaScriptMITОбновлён 15 дней назад

Самостоятельно размещаемое браузерное рабочее пространство для SSH-терминалов и передачи файлов по SFTP с многопользовательскими учётными записями, passkeys, OIDC и зашифрованным хранилищем ключей.

315+49 за неделю40PythonMITАктивно поддерживаетсяОбновлён 2 часа назад