GoTTY: Ваш терминал в браузере за 30 секунд
Репозиторий давно не обновлялся
Последнее обновление было 2 года назад.
Представьте: вам нужно быстро показать коллеге работу скрипта на удалённом сервере, провести демонстрацию команд или просто дать доступ к терминалу без сложных настроек SSH. Именно для таких сценариев создан GoTTY — утилита, которая превращает любую консольную команду в веб-приложение.
Что это и зачем
GoTTY — это написанный на Go инструмент, который запускает веб-сервер и транслирует ваш терминал в браузер. По сути, это мост между консолью и веб-интерфейсом, работающий через WebSocket. Проект насчитывает больше 19 тысяч звёзд на GitHub и активно используется разработчиками по всему миру.

Основные возможности:
- Лёгкий доступ — достаточно одного запуска, чтобы получить URL для доступа к терминалу
- Кроссплатформенность — работает везде, где есть Go (Linux, macOS, Windows)
- Безопасность — поддержка HTTPS, аутентификации и ограничений доступа
- Гибкость — можно запускать любые CLI-утилиты, от
topдоdocker run
Как это работает
Установка занимает минуту. Для macOS:
brew install yudai/gotty/gotty
Или скачайте бинарный файл для своей ОС из раздела релизов.
Запуск прост как echo:
gotty top
После этого открываете http://localhost:8080 и видите работающий top прямо в браузере. По умолчанию GoTTY слушает порт 8080, но это можно изменить флагом -p.
Продвинутые сценарии
Совместная работа через tmux:
gotty tmux new -A -s shared_session htop
Демонстрация в Docker:
gotty -w docker run -it --rm alpine
Безопасный доступ с HTTPS и аутентификацией:
gotty -t -c admin:secretpassword -- perl -e 'print "Hello secure world!\n"; sleep 3600'
Под капотом
GoTTY использует:
- xterm.js для эмуляции терминала в браузере
- WebSocket для двусторонней связи
- Go для высокопроизводительного бэкенда
Проект поддерживает кастомизацию через конфиг-файл ~/.gotty, где можно задать параметры вроде:
port = "9000"
enable_tls = true
preferences {
font_size = 5
background_color = "rgb(16, 16, 32)"
}
Когда это полезно
- Демонстрации — показывайте работу утилит без скриншеров
- Удалённая помощь — давайте временный доступ к терминалу
- Обучение — студенты видят команды преподавателя в реальном времени
- Мониторинг — выводите
top,htopилиnmonна общий экран
Альтернативы
GoTTY — это тот редкий инструмент, который решает узкую задачу, но делает это блестяще. Если вам нужно быстро и безопасно расшарить терминал — попробуйте. Для сложных сценариев есть интеграция с tmux и Docker. Простота установки и богатые возможности делают его must-have в арсенале разработчика.
Кому особенно пригодится:
- DevOps-инженерам
- Преподавателям IT-дисциплин
- Командам, работающим с удалёнными серверами
- Всем, кто устал объяснять «как это у тебя выглядит?»
