ttyd Ваш терминал в браузере — просто, быстро, безопасно

09 Jun, 2026
11,863
🔱 1,154
👥 121

Представьте ситуацию: вам срочно нужно выполнить команду на сервере, но под рукой только телефон или чужой компьютер без SSH-клиента. Знакомо? Именно такие проблемы решает ttyd — простой, но мощный инструмент для доступа к терминалу через веб-браузер.

Что такое ttyd?

ttyd — это легковесная утилита командной строки, которая создаёт веб-интерфейс для вашего терминала. По сути, она «оборачивает» ваш терминал в веб-страницу, доступную по сети. Проект написан на C с использованием libuv для асинхронного ввода-вывода и WebGL2 для ускоренного рендеринга в браузере.

Демонстрация работы ttyd

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

  1. Полноценный терминал в браузере

    • Поддержка CJK-символов и IME (Input Method Editor)
    • Шестипиксельная графика (Sixel) для вывода изображений
    • Настраиваемый тип терминала (по умолчанию xterm-256color)
  2. Безопасность

    Реклама
    • Поддержка SSL/TLS через OpenSSL/Mbed TLS
    • Базовая аутентификация (username:password)
    • Ограничение доступа по origin (защита от CSRF)
  3. Передача файлов

    • Встроенная поддержка ZMODEM (через lrzsz)
    • Альтернативный протокол trzsz
  4. Гибкость

    • Запуск любых команд с аргументами
    • Настройка прав доступа (read-only или запись)
    • Поддержка IPv6 и UNIX-сокетов

Как это работает технически?

ttyd использует WebSockets для двусторонней связи между браузером и сервером. На стороне клиента работает xterm.js — популярная библиотека эмуляции терминала. Серверная часть обрабатывает ввод/вывод через псевдотерминал (PTY), что обеспечивает полную функциональность обычного терминала.

Интересный момент: для графического вывода используется Sixel — «ретропротокол» из 1980-х, который неожиданно обрёл вторую жизнь в современных терминалах.

Практическое применение

  1. Удалённое администрирование Быстрый доступ к серверу из любого места без настройки SSH:

    ttyd -p 8080 bash
    
  2. Демонстрации и обучение Показывайте терминальные операции студентам или коллегам, просто отправив ссылку.

  3. IoT-устройства На устройствах с ограниченными ресурсами (например, OpenWrt) ttyd становится лёгкой альтернативой полноценному SSH-серверу.

  4. Отладка в облаке Запустите ttyd в контейнере Docker для интерактивной отладки:

    docker run -it --rm -p 7681:7681 tsl0922/ttyd
    

Установка — проще некуда

  • macOS: brew install ttyd
  • Linux: скачайте бинарник из релизов или snap install ttyd --classic
  • Windows: winget install tsl0922.ttyd или через Scoop
  • Docker: docker pull tsl0922/ttyd

Альтернативы

  • Wetty: Node.js решение с SSH-клиентом в браузере
  • GoTTY: Аналогичный инструмент на Go, но с меньшей функциональностью

Вывод: стоит ли пробовать?

Если вы:

  • Администрируете серверы
  • Работаете с IoT/встраиваемыми системами
  • Проводите демонстрации или обучение
  • Часто оказываетесь за компьютером без SSH-клиента

...то ttyd станет вашим незаменимым помощником. Простота установки, минимальные требования к ресурсам и богатая функциональность делают этот проект отличным выбором для самых разных сценариев.

Попробуйте — возможно, вы удивитесь, как жили без этого инструмента раньше!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.