Browsh
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 HTTP-запросов, потребует загрузки всего 15 KB данных и отправки двух HTTP-запросов (один для содержимого и один для favicon). Режим работы в виде web-сервиса встроен в Browsh и активируется при указании опции «-http-server» (по умолчанию запросы принимаются на 4333 сетевом порту).

Для сокращения требуемой для просмотра в терминале пропускной способности дополнительно может применяться MoSH, кэширующий состояние экрана на стороне клиента и передающий только информацию об изменившихся данных. Browsh также может использоваться для организации доступа в web со слишком маломощных систем, у которых недостаточно ресурсов для запуска полноценного браузера и имеется только возможность обращения к удалённому терминалу, или при нежелании нагружать CPU запуском браузера в условиях жесткой экономии заряда аккумулятора.
Q7708379
текстовый браузер
Concept
Q466
web
Concept
Q375913
WebGL
MISC
Q8815
ASCII
Concept
Q698
Firefox
MISC
Q37227
Go
MEDIA
Q2005
JavaScript
MEDIA
Q7603
GPLv3
MEDIA
Q388
Linux
MISC
Q34236
FreeBSD
MEDIA
Q14116
macOS
MISC
Q1406
Windows
Concept
Q79708
GPRS
MISC
Q170460
SSH
MEDIA
Q1151159
elinks
MEDIA
Q207872
lynx
MEDIA
Q2053
HTML5
ORG
None
HTTP-запрос
UNK
Q55449289
Browsh
MISC
Q55449289
Browsh
MISC
Q55449289
Browsh
MISC
Q55449289
Browsh
MISC
Q55449289
Browsh
MISC
Q55449289
Browsh
MISC
Q55449289
Browsh
MISC
Q55449289
Browsh
MISC
Q55449289
Browsh
MISC
+3^^http://www.w3.org/2001/XMLSchema#decimal
3
NUMBER
+56^^http://www.w3.org/2001/XMLSchema#decimal
56
NUMBER
+3^^http://www.w3.org/2001/XMLSchema#decimal
3
NUMBER
+5^^http://www.w3.org/2001/XMLSchema#decimal
5
NUMBER
+3^^http://www.w3.org/2001/XMLSchema#decimal
3
NUMBER
+15^^http://www.w3.org/2001/XMLSchema#decimal
15
NUMBER
instance of
used by
programming language
programming language