Введение

Текстовый, кроссплатформенный веб-браузер

Lynx — настраиваемый текстовый веб-браузер для использования в терминалах, отображающих символы в ячейках, управляемых курсором. По состоянию на 2024 год это старейший из существующих веб-браузеров, который продолжает поддерживаться, разработка которого началась в 1992 году.

История

Lynx был разработан группой Distributed Computing Group в составе Academic Computing Services Университета Канзаса. Изначально он был создан в 1992 году командой студентов и сотрудников университета (Лу Монтулли, Майкл Гроуб и Чарльз Резак) как гипертекстовый браузер, предназначенный исключительно для распространения информации о кампусе в рамках системы Campus Wide Information System и для просмотра ресурсов Gopher. О бета-версии было объявлено в Usenet 22 июля 1992 года. В 1993 году Монтулли добавил поддержку интернет-протоколов и выпустил новую версию (2.0) браузера. Поддержка коммуникационных протоколов в Lynx реализована с использованием версии libwww, ответвленной от кодовой базы библиотеки в 1996 году. Поддерживаемые протоколы включают Gopher, HTTP, HTTPS, FTP, NNTP и WAIS. Поддержка NNTP была добавлена в libwww в результате разработки Lynx в 1994 году. Поддержка HTTPS была добавлена в форк libwww, используемый Lynx, позднее, первоначально в виде патчей из-за опасений, связанных с шифрованием. Гарретт Блайт создал DosLynx в апреле 1994 года и впоследствии присоединился к команде разработчиков Lynx. Фотеос Макридес портировал значительную часть Lynx на VMS и некоторое время поддерживал эту версию. В 1995 году Lynx был выпущен под лицензией GNU General Public License и в настоящее время поддерживается группой добровольцев под руководством Томаса Дикки.

Особенности

Просмотр в Lynx заключается в выделении выбранной ссылки с помощью клавиш курсора или в нумерации всех ссылок на странице и вводе номера нужной ссылки. Современные версии поддерживают SSL и многие функции HTML. Таблицы форматируются пробелами, а фреймы идентифицируются по имени и могут просматриваться как отдельные страницы. Lynx изначально не может отображать различные типы нетекстового контента в сети, такие как изображения и видео, но может запускать внешние программы для их обработки, например, программу просмотра изображений или видеопроигрыватель. В отличие от большинства веб-браузеров, Lynx не поддерживает JavaScript, который необходим для корректной работы многих веб-сайтов. Преимущества скорости просмотра только текста особенно заметны при использовании медленных интернет-соединений или устаревшего компьютерного оборудования, которое может медленно обрабатывать контент с большим количеством изображений.

Конфиденциальность

Поскольку Lynx не поддерживает графику, веб-маячки, отслеживающие информацию о пользователях, не загружаются, что позволяет просматривать веб-страницы без опасений за конфиденциальность, свойственных графическим веб-браузерам. Однако Lynx поддерживает HTTP-куки, которые также могут использоваться для отслеживания информации о пользователях. Поэтому Lynx поддерживает создание списков разрешенных и запрещенных куки, либо же поддержку куки можно полностью отключить. Как и в обычных браузерах, Lynx также поддерживает историю просмотров и кэширование страниц, что также может вызывать опасения по поводу конфиденциальности.

Конфигурационность

Lynx поддерживает как параметры командной строки, так и файлы конфигурации. Согласно сообщению справки, существует 142 параметра командной строки. Шаблонный файл конфигурации lynx.cfg содержит список из 233 настраиваемых функций. Между этими двумя подходами к конфигурации есть некоторое пересечение, однако некоторые параметры командной строки, такие как restrict, не имеют аналогов в lynx.cfg. Помимо предустановленных параметров, задаваемых через командную строку и файл конфигурации, поведение Lynx можно настраивать во время работы с помощью меню опций. Опять же, между настройками есть некоторое дублирование. Lynx реализует многие из этих функций, доступных во время работы, и, опционально (управляемых настройкой в файле конфигурации), позволяет сохранять выбранные параметры в отдельном файле конфигурации с возможностью записи. Ограничение на сохранение параметров возникло из-за способа использования Lynx, который был более распространен в середине 1990-х годов, а именно использования самого Lynx в качестве клиентского приложения для доступа в Интернет через dial-up соединение.

Доступность

Поскольку Lynx — текстовый браузер, он может использоваться для доступа в интернет людьми с нарушениями зрения на дисплеях Брайля с динамической строкой и легко совместим с программами экранного доступа. Поскольку Lynx заменяет изображения, фреймы и другой нетекстовый контент текстом из атрибутов alt, name и title HTML и позволяет скрывать элементы пользовательского интерфейса, этот браузер особенно подходит для использования с недорогим универсальным программным обеспечением для чтения с экрана. Специально улучшенная для работы с программами экранного доступа в Windows версия Lynx была разработана в Индийском технологическом институте Мадраса.

Удаленный доступ

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

Веб-дизайн и роботы

Поскольку Lynx может принимать нажатия клавиш из текстового файла, он по-прежнему очень полезен для автоматизированного ввода данных, навигации по веб-страницам и веб-скрейпинга. Следовательно, Lynx используется в некоторых веб-краулерах. Веб-дизайнеры могут использовать Lynx, чтобы понять, как поисковые системы и веб-краулеры видят разрабатываемые ими сайты. Существуют онлайн-сервисы, предоставляющие представление веб-страниц через Lynx. Lynx также используется для тестирования производительности веб-сайтов. Поскольку браузер можно запускать из разных мест, используя технологии удаленного доступа, такие как telnet и ssh, можно использовать Lynx для одновременного тестирования производительности соединения веб-сайта из различных географических точек. Еще одним применением браузера в веб-дизайне является быстрая проверка работоспособности ссылок на сайте.

Поддерживаемые платформы

Lynx изначально был разработан для Unix-подобных операционных систем. Вскоре после публичного релиза он был портирован на VMS, а затем и на другие системы, включая DOS, Microsoft Windows, Classic Mac OS и OS/2. Lynx входил в стандартную поставку OpenBSD, начиная с версии 2.3 (май 1998 года) и до версии 5.5 (май 2014 года), оставаясь в основном дереве до июля 2014 года, после чего стал доступен через дерево портов. Lynx также можно найти в репозиториях большинства дистрибутивов Linux, а также в репозиториях Homebrew, Fink и MacPorts для macOS. Существуют также порты для BeOS, MINIX, QNX, AmigaOS и OS/2. Исходный код может быть скомпилирован на многих платформах, включая операционную систему Google Android.