tTerm теперь работает в браузере
До сих пор tTerm жил в Telegram: команды на сервер прямо из чата. Сегодня открываем tTerm Web, настоящий терминал в браузере. Все твои серверы и компьютеры в одной вкладке, каждая команда приходит отдельным блоком, а ключи на устройстве не нужны.
Зачем браузер, если есть бот
Бот хорош, когда под рукой только телефон: перезапустить сервис, посмотреть место на диске, ответить на вопрос установщика. Но долгая работа просит большой экран: несколько вкладок рядом, vim и htop на всё окно, историю, в которой легко найти вчерашнюю команду.
Для этого мы сделали tTerm Web. Он открывается в любом браузере, на ноутбуке, планшете и телефоне, и ничего не требует ставить на устройство, с которого ты работаешь.
Каждая команда отдельным блоком
В обычном терминале всё сливается в одну ленту, и где кончилась одна команда и началась другая, приходится искать глазами. В tTerm каждая команда приходит отдельным блоком: сама команда, её вывод, код возврата, время, каталог и ветка git.
Блок можно скопировать вместе с выводом, свернуть или выполнить ещё раз. Пока команда работает, вывод идёт живьём, а когда она закончилась, блок застывает в обычный текст, который легко выделить и скопировать.
Строка ввода как в редакторе
Внизу своя строка ввода. Shift+Enter переносит строку, серым подсказывается команда из истории, Tab дополняет. История хранится у нас, поэтому она одна на всех твоих устройствах.
Над строкой видно, где ты: каталог и ветка. Нажми на них и выбери нужные из списка, а cd и git switch выполнятся обычным блоком. А опасную команду, после которой уже нечего чинить, tTerm переспросит.
vim, htop и sudo
Полноэкранные программы открываются на всю область терминала и работают как обычно, sudo тоже. А если блоки не нужны, есть классический режим: один сплошной терминал, как ты привык.
Терминал не закрывается вместе с вкладкой
Терминал живёт на нашем сервере, а не в браузере. Закрой ноутбук посреди сборки на сервере: она продолжится, а вывод сохранится. Открой tTerm с другого устройства, и терминал будет на месте.
Вкладки из разных проектов открываются рядом и подписаны кодом проекта: P/web-01, A/api-prod. А Cmd+K открывает палитру: перейти к любому терминалу, открыть новый на любой машине или выполнить действие.
Как подключить машину
Сервер на Linux подключается одной командой. tTerm Web покажет её, когда ты добавляешь машину, а выполнить её нужно на сервере:
$ curl -sSL https://connect.tterm.net/s/… | sudo sh
Установщик заводит на сервере пользователя tterm, добавляет одну строку в его authorized_keys и даёт ему sudo отдельным файлом в /etc/sudoers.d. sshd_config он не трогает, sshd не перезапускает и портов не открывает. Через несколько секунд сервер появится в списке.
Компьютер на macOS или Linux подключается через небольшого агента. Он работает от твоего пользователя и сам выходит на связь с нашим сервером, поэтому входящие порты не нужны, а компьютер может стоять за NAT. Удаляется агент одной командой.
Безопасность
Мы подключаемся к твоим машинам, поэтому устроили доступ так, чтобы его было легко дать и так же легко забрать.
- Твои ключи нам не нужны. Для каждого подключения tTerm подписывает новый сертификат SSH с твоим именем внутри, и через две минуты он перестаёт действовать.
- Подпись отдельно. Ключи, которыми мы подписываем, живут в отдельном процессе без сети. Основная программа не может их прочитать, а только просит подпись, и каждая подпись записывается.
- Без посредников. Сервер tTerm стоит в ЕС. Страница и терминалы идут к нему напрямую: Cloudflare у нас отвечает только за DNS и команд не видит.
- Доступ легко забрать. Удалишь машину в tTerm, и он покажет команду, которая убирает его доступ с сервера. Как убрать всё остальное, что поставил установщик, написано в начале самого скрипта.
- Открытый код. tTerm Web и агент открыты под лицензией AGPL-3.0. Установочный скрипт короткий, и его стоит прочитать перед запуском.
Сколько это стоит
Пока tTerm Web в бете, он бесплатный для всех.
Платные тарифы появятся позже, и мы напишем о них заранее.
А что с ботом
@tTermNetBot остаётся и работает: команды на сервер прямо из чата, когда под рукой только телефон. Пока бот и веб живут отдельно, у каждого свой список машин. Потом мы их соединим.
Что дальше
Следующая большая часть – работа в команде: роли в проекте, общий журнал команд и наблюдение за терминалом коллеги, где тот, за кем смотрят, всегда видит, кто смотрит. Компьютеры на Windows пока не поддерживаются, до них дойдём позже.
Попробуй tTerm Web
Вход по почте: придёт код, а на своих устройствах потом хватит короткого кода. Первый сервер подключается за минуту.
Начать бесплатно