Текила
- 1 year ago
- 0
- 0
Browsh — текстовый браузер , с полноценной поддержкой web -технологий и возможностью отображения изображений, видео и WebGL -контента в форме ASCII -анимации. Для обработки контента применяется движок Firefox . Код Browsh написан на языках Go и JavaScript и распространяется под лицензией GPLv3 . Готовые сборки подготовлены для Linux , FreeBSD , macOS и Windows (для работы дополнительно должен быть установлен Firefox новее выпуска 56).
В качестве основной области применения Browsh называется работа в условиях экономии трафика или при низкой пропускной способности. Например, при наличии канала связи порядка 3kbps (при подключении через телефон с GPRS ) можно соединиться по SSH с сервером и запустить на нём Browsh. В отличие от таких консольных браузеров, как elinks и lynx , в Browsh имеется полноценная поддержка JavaScript и HTML5 . Для обработки web-контента используется браузер Firefox, запускаемый в режиме без вывода на экран («-headless»).
В запускаемый в режиме headless экземпляр Firefox устанавливается специальное дополнение, которое принимает от консольной утилиты запросы, обрабатывает их и выполняет трансляцию вывода в текстовое представление с ASCII-графикой. Консольная утилита выполняет роль прослойки для организации взаимодействия пользователя, основная логика реализована на стороне браузерного дополнения.
Browsh можно запускать через терминал или использовать в виде web-сервиса, предоставляющего упрощённый вариант страниц для просмотра в web-браузере пользователя. Например, открытие в Browsh сайта, который при обычных условиях требует загрузки 3MB данных и отправляет более 100 , потребует загрузки всего 15 KB данных и отправки двух HTTP-запросов (один для содержимого и один для favicon). Режим работы в виде web-сервиса встроен в Browsh и активируется при указании опции «-http-server» (по умолчанию запросы принимаются на 4333 сетевом порту).
Для сокращения требуемой для просмотра в терминале пропускной способности дополнительно может применяться MoSH, кэширующий состояние экрана на стороне клиента и передающий только информацию об изменившихся данных. Browsh также может использоваться для организации доступа в web со слишком маломощных систем, у которых недостаточно ресурсов для запуска полноценного браузера и имеется только возможность обращения к удалённому терминалу, или при нежелании нагружать CPU запуском браузера в условиях жесткой экономии заряда аккумулятора.