Carbonyl: Chromium в терминале — зачем и как это работает

01 Jul, 2024

Репозиторий давно не обновлялся

Последнее обновление было 2 года назад.

19,201
🔱 573
👥 93

Когда-то терминальные браузеры вроде Lynx были единственным способом сёрфить интернет без графического интерфейса. Но современный веб с его JavaScript и WebGL казался для них недоступен — до появления Carbonyl.

Что это за зверь?

Carbonyl — это Chromium, переосмысленный для работы прямо в терминале. Не упрощённая версия, а полноценный движок Blink с поддержкой:

  • WebGL и WebGPU (да, даже 3D-графика в терминале!)
  • Воспроизведения видео и аудио
  • CSS-анимаций
  • Всех современных JavaScript-фреймворков

При этом он запускается меньше чем за секунду, работает на 60 FPS и даже через SSH.

Чем отличается от Lynx и Browsh

Lynx

Плюсы:

  • Идеальная оптимизация под терминал

Минусы:

Реклама
  • Нет поддержки JavaScript
  • Не работает с современными стандартами
  • Не умеет в медиа

Browsh

Плюсы:

  • Проще в разработке
  • Поддержка расширений

Минусы:

  • Требует в 50 раз больше CPU
  • Медленнее из-за перерисовки

Как это работает технически

Carbonyl состоит из двух частей:

  1. Ядро (libcarbonyl) на Rust — собирается за секунды
  2. Модифицированная версия Chromium (headless_shell) — сборка занимает около часа

Главная фишка — рендеринг напрямую в терминал, без лишних преобразований графики.

Как попробовать

Самый простой способ — Docker:

docker run --rm -ti fathyb/carbonyl https://youtube.com

Или через npm:

npm install --global carbonyl
carbonyl https://github.com

Где пригодится

  • На серверах без GUI
  • Для автоматизации тестирования
  • При работе через SSH
  • На слабых машинах
  • Для интеграции в CLI-инструменты

Carbonyl — это не просто игрушка, а серьёзный инструмент для разработчиков, которые:

  • Работают в терминале
  • Тестируют веб-приложения
  • Любят нестандартные решения

Если вы хоть раз сталкивались с необходимостью открыть современный сайт без графического интерфейса — обязательно попробуйте Carbonyl. Это тот редкий случай, когда технологическая демонстрация превращается в полезный инструмент.

P.S. Полную инструкцию по сборке из исходников ищите в официальном репозитории.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.