Lynx (web browser)

Last updated
Lynx
Original author(s) Lou Montulli, Michael Grobe, Charles Rezac
Developer(s) Thomas Dickey
Initial release1992;32 years ago (1992)
Stable release
2.9.2 [1]   OOjs UI icon edit-ltr-progressive.svg / 31 May 2024;3 months ago (31 May 2024)
Repository
Written in ISO C
Engine fork of libwww
Operating system Unix-like, [2] DOS, Windows, VMS [3]
Available in English
Type Text-based web browser
License GNU GPLv2
Website lynx.invisible-island.net OOjs UI icon edit-ltr-progressive.svg

Lynx is a customizable text-based web browser for use on cursor-addressable character cell terminals. [4] [5] As of 2024, it is the oldest web browser still being maintained, [6] having started in 1992.

Contents

History

Lynx was a product of the Distributed Computing Group within Academic Computing Services of the University of Kansas. [7] [8] It was initially developed in 1992 by a team of students and staff at the university (Lou Montulli, Michael Grobe and Charles Rezac) as a hypertext browser used solely to distribute campus information as part of a Campus-Wide Information System [9] and for browsing the Gopher space. [10] Beta availability was announced to Usenet on 22 July 1992. [11] In 1993, Montulli added an Internet interface and released a new version (2.0) of the browser. [12] [13]

As of July 2007 the support of communication protocols in Lynx is implemented using a version of libwww, [14] forked from the library's code base in 1996. [15] The supported protocols include Gopher, HTTP, HTTPS, FTP, NNTP and WAIS. [5] [16] Support for NNTP was added to libwww from ongoing Lynx development in 1994. [17] Support for HTTPS was added to Lynx's fork of libwww later, initially as patches due to concerns about encryption. [18] [ dead link ]

Garrett Blythe created DosLynx in April 1994 [19] and later joined the Lynx effort as well. Foteos Macrides ported much of Lynx to VMS and maintained it for a time. In 1995, Lynx was released under the GNU General Public License, and is now maintained by a group of volunteers led by Thomas Dickey. [20]

Features

Lynx and Firefox rendering the same page Lynx vs. Firefox rendering.png
Lynx and Firefox rendering the same page

Browsing in Lynx consists of highlighting the chosen link using cursor keys, or having all links on a page numbered and entering the chosen link's number. [21] Current versions support SSL [5] and many HTML features. Tables are formatted using spaces, while frames are identified by name and can be explored as if they were separate pages. Lynx is not inherently able to display various types of non-text content on the web, such as images and video, [4] but it can launch external programs to handle it, such as an image viewer or a video player. [21]

Unlike most web browsers, Lynx does not support JavaScript, which many websites require to work correctly. [22]

The speed benefits of text-only browsing are most apparent when using low bandwidth internet connections, [23] or older computer hardware that may be slow to render image-heavy content.

Privacy

Because Lynx does not support graphics, web bugs that track user information are not fetched, meaning that web pages can be read without the privacy concerns of graphic web browsers. [8] However, Lynx does support HTTP cookies, [4] which can also be used to track user information. Lynx therefore supports cookie whitelisting and blacklisting, or alternatively cookie support can be disabled permanently. [21]

As with conventional browsers, Lynx also supports browsing histories and page caching, [24] both of which can raise privacy concerns. [25]

Configurability

Lynx supports both command-line options and configuration files. There are 142 command-line options according to its help message. The template configuration file lynx.cfg lists 233 configurable features. There is some overlap between the two approaches to configuration, although there are command-line options such as -restrict which are not matched in lynx.cfg. In addition to pre-set options by command-line and configuration file, Lynx's behavior can be adjusted at runtime using its options menu. Again, there is some overlap between the settings. Lynx implements many of these runtime optional features, optionally (controlled through a setting in the configuration file) allowing the choices to be saved to a separate writable configuration file. The reason for restricting the options which can be saved originated in a usage of Lynx which was more common in the mid-1990s, i.e., using Lynx itself as a front-end application to the Internet accessed by dial-in connections. [26] [27] [21]

Accessibility

Because Lynx is a text-based browser, it can be used for internet access by visually impaired users on a refreshable braille display and is easily compatible with text-to-speech software. [28] [10] [16] As Lynx substitutes images, frames and other non-textual content with the text from alt, name and title HTML attributes [29] and allows hiding the user interface elements, [30] the browser becomes specifically suitable for use with cost-effective general purpose screen reading software. [31] [32] [33] A version of Lynx specifically enhanced for use with screen readers on Windows was developed at Indian Institute of Technology Madras. [34]

Remote access

Lynx is also useful for accessing websites from a remotely connected system in which no graphical display is available. [35] [36] [37] Despite its text-only nature and age, it can still be used to effectively browse much of the modern web, including performing interactive tasks such as editing Wikipedia. [24] [38] [39]

Web design and robots

Since Lynx will take keystrokes from a text file, it is still very useful for automated data entry, web page navigation, and web scraping. Consequently, Lynx is used in some web crawlers. [40] Web designers may use Lynx to determine the way in which search engines and web crawlers see the sites that they develop. [41] [42] [43] Online services that provide Lynx's view of a given web page are available. [44]

Lynx is also used to test websites' performance. As one can run the browser from different locations over remote access technologies like telnet and ssh, one can use Lynx to test the web site's connection performance from different geographical locations simultaneously. [38] Another possible web design application of the browser is quick checking of the site's links. [45]

Supported platforms

Icon for OS/2 port Lynx2.gif
Icon for OS/2 port

Lynx was originally designed for Unix-like operating systems. It was ported to VMS soon after its public release[ citation needed ] and to other systems, including DOS, Microsoft Windows, Classic Mac OS and OS/2. [7] It was included in the default OpenBSD installation from OpenBSD 2.3 (May 1998) [46] to 5.5(May 2014), [47] being in the main tree prior to July 2014, [48] subsequently being made available through the ports tree. [49] Lynx can also be found in the repositories of most Linux distributions, as well as in the Homebrew, [50] Fink, and MacPorts repositories for macOS. [39] Ports to BeOS, MINIX, QNX, AmigaOS [51] and OS/2 [8] are also available.

The sources can be built on many platforms, such as Google's Android operating system. [52]

See also

Notes

  1. Thomas E. Dickey (31 May 2024). "ANN: lynx2.9.2" . Retrieved 1 June 2024.
  2. Nelson, H. (24 April 1999). "Lynx Installation Guide". lynx.invisible-island.net. Archived from the original on 5 June 2017. Retrieved 11 June 2017.
  3. Dickey, Thomas (11 September 2015). "Lynx2.8.8[sic]". lynx.invisible-island.net. Archived from the original on 18 June 2017. Retrieved 11 June 2017.
  4. 1 2 3 Rakitin 1997.
  5. 1 2 3 Legan 2001.
  6. "Lynx current development". TecMint. 2016-04-27. Retrieved 2024-09-08.
  7. 1 2 Paciello 2000, pp. 154–155.
  8. 1 2 3 Legan 2002.
  9. Ernest Perez (September 1993). "State Library Online Information System uses a Hypertext Front End". ACM Siglink. II (2). Association for Computing Machinery: 3. doi:10.1145/164399.164402. S2CID   18875929. Archived from the original on December 7, 2023. Retrieved December 6, 2023.
  10. 1 2 Bolso 2005.
  11. Montulli 1992.
  12. Stewart 2000.
  13. Nelson 2000.
  14. Kahan 1999.
  15. Dickey 2007.
  16. 1 2 Seltzer 1995.
  17. Kahan 2002.
  18. Nestrud 2000.
  19. Buttles 1994.
  20. JUAN FERRER MARTÍNEZ (1 January 2015). UF1302 - Creación de páginas web con el lenguaje de marcas. Ediciones Paraninfo, S.A. pp. 73–. ISBN   978-84-283-9827-5.
  21. 1 2 3 4 User's Guide.
  22. Wallen 2011.
  23. "What is Lynx, and how do I use it?". Indiana University . 2018-01-18. Archived from the original on 2022-09-15. Retrieved 2022-09-16.
  24. 1 2 Senjen & Guthrey 1996, pp. 136–139.
  25. Timmer 2010.
  26. Help file.
  27. Configuration file.
  28. Paciello 2000, p. 157.
  29. RNIB 2011.
  30. Rosmaita 1996.
  31. Dixon 2004.
  32. Rosmaita.
  33. Sajka 1999.
  34. Achraya 2006.
  35. Wayner 2010.
  36. Chapman 2003.
  37. Killelea 2002, p. 9.
  38. 1 2 Killelea 2002, pp. 60–61.
  39. 1 2 Taylor 2005, pp. 225–227.
  40. "Blog::Quibb » Crawling the Web With Lynx" . Retrieved 2024-07-19.
  41. King 2008, pp. 44–46.
  42. Bartlett 2006.
  43. Rognerud 2010, p. 187.
  44. Paciello 2000, p. 135.
  45. Killelea 2002, p. 178.
  46. OpenBSD23.
  47. OpenBSD55.
  48. de Raadt 2014.
  49. OpenBSDport.
  50. "Homebrew Formulae". Homebrew. Archived from the original on January 24, 2019. Retrieved January 23, 2019.
  51. Marquardt 1995.
  52. "[APP] Compiled lynx binary for android - Shell or ADB". XDA Developers. 27 July 2011. Archived from the original on 2016-06-29. Retrieved 2016-05-27.

Related Research Articles

<span class="mw-page-title-main">Links (web browser)</span> Web browser

Links is a free software text and graphical web browser with a pull-down menu system. It renders complex pages, has partial HTML 4.0 support, supports color and monochrome terminals, and allows horizontal scrolling.

w3m Command line web browser

w3m is a free and open source text-based web browser licensed under the MIT license. It differs from other text-based browsers by supporting elements such as tables, frames, and images.

<span class="mw-page-title-main">Dillo</span> Minimal, lightweight web browser

Dillo is a minimalistic web browser particularly intended for older or slower computers and embedded systems. It supports only plain HTML/XHTML and images over HTTP and HTTPS; scripting is ignored entirely. Current versions of Dillo can run on Linux, BSD, OS X, IRIX and Cygwin. Due to its small size, it was the browser of choice in several space-conscious Linux distributions. Dillo is free software, released under the GNU GPL-3.0-or-later.

<span class="mw-page-title-main">Squid (software)</span> Caching and forwarding HTTP web proxy

Squid is a caching and forwarding HTTP web proxy. It has a wide variety of uses, including speeding up a web server by caching repeated requests, caching World Wide Web (WWW), Domain Name System (DNS), and other network lookups for a group of people sharing network resources, and aiding security by filtering traffic. Although used for mainly HTTP and File Transfer Protocol (FTP), Squid includes limited support for several other protocols including Internet Gopher, Secure Sockets Layer (SSL), Transport Layer Security (TLS), and Hypertext Transfer Protocol Secure (HTTPS). Squid does not support the SOCKS protocol, unlike Privoxy, with which Squid can be used in order to provide SOCKS support.

<span class="mw-page-title-main">SQLite</span> Serverless relational database management system (RDBMS)

SQLite is a database engine written in the C programming language. It is not a standalone app; rather, it is a library that software developers embed in their apps. As such, it belongs to the family of embedded databases. It is the most widely deployed database engine, as it is used by several of the top web browsers, operating systems, mobile phones, and other embedded systems.

<span class="mw-page-title-main">Browser wars</span> Competition between web browsing applications for share of worldwide usage

A browser war is a competition for dominance in the usage share of web browsers. The "first browser war" (1995–2001) consisted of Internet Explorer and Netscape Navigator, and the "second browser war" (2004-2017) between Internet Explorer, Firefox, and Google Chrome.

<span class="mw-page-title-main">Line Mode Browser</span> Command-line web browser

The Line Mode Browser is the second web browser ever created. The browser was the first demonstrated to be portable to several different operating systems. Operated from a simple command-line interface, it could be widely used on many computers and computer terminals throughout the Internet. The browser was developed starting in 1990, and then supported by the World Wide Web Consortium (W3C) as an example and test application for the libwww library.

The blink element is a non-standard HTML element that indicates to a user agent that the page author intends the content of the element to blink. The element was introduced in Netscape Navigator but is no longer supported and often ignored by modern Web browsers; some, such as Internet Explorer, never supported the element at all.

<span class="mw-page-title-main">Kexi</span> KDE visual database applications creator

Kexi is a visual database applications creator tool by KDE, designed to fill the gap between spreadsheets and database solutions requiring more sophisticated development. Kexi can be used for designing and implementing databases, data inserting and processing, and performing queries. It is developed within the Calligra project but is released separately.

seccomp is a computer security facility in the Linux kernel. seccomp allows a process to make a one-way transition into a "secure" state where it cannot make any system calls except exit , sigreturn , read and write to already-open file descriptors. Should it attempt any other system calls, the kernel will either just log the event or terminate the process with SIGKILL or SIGSYS. In this sense, it does not virtualize the system's resources but isolates the process from them entirely.

<span class="mw-page-title-main">Libwww</span>

Libwww is an early World Wide Web software library providing core functions for web browsers, implementing HTML, HTTP, and other technologies. Tim Berners-Lee, at the European Organization for Nuclear Research (CERN), released libwww in late 1992, comprising reusable code from the first browsers.

This is a technical feature comparison of different disk encryption software.

<span class="mw-page-title-main">PeaZip</span> File archive computer program

PeaZip is a free and open-source file manager and file archiver for Microsoft Windows, ReactOS, Linux, MacOS and BSD by Giorgio Tani. It supports its native PEA archive format and other mainstream formats, with special focus on handling open formats. Version 9.4.0 supported 234 file extensions.


This is a comparison of notable free and open-source configuration management software, suitable for tasks like server configuration, orchestration and infrastructure as code typically performed by a system administrator.

Gears, formerly Google Gears, is a discontinued utility software offered by Google to create more powerful web apps by adding offline storage and other additional features to web browsers. Released under the BSD license, Gears is free and open-source. Gears was conceived at a time when a comparable alternative was not available. However, Gears was discontinued in favor of the standardized HTML5 methods that eventually became prevalent.

A web browser is a software application for retrieving, presenting and traversing information resources on the World Wide Web. It further provides for the capture or input of information which may be returned to the presenting system, then stored or processed as necessary. The method of accessing a particular page or content is achieved by entering its address, known as a Uniform Resource Identifier or URI. This may be a web page, image, video, or other piece of content. Hyperlinks present in resources enable users easily to navigate their browsers to related resources. A web browser can also be defined as an application software or program designed to enable users to access, retrieve and view documents and other resources on the Internet.

<span class="mw-page-title-main">Uzbl</span> Open source minimalist web browser

Uzbl is a discontinued free and open-source minimalist web browser designed for simplicity and adherence to the Unix philosophy. Development began in early 2009 and is still considered in alpha software by the developers. The core component of Uzbl is written in C, but other languages are also used, most notably Python. All parts of the Uzbl project are released as free software under GNU GPL-3.0-only.

xombrero Minimalistic web browser designed to replace Firefox

xombrero is a discontinued open-source web browser developed with a goal to be a lightweight and secure replacement for full featured browsers like Firefox. The browser has found a niche among minimalist browsers for heavy keyboard users by balancing minimalism with usability.

ownCloud Free software for cloud computing

ownCloud, a Kiteworks Company, is a free and open-source software project for content collaboration and sharing and syncing of files in distributed and federated enterprise scenarios. It allows companies and remote end-users to organize their documents on servers, computers, and mobile devices and work with them collaboratively while keeping a centrally organized and synchronized state.

A lightweight web browser is a web browser that sacrifices some of the features of a mainstream web browser in order to reduce the consumption of system resources, and especially to minimize the memory footprint.

References