Это старая утилита, которую я тестировал ещё в 2021 году. С тех пор её не забросили, периодически обновляют и работает она неплохо. Я лично проверил. Мне понравилось. С помощью TermPair можно настроить совместный доступ к консоли сервера через браузер. Это может быть режим только для просмотра, либо и для равнозначного управления для всех участников.
Отмечу особенности TermPair:
▪️Все передаваемые данные шифруются
▪️Можно поднять свой сервер и все соединения пропускать через него
▪️TermPair состоит из одного бинарника, никаких зависимостей
▪️Очень простая настройка и использование
▪️Утилита кроссплатформенная - Linux, macOS, Windows
Мне видится польза от этого сервиса как минимум в трёх ситуациях, которые пришли в голову:
1️⃣ Сейчас популярны удалённые собеседования при приёме на работу, в том числе и технические части. Можно быстро и легко отправить кандидату консоль от сервера с какими-то задачами, которые ему нужно выполнить. Там можно совместно в режиме беседы взаимодействовать. Мне видится это самым простым и эффективным способом оценить квалификацию человека. Говорить можно много, а вот взять и что-то сделать - совсем другое дело. Можно специально что-то поломать и попросить починить.
2️⃣ Можно наблюдать за работой ии-агента или нескольких через браузер. Можно поделиться с кем-то сессией, чтобы он тоже взаимодействовал.
3️⃣ Если вы проводите обучение, то это удобный способ подключиться к ученику и совместно что-то сделать.
Есть публичный сервис для использования, но у нас он работает только через VPN, поэтому я не делаю на этом акцент. Сразу покажу, как можно поднять и использовать свой сервер. Там всё очень просто.
Скачиваем и распаковываем бинарник:
# wget https://github.com/cs01/termpair/releases/download/v1.2.0/termpair-x86_64-unknown-linux-gnu.tar.gz
# tar xvf termpair-x86_64-unknown-linux-gnu.tar
# mv termpair /usr/local/bin/
Это нужно сделать и на клиентах, и на сервере, который будет обслуживать соединения. Далее на сервере устанавливаем Nginx и Certbot:
# apt install nginx certbot
Получаем сертификат для домена:
# certbot certonly
Рисуем конфигурацию для TermPair:
upstream termpair_app {
server localhost:8000;
}
server {
server_name 345265.simplecloud.ru;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/345265.simplecloud.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/345265.simplecloud.ru/privkey.pem;
location /termpair/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://termpair_app/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Создаём systemd unit для службы TermPair в файле /etc/systemd/system/termpair.service:
[Unit]
Description=TermPair server
After=network.target
[Service]
ExecStart=/usr/local/bin/termpair serve --port 8000
Restart=on-failure
RestartSec=1s
[Install]
WantedBy=multi-user.target
Запускаем службу:
# systemctl daemon-reload
# systemctl enable --now termpair.service
Теперь на сервере, где мы хотим расшарить консоль, запускаем TermPair и указываем через ключ наш сервер:
# termpair share --host "https://345265.simplecloud.ru/termpair/" --port 443
В консоли получаем ссылку для подключения и переходим по ней браузером. Дальше используем по назначению. Доступ будет у всех, кто знает ссылку. Ограничить доступ только чтением можно ключом
-r. Через ключ --cmd можно сразу запустить какую-то программу, например, opencode.#linux