Графическая оболочка для SSH, где каждое приложение — крошечный HTTP-сервер
Маркус Льюис сделал Outer Shell, чтобы удалённый сервер отдавал по SSH нативный GUI вместо сетки моноширинных символов. В демо по каналу работает живой графический «top». Первый ответ треда: это уже существует, и не раз.
Идея: забыть про пляски с туннелями вроде «ssh -L 24601:localhost:8889» для Jupyter или TensorBoard. Каждое удалённое приложение становится маленьким HTTP-сервером поверх Unix-сокета, шифруется самим SSH и рисуется как настоящий нативный интерфейс на вашей машине.
Потом пришли ветераны. Cockpit делает консоли удалённых серверов через сокеты больше десяти лет; назвали MobaXterm, форвардинг X11, Windows Admin Center и webmin. Один ответ целиком: «Круто, ненавижу это».
Долой сетку символов: сервер, который везёт собственный GUI

Пост Маркуса Льюиса A native graphical shell for SSH открывается вопросом, который он явно считает риторическим: «Разве не странно, что этого до сих пор нет?» Его раздражает ежедневное трение при доступе к приложениям на удалённой машине (Jupyter, TensorBoard), которые слушают локальный порт, недосягаемый для большого интернета напрямую, и заставляют набирать привычное заклинание ssh -L 24601:localhost:8889 user@host.
Его ответ — стек из трёх частей: Outer Loop (SSH-браузер), Outer Shell (открытый API, играющий роль домашнего экрана для приложений) и Outer Frame (фреймворк нативных приложений). Архитектура в одну строку: «Каждое приложение — маленький HTTP-сервер, отдающий веб-интерфейс». Вместо localhost-портов приложения общаются через Unix-сокеты с явными правами доступа на файлы; шифрование происходит на уровне SSH, поэтому само приложение его не несёт. Приложения умеют рисоваться как HTML или как по-настоящему нативные интерфейсы, и Льюис подаёт это как естественный раскол веба: «HTML для чтения и лёгких приложений, нативные платформенные приложения для работы». Скринкаст вбивает мысль до конца графическим top, работающим по каналу: нагрузку создают вживую, чтобы видеть, как меняются показания.
«Это есть сто лет»: тред называет шесть предшественников
Приём в треде был перекличкой предшествующих решений. Самое острое пришло от того, кто явно годами эксплуатировал старожила рынка:
«Автор, видимо, никогда не слышал про Cockpit. Всё, что он называет „отсутствующим“ или „новым“, есть в Cockpit больше десяти лет… Отвечу ему на „Разве не странно, что этого до сих пор нет?“ — Нет, не странно, потому что это есть сто лет». — guhcampos
Остальные накидывали свои примеры: боковой файловый менеджер и проброс X11 в MobaXterm, Windows Admin Center от Microsoft, старый добрый X11Forwarding yes, webmin. Основатель и выпускник YC просто вставил ссылку: «это существует как https://xpipe.io/». Самый лаконичный вердикт уместился в три слова: «Круто, ненавижу это».
Публику по безопасности это позабавило меньше. Сама причина, по которой браузеры не могут открывать произвольные сокеты, как заявил один из них, намеренная:
«Есть множество отличных, давних причин про безопасность и „изоляцию веб-control plane“, по которым браузерам не дают права на произвольные сокеты. Ближайшая механическая аналогия… это то, почему трёхколёсные квадроциклы — плохая идея». — комментатор, разобравший модель угроз для прав на сокеты
Но у эксперимента нашлись и защитники, гонявшиеся за той же идеей сами. Один собрал почти такой же proof of concept около 2013 года (заходишь по SSH, процесс выдаёт данные, локальное веб-приложение рисует живой удалённый top) и назвал это «доведённой до ума версией» своего полусырого хакатонного наброска. Другой голос хотел, чтобы Льюис пошёл дальше готовых приложений:
«всё становится по-настоящему интересно, когда поверх этого ставишь настоящий „шелл“. И я не про классический posix-шелл, а про что-то, что задействует всю мощь кастомного UI и фронтенда». — разработчик, прототипировавший то же самое с Go-бэкендом поверх SSH
А несколько человек хотели обратного: не готовых GUI, а VNC-подобного канала, где обычные TUI-инструменты вроде top и micro вырываются из моноширинной сетки в настоящую графику. Это напряжение Льюис так и не разрешил: ценность тут в нативном UX или просто в более низком пороге входа, который туннель и self-hosted веб-приложение уже закрывают? Прежние решения доказывают, что зуд реальный и давний. А вот станет ли именно его срез через стек тем самым, что приживётся, остаётся открытым вопросом, с которым тред его и оставил.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
Tidal оставит ИИ-музыку у себя, повесит ярлык «ИИ» и не заплатит ни цента
Tidal построил бренд на hi-fi-звуке и роялти выше, чем у конкурентов. Новая ИИ-политика оставляет нейросетевые треки в каталоге, вешает на полностью сгенерированные значок «AI» и не отправляет им ни цента.