Yeesh

Интеграция терминала xterm.js в LiveView с песочницей Dune.

Active ElixirPhoenix LiveViewxterm.jsSandboxDune 3 813
Yeesh

привносит интерактивные терминалы xterm.js в Phoenix LiveView с безопасной изоляцией процессов в песочнице Dune.

Идея

Встраивание терминальных интерфейсов в веб-приложения обычно требует работы с WebSockets, согласования размеров экрана и защиты от небезопасного выполнения команд на хосте.

Yeesh предлагает готовый компонент для Phoenix LiveView на базе xterm.js . Он передает двоенаправленные PTY-данные через LiveView сокеты, а выполнение команд производит в изолированной песочнице Dune.


Почему Yeesh?

Нативный Компонент LiveView

Встраивайте полноценные веб-терминалы в Phoenix LiveView приложения с помощью стандартных хуков и эвентов.

Изоляция Dune Sandbox

Выполняет терминальные команды внутри изолированных контейнеров с ограничениями по памяти и CPU.

Двунаправленный PTY-Стриминг

Отрисовка терминала в реальном времени с поддержкой xterm.js, авторазмера и цветов.

Темы и Кастомные Клавиши

Легкая настройка внешнего вида терминала и горячих клавиш.


Технологии

Язык Elixir / JavaScript
Стек UI Phoenix LiveView & xterm.js
Песочница Dune
Hex Пакет yeesh

Для Кого

  • Веб-Разработчиков , создающих SSH-клиенты, консоли или панели администрирования.
  • Обучающих Платформ , разрабатывающих интерактивные тренажеры командной строки.
  • DevOps Инженеров , выводящих протоколы процессов в интерфейсах Phoenix.

Итог

Встраивайте безопасные веб-терминалы прямо в Phoenix LiveView с помощью Yeesh.