Этот инструмент позволяет вам делиться своим терминалом через Интернет

Вы когда-нибудь хотели быстро поделиться своей терминальной сессией с кем-то без множества слоев хлопот? С ttyd это возможно. Эта маленькая утилита превращает ваш терминал в живое интерактивное веб-приложение. Никакого показа экрана. Никаких сложных настроек. Только ваш терминал в сети, готовый к работе.

Что такое ttyd и как он работает

ttyd — это легкий инструмент командной строки, который позволяет вам делиться своим терминалом через Интернет с помощью всего одной команды. Вам не требуется сложной настройки или других сторонних служб. Это простой способ превратить ваш локальный терминал в веб-доступный.

По своей сути ttyd оборачивает любую команду, которую вы хотите (например, оболочку типа bash или zsh), и обслуживает ее через безопасный интерфейс на основе браузера. Вы запускаете его, и он запускает веб-сервер, к которому любой, кто подключен к вашей сети, может получить доступ для взаимодействия с вашим терминалом в реальном времени, прямо из своего браузера. Думайте об этом как о совместном использовании экрана для вашего терминала, только более интерактивно и доступно.

Любые действия, которые другие выполняют на общем терминале, происходят в реальном времени в вашей системе и остаются там навсегда. Например, вы делитесь сеансом терминала. Кто-то входит в этот сеанс и создает новый файл. Этот файл фактически создается в вашей системе и остается там. Таким образом, все синхронизировано.

Особенно, если вы откроете свой сервер ttyd для более широкой сети, это удобно для удаленной поддержки, быстрых демонстраций, совместного устранения неполадок или даже управления устройством headless издалека. Он также быстр и отзывчив, поскольку создан с использованием libuv и WebGL2.

Это также означает, что если ваш сеанс попадет в руки не того человека, могут возникнуть проблемы. Однако ttyd поставляется с несколькими механизмами безопасности, которые я покажу вам позже.

Этот инструмент позволяет вам делиться своим терминалом через Интернет1

Установка ttyd на Linux

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

Этот инструмент позволяет вам делиться своим терминалом через Интернет2

Я выберу версию x86_64, так как моя система ее поддерживает. Вы также можете использовать команду wget для загрузки файла.

wget https://github.com/tsl0922/ttyd/releases/download/1.7.7/ttyd.x86_64

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

chmod +x ttyd.x86_64

Если у вас установлен Homebrew, вы можете использовать его для установки ttyd.

brew установить ttyd

Если в вашей системе включена функция Snap, вы также можете ее использовать.

sudo snap install ttyd —классический

Если вы хотите собрать приложение из исходников, это тоже возможно. Сначала обновите свою систему.

Суда apt-get обновления

Установите необходимые зависимости и инструменты с помощью этой команды:

sudo apt-get install -y build-essential cmake git libjson-c-dev libwebsockets-dev

Клонируйте репозиторий GitHub, перейдите в каталог «ttyd», создайте каталог «build» и перейдите в него.

git-клон https://github.com/tsl0922/ttyd.git
cd ttyd && mkdir build && cd build

Наконец, создайте приложение.

сделай ..
сделать && sudo сделать установить

Для демонстрации я буду использовать приложение со страницы релиза GitHub.

Использование ttyd для предоставления общего доступа к терминалу в Интернете

Базовый синтаксис ttyd выглядит следующим образом:

ttyd [опции] [команда] [аргументы…]

Для простого использования передайте любую команду Linux в ttyd.

ttyd баш

Этот инструмент позволяет вам делиться своим терминалом через Интернет3

Это создало сеанс веб-сервера на http://localhost:7681. Перейдите по URL-адресу в вашем веб-браузере, чтобы увидеть его.

Этот инструмент позволяет вам делиться своим терминалом через Интернет4

Порт по умолчанию — 7681. Если вы хотите изменить порт, вы можете сделать это, добавив опцию -p.

ttyd -p 7777 баш

На этот раз вам нужно будет посетить http://localhost:7777, чтобы найти сессию. Вы также можете просмотреть различные терминальные инструменты. Давайте попробуем Vim.

ttyd vim

Этот инструмент позволяет вам делиться своим терминалом через Интернет5

Даже топовый инструмент или любое другое программное обеспечение для мониторинга системы.

ttyd топ

Этот инструмент позволяет вам делиться своим терминалом через Интернет6

Изучение дополнительных опций

В ttyd есть много опций, которые делают вашу сессию более интерактивной и плодотворной. Сеансы по умолчанию, которые я создал ранее, были только для чтения. Это значит, что вы не можете ничего писать в терминале из браузера. Чтобы сделать его доступным для записи, вам нужно передать опцию -W или —writable.

ttyd -W нано

Этот инструмент позволяет вам делиться своим терминалом через Интернет7

Вы можете добавить систему входа вашего устройства в общий доступ.

ttyd -W вход

Если у вас возникли ошибки с правами root, выполните команду sudo.

sudo ttyd -W войти

Вам также понадобится опция -W для ввода имени пользователя и пароля.

Этот инструмент позволяет вам делиться своим терминалом через Интернет8

Если вы хотите повысить безопасность своего сеанса, вы можете добавить аутентификацию по имени пользователя и паролю с помощью опции -c.

ttyd -c пользователь:пароль bash

Этот инструмент позволяет вам делиться своим терминалом через Интернет9

При этом любой пользователь, пытающийся присоединиться к сеансу, должен будет ввести имя пользователя и пароль. Доступны и другие параметры безопасности, такие как добавление шифрования SSL.

В ttyd можно попробовать еще много всего. Если вы застряли или хотите узнать больше, попробуйте использовать флаг -h для отображения режима справки и проверки доступных опций. Вы также можете проверить официальный GitHub для получения дополнительной информации. Многие замечательные инструменты Linux позволяют вам делиться экраном Android или даже записывать быстрые сеансы терминала.

Валентин Павлов/ автор статьи
Страсть Влентина к играм началась с Resident Evil, и с тех пор он не переставал играть в хоррор-игры. Пишет экспертные руководства для самых сложных игр и обзоры для самых громких релизов. Является магистром журналистики и имеет степень бакалавра лингвистики. Любимые игры: GTA 5, Silent Hill 2, Call of Duty: Modern Warfare 2, Heavy Rain, Metro 2033 и другие.
Понравилась статья? Поделиться с друзьями:
Добавить комментарий