Carbonyl: Chromium в терминале — зачем и как это работает
Репозиторий давно не обновлялся
Последнее обновление было 2 года назад.
Когда-то терминальные браузеры вроде Lynx были единственным способом сёрфить интернет без графического интерфейса. Но современный веб с его JavaScript и WebGL казался для них недоступен — до появления Carbonyl.
Что это за зверь?
Carbonyl — это Chromium, переосмысленный для работы прямо в терминале. Не упрощённая версия, а полноценный движок Blink с поддержкой:
- WebGL и WebGPU (да, даже 3D-графика в терминале!)
- Воспроизведения видео и аудио
- CSS-анимаций
- Всех современных JavaScript-фреймворков
При этом он запускается меньше чем за секунду, работает на 60 FPS и даже через SSH.
Чем отличается от Lynx и Browsh
Lynx
Плюсы:
- Идеальная оптимизация под терминал
Минусы:
- Нет поддержки JavaScript
- Не работает с современными стандартами
- Не умеет в медиа
Browsh
Плюсы:
- Проще в разработке
- Поддержка расширений
Минусы:
- Требует в 50 раз больше CPU
- Медленнее из-за перерисовки
Как это работает технически
Carbonyl состоит из двух частей:
- Ядро (
libcarbonyl) на Rust — собирается за секунды - Модифицированная версия 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. Полную инструкцию по сборке из исходников ищите в официальном репозитории.
