LYNX(1)

๐ŸŒธ LYNX(1) โ€” the manual page, bestie edition ๐ŸŒธ

ok so you opened the manual for lynx (yes, section 1, we love a classic) and you're about to get the whole thing, no skips, no "lol tl;dr". grab a snack. ๐Ÿ’…


โœจ NAME โœจ

lynx โ€” a general purpose distributed information browser for the World Wide Web ๐Ÿ’–

like... it's a browser. it browses. it's for the whole entire web. iconic behavior.


โœจ SYNOPSIS โœจ

lynx [options] [optional paths or URLs]

lynx [options] [path or URL] -get_data
data
--

lynx [options] [path or URL] -post_data
data
--

and hmm, if you want the actual, current, complete list of options, run lynx -help. that's the cheat code, no cap. โœจ


โœจ DESCRIPTION โœจ

Lynx is a fully-featured World Wide Web (WWW) client for users running cursor-addressable, character-cell display devices โ€” like, say, vt100 terminals, vt100 emulators running on Windows or any POSIX platform, or literally any other "curses-oriented" display. ๐ŸŽ€ It will display hypertext markup language (HTML) documents containing links to files residing on the local system, and files residing on remote systems running Gopher, HTTP, FTP, WAIS, and NNTP servers. look at her go, she does all of that.

Lynx has been ported to many systems, including all variants of Unix, Windows (since Windows 95), DOS DJGPP and OS/2, as well as VMS and OS/390. she's been everywhere. main character energy fr. ๐Ÿ‘‘

Lynx can be used to access information on the World Wide Web, or to build information systems intended primarily for local access. for example, Lynx has been used to build several Campus Wide Information Systems (CWIS). plus, Lynx can be used to build systems isolated within a single LAN. versatile queen. ๐ŸŒˆ


โœจ OPTIONS โœจ

At start up, Lynx will load any local file or remote URL specified at the command line. need help with URLs? press ? or H while running Lynx, then follow the link titled, "Help on URLs." easy. ๐Ÿฆ‹

If more than one local file or remote URL is listed on the command line, Lynx will open only the last one interactively. ๐Ÿ˜ญ all of the names (local files and remote URLs) are added to the G)oto history though, so nothing is truly lost.

Lynx uses only long option names. option names can begin with double dash -- as well, and underscores and dashes can be intermixed in option names (in the reference below, options are shown with one dash - before them, and with underscores _). mix and match, she doesn't care. ๐Ÿ’…

Lynx provides many command-line options. some options require a value (string, number or keyword) โ€” those are noted in the reference below. the other options set boolean values in the program. there are three types of boolean options: set, unset and toggle. if no option value is given, these have the obvious meaning: set (to true), unset (to false), or toggle (between true/false). and for any of these, an explicit value can be given in different forms to allow for operating system constraints, e.g.,

    -center:off
    -center=off
    -center-

Lynx recognizes 1, +, on and true for true values, and 0, -, off and false for false values. other option-values are ignored. ๐Ÿ™ˆ

The default boolean, number and string option values that are compiled into Lynx are displayed in the help-message provided by lynx -help. some of those may differ according to how Lynx was built; see the help message itself for these values. the -help option is processed in the third pass of options-processing, so any option which sets a value, as well as runtime configuration values, are reflected in the help-message. sneaky but valid. โญ


ok now the actual options. there are a LOT. hydrate. ๐Ÿ’œ

  • - โ€” if the argument is only -, then Lynx expects to receive the arguments from the standard input. this is to allow for the potentially very long command line that can be associated with the -get_data or -post_data arguments (see below). it can also be used to avoid having sensitive information in the invoking command line (which would be visible to other processes on most systems), especially when the -auth or -pauth options are used. safety first, bestie. ๐Ÿซถ
  • -accept_all_cookies โ€” accept all cookies without prompting if Set-Cookie handling is on. the default is off.
  • -anonymous โ€” apply restrictions for anonymous account, see also -restrictions.
  • -assume_charset=MIMEname โ€” charset for documents that do not specify it.
  • -assume_local_charset=MIMEname โ€” charset assumed for local files, i.e., files which Lynx creates such as internal pages for the options menu.
  • -assume_unrec_charset=MIMEname โ€” use this instead of unrecognized charsets.
  • -auth=ID:PASSWD โ€” set authorization ID and password for protected documents at startup. ๐Ÿšจ be sure to protect any script files which use this switch. seriously, lock those down.
  • -base โ€” prepend a request URL comment and BASE tag to text/html outputs for -source dumps.
  • -bibhost=URL โ€” specify a local bibp server (default http://bibhost/).
  • -blink โ€” forces high intensity background colors for color mode, if available and supported by the terminal. this applies to the slang library (for a few terminal emulators), or to OS/2 EMX with ncurses. โœจ
  • -book โ€” use the bookmark page as the startfile. the default or command line startfile is still set for the Main screen command, and will be used if the bookmark page is unavailable or blank. the default is off.
  • -buried_news โ€” toggles scanning of news articles for buried references, and converts them to news links. โš ๏ธ not recommended because email addresses enclosed in angle brackets will be converted to false news links, and uuencoded messages can be trashed. the default is on. like... it's on by default but she's telling you not to. ๐Ÿ˜ญ
  • -cache=NUMBER โ€” set the NUMBER of documents cached in memory. the default is 10.
  • -case โ€” enable case-sensitive string searching. the default is off.
  • -center โ€” toggles center alignment in HTML TABLE. normally table cells are centered on the table grid. set this option on to disable centering. the default is off. (yes, "set it on to turn it off", she said what she said ๐Ÿ’€)
  • -cfg=FILENAME โ€” specifies a Lynx configuration file other than the default lynx.cfg.
  • -child โ€” exit on left-arrow in startfile, and disable save to disk and associated print/mail options. the default is off.
  • -child_relaxed โ€” exit on left-arrow in startfile, but allow save to disk and associated print/mail options. the default is off.
  • -cmd_log=FILENAME โ€” write keystroke commands and related information to the specified file.
  • -cmd_script=FILENAME โ€” read keystroke commands from the specified file. you can use the data written using the -cmd_log option. Lynx will ignore other information which the command-logging may have written to the logfile. each line of the command script contains either a comment beginning with #, or a keyword:
    • exit โ€” causes the script to stop, and forces Lynx to exit immediately.
    • key โ€” the character value, in printable form. cursor and other special keys are given as names, e.g., Down Arrow. printable 7-bit ASCII codes are given as-is, and hexadecimal values represent other 8-bit codes.
    • set โ€” followed by a name=value allows one to override values set in the lynx.cfg or .lynxrc files. Lynx tries the cfg-file setting first.
  • -collapse_br_tags โ€” toggles collapsing of BR tags. the default is off.
  • -color โ€” forces color mode on, if available. default color control sequences which work for many terminal types are assumed if the terminal capability description does not specify how to handle color. Lynx accepts this flag only when built with the slang library. it is equivalent to setting the COLORTERM environment variable. ๐ŸŽจ

If color support is provided by a color-capable curses library such as ncurses, Lynx relies completely on the terminal description to determine whether color mode is possible, and this flag is not needed and thus unavailable.

A saved show_color=always setting found in a .lynxrc file at startup has the same effect. a saved show_color=never found in .lynxrc on startup is overridden by this flag. ๐Ÿ‘‘

  • -connect_timeout=N โ€” Sets the connection timeout, where N is given in seconds. the default is 300.
  • -convert_to=PARAM โ€” convert input, setting output format in MIME type notation (e.g., www/present, www/source), and optionally setting the current character set (i.e., adding ; followed by charset=VALUE).
  • -cookie_file=FILENAME โ€” specifies a file to use to read cookies. if none is specified, the default value is ~/.lynx_cookies for most systems, but ~/cookies for MS-DOS. ๐Ÿช
  • -cookie_save_file=FILENAME โ€” specifies a file to use to store cookies. if none is specified, the value given by -cookie_file is used.
  • -cookies โ€” toggles handling of Set-Cookie headers. the default is on.
  • -core โ€” toggles forced core dumps on fatal errors. turn this option off to ask Lynx to force a core dump if a fatal error occurs. the default is off.
  • -crawl โ€” with -traversal, output each page to a file. with -dump, format output as with -traversal, but to the standard output.
  • -curses_pads โ€” toggles the use of curses "pad" feature which supports left/right scrolling of the display. the default is on.

The feature is normally available for curses configurations, but inactive. to activate it, use the | character or the LINEWRAP_TOGGLE command. toggling this option makes the feature altogether unavailable.

  • -debug_partial โ€” separate incremental display stages with MessageSecs delay. the default is off.
  • -default_colors โ€” toggles the default-colors feature which is normally set in the lynx.cfg file. the default is on.
  • -delay โ€” add DebugSecs delay after each progress-message. the default is 0.
  • -display=DISPLAY โ€” set the $DISPLAY variable for X exec-ed programs.
  • -display_charset=MIMEname โ€” set the charset for the terminal output.
  • -dont_wrap_pre โ€” inhibit wrapping of text when -dump'ing and -crawl'ing, mark wrapped lines of <pre> in interactive session. the default is off.
  • -dump โ€” dumps the formatted output of the default document or those specified on the command line to standard output. unlike interactive mode, all documents are processed. ๐Ÿ“„ this can be used in the following way:
    lynx -dump https://lynx.invisible-island.net/

Files specified on the command line are formatted as HTML if their names end with one of the standard web suffixes such as .htm or .html. use the -force_html option to format files whose names do not follow this convention. ๐ŸŒธ


ok that's the end of part 1!! don't go anywhere, there's so much more โ€” the options keep going and going and she is not done. ๐Ÿ’–

  • -editor=EDITOR โ€” okay so this enables external editing, using the EDITOR you specify. Think vi, ed, emacs, etc. ๐Ÿ’…
  • -emacskeys โ€” enables emacs-like key movement. Default is off. โœจ
  • -enable_scrollback โ€” toggles compatibility with communication programs' scrollback keys (may be incompatible with some curses packages, bestie ๐Ÿ˜ฌ). Default is off.
  • -error_file=FILE โ€” defines a file where Lynx reports HTTP access codes. ๐Ÿ“
  • -exec โ€” enable local program execution (normally not configured). ๐Ÿ‘‘
  • -fileversions โ€” include all versions of files in local VMS directory listings. ๐Ÿ—‚๏ธ
  • -find_leaks โ€” toggle memory leak-checking. Normally this isn't compiled into your executable, but when it is, it can be disabled for a session. ๐Ÿ”
  • -fail_on_alert โ€” exit with an error code if any alert message is written. Default is off. ๐Ÿšจ
  • -force_empty_hrefless_a โ€” force HREF-less โ€œAโ€ elements to be empty (close them as soon as they're seen). Default is off. ๐Ÿซถ
  • -force_html โ€” forces the first document to be interpreted as HTML. Default is off. ๐Ÿงš

This is highkey most useful when you're processing files specified on the command line that have an unrecognized suffix (or the suffix is tied to a non-HTML type, like .txt for plain text files).

Lynx recognizes these file suffixes as HTML: .ht3, .htm, .html3, .html, .htmlx, .php3, .php, .phtml, .sht, and .shtml. ๐Ÿ’–

  • -force_secure โ€” toggles forcing of the secure flag for SSL cookies. Default is off. ๐Ÿ”
  • -forms_options โ€” toggles whether the Options Menu is key-based or form-based. Default is on. ๐Ÿ“
  • -from โ€” toggles transmissions of From headers. Default is on. ๐Ÿ“จ
  • -ftp โ€” disable ftp access. Default is off. ๐Ÿšซ
  • -get_data โ€” properly formatted data for a get form are read from the standard input and passed to the form. Input is terminated by a line that starts with ---. ๐ŸŽ€

Lynx issues an HTTP GET, sending the form to the path or URL given on the command-line and prints the response of the server. If no path or URL is given, Lynx sends the form to the start-page. ๐ŸŒธ

  • -head โ€” send a HEAD request for the mime headers. Default is off. ๐Ÿง 
  • -help โ€” print the Lynx command syntax usage message, and exit. ๐Ÿ™‹
  • -hiddenlinks=[option] โ€” control the display of hidden links. ๐Ÿ‘€
    • merge โ€” hidden links show up as bracketed numbers and are numbered together with other links in the sequence of their occurrence in the document.
    • listonly โ€” hidden links are shown only on L)ist screens and listings generated by -dump or from the P)rint menu, but appear separately at the end of those lists. This is the default behavior.
    • ignore โ€” hidden links do not appear even in listings.
  • -historical โ€” toggles use of > or --> as a terminator for comments. Default is off. ๐Ÿ“œ
  • -homepage=URL โ€” set homepage separate from start page. ๐Ÿ 
  • -html5_charset โ€” toggles use of HTML5 charset replacements. HTML5 pretends that CP1252 is the same as ISO-8859-1. Default is off. ๐ŸŒ
  • -image_links โ€” toggles inclusion of links for all images. Default is off. ๐Ÿ–ผ๏ธ
  • -index=URL โ€” set the default index file to the specified URL. ๐Ÿ“‡
  • -ismap โ€” toggles inclusion of ISMAP links when client-side MAPs are present. Default is off. ๐Ÿ—บ๏ธ
  • -justify โ€” do justification of text. Default is off. ๐Ÿ“
  • -link=NUMBER โ€” starting count for lnk#.dat files produced by -crawl. Default is 0. ๐Ÿ”ข
  • -list_decoded โ€” for -dump, show URL-encoded links decoded. Default is on. โœจ

Lynx accepts URL-encoded links on the command line, and decodes them for internal use. When printing URLs, it shows them in encoded form by default. Use this option to disable that printed encoding. ๐Ÿซถ

  • -list_inline โ€” for -dump, show the links inline with the text. Default is off. ๐Ÿ“
  • -listonly โ€” for -dump, show only the list of links. Default is off. ๐Ÿ“‹
  • -localhost โ€” disable URLs that point to remote hosts. Default is off. ๐Ÿ 
  • -locexec โ€” enable local program execution from local files only (if Lynx was compiled with local execution enabled). Default is off. ๐Ÿ’ป
  • -lss=FILENAME โ€” specify filename containing color-style information. Default is lynx.lss. If you give an empty filename, Lynx uses a built-in monochrome scheme which imitates the non-color-style configuration. ๐ŸŽจ
  • -mime_header โ€” prints the MIME header of a fetched document along with its source. ๐Ÿ“„
  • -minimal โ€” toggles minimal versus valid comment parsing. Default is on. ๐Ÿง˜
  • -nested_tables โ€” toggles nested-tables logic (for debugging). Default is on. ๐Ÿช†
  • -newschunksize=NUMBER โ€” number of articles in chunked news listings. ๐Ÿ“ฐ
  • -newsmaxchunk=NUMBER โ€” maximum news articles in listings before chunking. ๐Ÿ“ฐ
  • -nobold โ€” disable bold video-attribute. ๐Ÿšซ
  • -nobrowse โ€” disable directory browsing. ๐Ÿšซ
  • -nocc โ€” disable Cc: prompts for self copies of mailings. Note that this does not disable any CCs which are incorporated within a mailto URL or form ACTION. ๐Ÿ“ง
  • -nocolor โ€” force color mode off, overriding terminal capabilities and any -color flags, COLORTERM variable, and saved .lynxrc settings. ๐ŸŒˆ๐Ÿšซ
  • -noexec โ€” disable local program execution. Default is on. ๐Ÿšซ
  • -nofilereferer โ€” disable transmissions of Referer headers for file URLs. Default is on. ๐Ÿ“Ž
  • -nolist โ€” disable the link list feature in dumps. Default is off. ๐Ÿ“ƒ
  • -nolog โ€” disable mailing of error messages to document owners. Default is on. ๐Ÿ“ช
  • -nomargins โ€” disable left/right margins in the default style sheet. Default is off. ๐Ÿ“
  • -nomore โ€” disable -more- string in statusline messages. ๐Ÿ’ฌ
  • -nonrestarting_sigwinch โ€” This flag is not available on all systems; Lynx needs to be compiled with HAVE_SIGACTION defined. If available, this flag may cause Lynx to react more immediately to window changes when run within an xterm. Default is off. ๐ŸชŸ
  • -nonumbers โ€” disable link- and field-numbering. This overrides -number_fields and -number_links. Default is off. ๐Ÿ”ข๐Ÿšซ
  • -nopause โ€” disable forced pauses for statusline messages. Default is off. โธ๏ธ
  • -noprint โ€” disable most print functions. Default is off. ๐Ÿ–จ๏ธ๐Ÿšซ
  • -noredir โ€” prevents automatic redirection and prints a message with a link to the new URL. Default is off. ๐Ÿ”„
  • -noreferer โ€” disable transmissions of Referer headers. Default is off. ๐Ÿ“Ž
  • -noreverse โ€” disable reverse video-attribute. ๐Ÿ”„
  • -nosocks โ€” disable SOCKS proxy usage by a SOCKSified Lynx. ๐Ÿงฆ
  • -nostatus โ€” disable the retrieval status messages. Default is off. ๐Ÿ“Š
  • -notitle โ€” disable title and blank line from top of page. Default is off. ๐Ÿ“„
  • -nounderline โ€” disable underline video-attribute. ๐Ÿšซ
  • -nozap=DURATION โ€” disables checks for z key initially if DURATION is initially, or completely otherwise. โšก
  • -number_fields โ€” force numbering of links as well as form input fields. Default is off. ๐Ÿ”ข
  • -number_links โ€” force numbering of links. Default is off. ๐Ÿ”ข
  • -partial โ€” toggles display partial pages while loading. Default is on. ๐Ÿ“„
  • -partial_thres=NUMBER โ€” number of lines to render before repainting display with partial-display logic. ๐Ÿ“
  • -passive_ftp โ€” toggles passive ftp connections. Default is on. ๐Ÿ“ก
  • -pauth=ID:PASSWD โ€” set authorization ID and password for a protected proxy server at startup. Be sure to protect any script files which use this switch. ๐Ÿ”
  • -popup โ€” toggles handling of single-choice SELECT options via popup windows or as lists of radio buttons. Default is off. ๐ŸชŸ
  • -post_data โ€” properly formatted data for a post form are read in from the standard input and passed to the form. Input is terminated by a line that starts with ---. ๐Ÿ“จ

Lynx issues an HTTP POST, sending the form to the path or URL given on the command-line and prints the response of the server. If no path or URL is given, Lynx sends the form to the start-page. ๐ŸŒธ

  • -preparsed โ€” show HTML source preparsed and reformatted when used with -source or in source view to visualize how lynx behaves with invalid HTML. Default is off. ๐Ÿง
  • -prettysrc โ€” show HTML source view with lexical elements and tags in color. Default is off. ๐ŸŽจ
  • -print โ€” enable print functions. (default) This is the opposite of -noprint. Default is on. ๐Ÿ–จ๏ธ
  • -pseudo_inlines โ€” toggles pseudo-ALTs for inline images with no ALT string. Default is on. ๐Ÿ–ผ๏ธ
  • -raw โ€” toggles default setting of 8-bit character translations or CJK mode for the startup character set. Default is off. ๐Ÿ”ค
  • -realm โ€” restricts access to URLs in the starting realm. Default is off. ๐Ÿ›ก๏ธ
  • -read_timeout=N โ€” Sets the read-timeout, where N is given in seconds. Default is 18000. โฑ๏ธ
  • -reload โ€” flushes the cache on a proxy server (only the first document given on the command-line is affected). Default is off. ๐Ÿ”„
  • -restrictions=[option][,option][,option]... โ€” allows a list of services to be disabled selectively. Dashes and underscores in option names can be intermixed. The following list is printed if no options are specified. ๐Ÿšง
    • all โ€” restricts all options listed below.
    • bookmark โ€” disallow changing the location of the bookmark file.
    • bookmark_exec โ€” disallow execution links via the bookmark file.
  • change_exec_perms โ€” nope, you do not get to flip the eXecute permission on files when local file management is onโ€ฆ though directories? directories are still fine, directories can stay slaying ๐Ÿ’…
    • default โ€” literally the same as the command line option -anonymous. It kills the default services for anonymous users. Everything's set to restricted except for these little icons:

inside_telnet, outside_telnet, inside_ftp, outside_ftp, inside_rlogin, outside_rlogin, inside_news, outside_news, telnet_port, jump, mail, print, exec, and goto.

And bestie, the settings for those, plus the extra goto restrictions for specific URL schemes that also get applied, all come from definitions inside userdefs.h. periodt.

  • dired_support โ€” no local file management for you, sorry babes ๐Ÿšซ
  • disk_save โ€” saving to disk in the download and print menus? not allowed. it's giving read-only energy.
  • dotfiles โ€” no touching, no making hidden (dot) files. the dotfiles stay mysterious โœจ
  • download โ€” blocks some downloaders in the download menu (heads up: this does not imply the disk_save restriction).
  • editor โ€” external editing is off the table, sobs ๐Ÿ˜ญ
  • exec โ€” execution scripts are disabled.
  • exec_frozen โ€” the user cannot change the local execution option. frozen literally means frozen ๐ŸงŠ
  • exec_frozen's cousin externals โ€” if support for passing URLs to external applications (that's the EXTERN command) is compiled in, then some โ€œEXTERNALโ€ configuration lines get disallowed.
  • file_url โ€” no using G)oto, served links or bookmarks for file: URLs. nope nope nope.
  • goto โ€” the โ€œgโ€ (goto) command is disabled, gone, bye ๐Ÿฆ‹
  • inside_ftp โ€” disallows ftps for people coming from inside your domain (utmp required for selectivity โ€” iykyk).
  • inside_news โ€” disallows USENET news posting for people inside your domain (utmp required for selectivity).
  • inside_rlogin โ€” disallows rlogins for people coming from inside your domain (utmp required for selectivity).
  • inside_telnet โ€” disallows telnets for people coming from inside your domain (utmp required for selectivity).
  • jump โ€” the โ€œjโ€ (jump) command gets disabled. no jumping bestie.
  • multibook โ€” multiple bookmarks are a no. one bookmark, and that's the vibe.
  • mail โ€” disallows mail. the inbox stays empty ๐Ÿ’Œ
  • news_post โ€” no USENET News posting.
  • options_save โ€” you can't save options in .lynxrc.
  • outside_ftp โ€” disallows ftps for people coming from outside your domain (utmp required for selectivity).
  • outside_news โ€” disallows USENET news reading and posting for people coming from outside your domain (utmp required for selectivity). This restriction applies to โ€œnewsโ€, โ€œnntpโ€, โ€œnewspostโ€, and โ€œnewsreplyโ€ URLs โ€” but not to โ€œsnewsโ€, โ€œsnewspostโ€, or โ€œsnewsreplyโ€, in case they are supported. sneaky little s-ones ๐Ÿ‘€
  • outside_rlogin โ€” disallows rlogins for people coming from outside your domain (utmp required for selectivity).
  • outside_telnet โ€” disallows telnets for people coming from outside your domain (utmp required for selectivity).
  • print โ€” disallows most print options. no printing, it's giving screens-only โœจ
  • shell โ€” shell escapes get disallowed, and so do lynxexec or lynxprog G)oto's.
  • suspend โ€” no Unix Control-Z suspends with escape to shell. the app is staying put ๐Ÿ’€
  • telnet_port โ€” you can't specify a port in telnet G)oto's.
  • useragent โ€” modifications of the User-Agent header are disallowed. the header stays untouched ๐ŸŒธ
  • -resubmit_posts โ€” toggles forced resubmissions (no-cache) of forms with method POST when the documents they returned are sought with the PREV_DOC command or from the History List. The default is โ€œoffโ€.
  • -rlogin โ€” disable recognition of rlogin commands. The default is โ€œoffโ€.
  • -scrollbar โ€” toggles showing scrollbar. The default is โ€œoffโ€.
  • -scrollbar_arrow โ€” toggles showing arrows at ends of the scrollbar. The default is โ€œonโ€. ๐ŸŽ€
  • -selective โ€” require .www_browsable files to browse directories.
  • -session=FILENAME โ€” resumes from specified file on startup and saves session to that file on exit.
  • -sessionin=FILENAME โ€” resumes session from specified file.
  • -sessionout=FILENAME โ€” saves session to specified file.
  • -short_url โ€” show very long URLs in the status line with โ€œ...โ€ to represent the portion which cannot be displayed. The beginning and end of the URL are displayed, rather than suppressing the end. The default is โ€œoffโ€.
  • -show_cfg โ€” Print the configuration settings, e.g., as read from โ€œlynx.cfgโ€, and exit. The default is โ€œoffโ€.
  • -show_cursor โ€” If enabled the cursor will not be hidden in the right hand corner but will instead be positioned at the start of the currently selected link. Show cursor is the default for systems without FANCY_CURSES capabilities. The default configuration can be changed in userdefs.h or lynx.cfg. The command line switch toggles the default. The default is โ€œonโ€. main character cursor energy fr ๐Ÿ‘‘
  • -show_rate โ€” If enabled the transfer rate is shown in bytes/second. If disabled, no transfer rate is shown. Use lynx.cfg or the options menu to select KB/second and/or ETA. The default is โ€œonโ€.
  • -socks5_proxy=URL โ€” Tells lynx which SOCKS5 proxy to use for connections. Any network traffic, including all DNS resolutions except the one for URL itself, will be redirected through the SOCKS5 proxy.

The URL may be given as

    โ€œproxy.example.comโ€,
    โ€œproxy.example.com:1080โ€,
    โ€œ192.168.0.1โ€, or
    โ€œ192.168.0.1:1080โ€

(and IPv6 notation if so supported). A SOCKS5 proxy may also be specified via the environment variable SOCKS5_PROXY. Heads up: this option controls the builtin SOCKS5 support, which is unrelated to the option -nosocks. don't mix them up bestie ๐Ÿ™ˆ

  • -soft_dquotes โ€” toggles emulation of the old Netscape and Mosaic bug which treated โ€œ>โ€ as a co-terminator for double-quotes and tags. The default is โ€œoffโ€.
  • -source โ€” works the same as dump but outputs HTML source instead of formatted text. For example
    lynx -source . >foo.html

generates HTML source listing the files in the current directory. Each file is marked by an HREF relative to the parent directory. Add a trailing slash to make the HREF's relative to the current directory:

    lynx -source ./ >foo.html
  • -stack_dump โ€” disable SIGINT cleanup handler The default is โ€œoffโ€.
  • -startfile_ok โ€” allow non-http startfile and homepage with -validate. The default is โ€œoffโ€.
  • -stderr โ€” When dumping a document using -dump or -source, Lynx normally does not display alert (error) messages that you see on the screen in the status line. Use the -stderr option to tell Lynx to write these messages to the standard error. The default is โ€œoffโ€.
  • -stdin read the startfile from standard input (UNIX only). The default is โ€œoffโ€.
  • -syslog=text โ€” information for syslog call.
  • -syslog_urls โ€” log requested URLs with syslog. The default is โ€œoffโ€.
  • -tagsoup โ€” initialize parser, using Tag Soup DTD rather than SortaSGML. The default is โ€œoffโ€.
  • -telnet โ€” disable recognition of telnet commands. The default is โ€œoffโ€.
  • -term=TERM โ€” tell Lynx what terminal type to assume it is talking to. (This may be useful for remote execution, when, for example, Lynx connects to a remote TCP/IP port that starts a script that, in turn, starts another Lynx process.) it's Lynx-ception ๐ŸŒ€
  • -timeout=N โ€” For win32, sets the network read-timeout, where N is given in seconds.
  • -tlog toggles between using a Lynx Trace Log and stderr for trace output from the session. The default is โ€œonโ€.
  • -tna turns on โ€œTextfields Need Activationโ€ mode. The default is โ€œoffโ€.
  • -trace turns on Lynx trace mode. Destination of trace output depends on -tlog. The default is โ€œoffโ€.
  • -trace_mask=value โ€” turn on optional traces, which may result in very large trace files. Logically OR the values to combine options:
    • 1 โ€” SGML character parsing states
    • 2 โ€” color-style
    • 4 โ€” TRST (table layout)
    • 8 โ€” configuration (lynx.cfg, .lynxrc, .lynx-keymaps, mime.types and mailcap contents)
    • 16 โ€” binary string copy/append, used in form data construction.
    • 32 โ€” cookies
    • 64 โ€” character sets
    • 128 โ€” GridText parsing
    • 256 โ€” timing
    • 512 โ€” detailed URL parsing

The default is 0.

  • -traversal โ€” traverse all http links derived from startfile. When used with -crawl, each link that begins with the same string as startfile is output to a file, intended for indexing.

See CRAWL.announce for more information.

  • -trim_blank_lines โ€” toggles trimming of trailing blank lines as well as the related trimming of blank lines while collapsing BR tags. The default is โ€œonโ€.
  • -trim_input_fields โ€” trim input text/textarea fields in forms. The default is โ€œoffโ€.
  • -underline_links โ€” toggles use of underline/bold attribute for links. The default is โ€œoffโ€.
  • -underscore โ€” toggles use of _underline_ format in dumps. The default is โ€œoffโ€.
  • -unique_urls โ€” check for duplicate link numbers in each page and corresponding lists, and reuse the original link number. The default is โ€œoffโ€.
  • -update_term_title โ€” enables updating the title in terminal emulators. Use only if your terminal emulator supports that escape code. Has no effect when used with -notitle. The default is โ€œoffโ€.
  • -use_mouse โ€” turn on mouse support, if available. The default is โ€œoffโ€.
    • Clicking the left mouse button on a link traverses it.
    • Clicking the right mouse button pops back.
    • Click on the top line to scroll up.
    • Click on the bottom line to scroll down.

list gone girl, mouse girl โœจ๐Ÿ–ฑ๏ธ

  • The first few positions in the top and bottom line may invoke extra functions too, so poke around up there. โœจ

Lynx has to be compiled with ncurses or slang for any of this mouse magic to work, bestie. If it's ncurses, clicking the middle mouse button pops up a simple menu. And heads up: mouse clicks may only work reliably while Lynx is idle, just sitting there waiting for input. ๐Ÿ’…

  • -useragent=Name โ€” swaps in an alternate Lynx User-Agent header. Identity crisis, but make it intentional.
  • -validate โ€” only accepts http URLs (for validation purposes). The full suite of security restrictions gets implemented too. ๐Ÿ›ก๏ธ
  • -verbose โ€” toggles [LINK], [IMAGE] and [INLINE] comments, showing the filenames of those images. Default is โ€œoffโ€.
  • -version โ€” prints the version info and dips out. Bye! ๐Ÿ‘‹
  • -vikeys โ€” turns on vi-like key movement. Default is โ€œoffโ€.
  • -wdebug โ€” enables Waterloo tcp/ip packet debug (it prints to the watt debugfile). This one only applies to DOS versions compiled with WATTCP or WATT-32, so likeโ€ฆ niche.
  • -width=NUMBER โ€” how many columns to use when formatting dumps. Default is 80. It's capped by however many columns Lynx could actually display, typically 1024 (that's the MAX_LINE symbol).
  • -with_backspaces โ€” emits backspaces in the output if you're -dump'ing or -crawl'ing (the way man does). Default is โ€œoffโ€.
  • -xhtml_parsing โ€” tells Lynx it's allowed to ignore certain tags that have no content in an XHTML 1.0 document. Like, for example, โ€œ<p/>โ€ gets discarded. Default is โ€œoffโ€.

๐ŸŽ€ COMMANDS ๐ŸŽ€

Okay so you can map more than one key to a given command โ€” mix and match, queen. Here are some of the most useful ones:

  • Up arrow and Down arrow scroll you through the hypertext links. ๐Ÿฆ‹
  • Right arrow or Return will follow whatever hypertext link is highlighted. Go go go.
  • Left Arrow or โ€œuโ€ retreats from a link. Back it up.
  • Type โ€œHโ€, โ€œ?โ€, or F1 for online help plus descriptions of all the key-stroke commands. ๐Ÿ™ˆ
  • Type โ€œkโ€ or โ€œKโ€ for a list of the current key-stroke command mappings.
    • If the same command is mapped to the same letter differing only by upper/lowercase, only the lowercase mapping is shown.
  • Type Delete to view the history list. ๐Ÿ“œ

๐ŸŒˆ ENVIRONMENT ๐ŸŒˆ

On top of all the various โ€œstandardโ€ environment variables like DISPLAY, HOME, PATH, SHELL, TMPDIR, USER, etc., Lynx also utilizes several Lynx-specific environment variables, if they exist. It's giving very custom.

Others may be created or modified by Lynx so it can pass data to an external program, or for other reasons. Those get listed separately below.

Also go check the sections on SIMULATED CGI SUPPORT and NATIVE LANGUAGE SUPPORT, both below. ๐Ÿ‘€

Note: not all environment variables apply to all types of platforms supported by Lynx, though most do. Feedback on platform dependencies is solicited โ€” they literally want to hear from you.

Environment Variables Used By Lynx:

  • COLORTERM โ€” if set, color capability for the terminal is forced on at startup time. The actual value you assign to the variable is ignored. This one is only meaningful if Lynx was built using the slang screen-handling library. ๐ŸŒˆ
  • LYNX_CFG โ€” if set, this overrides the default location and name of the global configuration file (normally, lynx.cfg) that was defined by the LYNX_CFG_FILE constant in the userdefs.h file during installation.
    • See the userdefs.h file for more information.
  • LYNX_CFG_PATH โ€” if set, this overrides the compiled-in search-list of directories used to find the configuration files, e.g., lynx.cfg and lynx.lss. The list is delimited with ":" (or ";" for Windows), just like the PATH environment variable.
  • LYNX_HELPFILE โ€” if set, this overrides the compiled-in URL and configuration file URL for the Lynx help file.
  • LYNX_LOCALEDIR โ€” if set, this overrides the compiled-in location of the locale directory which contains the native language (NLS) message text.
  • LYNX_LSS โ€” if set, this specifies the location of the default Lynx character style sheet file. [Currently only meaningful if Lynx was built using curses color style support.]
  • LYNX_SAVE_SPACE โ€” if set, this overrides the default path prefix for files saved to disk, which is defined in the lynx.cfg SAVE_SPACE: statement.
    • See the lynx.cfg file for more information.
  • LYNX_TEMP_SPACE โ€” if set, this overrides the default path prefix for temporary files that was defined during installation, plus any value that may be assigned to the TMPDIR variable.
  • MAIL โ€” specifies the default inbox Lynx will check for new mail, if such checking is enabled in the lynx.cfg file.
  • NEWS_ORGANIZATION โ€” if set, provides the string used in the Organization: header of USENET news postings. It overrides the setting of the ORGANIZATION environment variable, if that's also set (and, on UNIX, the contents of an /etc/organization file, if present).
  • NNTPSERVER โ€” if set, specifies the default NNTP server used for USENET news reading and posting with Lynx, via news: URL's.
  • ORGANIZATION โ€” if set, provides the string used in the Organization: header of USENET news postings. On UNIX, it overrides the contents of an /etc/organization file, if present.
  • PROTOCOL_proxy โ€” Lynx supports proxy servers that can act as firewall gateways and caching servers. They're preferable to the older gateway servers (see WWW_access_GATEWAY, below).

Each protocol used by Lynx, (http, ftp, gopher, etc.), can be mapped separately by setting environment variables of the form PROTOCOL_proxy. Protocols are indicated in a URI by the name before โ€œ:โ€, e.g., โ€œhttpโ€ in โ€œhttp://some.server.dom:port/โ€ for HTML.

Depending on your system configuration and supported protocols, the environment variables recognized by lynx may include

cso_proxy
finger_proxy
ftp_proxy
gopher_proxy
http_proxy
https_proxy
news_proxy
newspost_proxy
newsreply_proxy
nntp_proxy
no_proxy
rlogin_proxy
snews_proxy
snewspost_proxy
snewsreply_proxy
telnet_proxy
tn3270_proxy
wais_proxy

See the Lynx Users Guide for additional details and examples. ๐Ÿ“–

  • RL_CLCOPY_CMD โ€” pipe the contents of the current link using this command as the target.
  • RL_PASTE_CMD โ€” open a pipe to read from this command, pasting it into the current editable-field or command-prompt.
  • SOCKS5_PROXY โ€” gets inspected if -socks5_proxy has not been used (for the same content).
  • SSL_CERT_DIR โ€” set to the directory containing trusted certificates.
  • SSL_CERT_FILE โ€” set to the full path and filename for your file of trusted certificates.
  • WWW_access_GATEWAY โ€” Lynx still supports use of gateway servers, with the servers specified via โ€œWWW_access_GATEWAYโ€ variables (where โ€œaccessโ€ is lower case and can be โ€œhttpโ€, โ€œftpโ€, โ€œgopherโ€ or โ€œwaisโ€). However most gateway servers have been discontinued. Note that you do not include a terminal โ€œ/โ€ for gateways, but you do for proxies specified by PROTOCOL_proxy environment variables.
    • See the Lynx Users Guide for details.
  • WWW_HOME โ€” if set, this overrides the default startup URL specified in any of the Lynx configuration files. ๐Ÿ 

Environment Variables Set or Modified By Lynx:

  • LYNX_PRINT_DATE โ€” set by the Lynx p(rint) function to the Date: string seen in the document's โ€œInformation aboutโ€ page (= cmd), if any. It's created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field doesn't exist for the document, the variable is set to a null string under UNIX, or โ€œNo Dateโ€ under VMS.
  • LYNX_PRINT_LASTMOD โ€” set by the Lynx p(rint) function to the Last Mod: string seen in the document's โ€œInformation aboutโ€ page (= cmd), if any. It's created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field doesn't exist for the document, the variable is set to a null string under UNIX, or โ€œNo LastModโ€ under VMS.
  • LYNX_PRINT_TITLE โ€” set by the Lynx p(rint) function to the Linkname: string seen in the document's โ€œInformation aboutโ€ page (= cmd), if any. It's created for use by an external program, as defined in a lynx.cfg PRINTER: definition statement. If the field doesn't exist for the document, the variable is set to a null string under UNIX, or โ€œNo Titleโ€ under VMS.
  • LYNX_PRINT_URL โ€” Lynx sets this one itself when you hit the p(rint) function, bestie. It becomes the URL: string you'd see on the document's "Information about" page (that's the = cmd, iykyk). It exists so an external program can use it, as defined in a PRINTER: definition statement in lynx.cfg. If the document justโ€ฆ doesn't have that field? The variable gets set to a null string under UNIX, or to "No URL" under VMS. ๐Ÿ’…
  • LYNX_TRACE โ€” set it and Lynx writes a trace file, literally as if you'd passed the -trace option. โœจ
  • LYNX_TRACE_FILE โ€” set it and it overrides the compiled-in trace file name. That default is either Lynx.trace or LY-TRACE.LOG (the second one is the DOS/Windows platforms girlie ๐Ÿ’€). Either way, the trace file lives relative to your home directory.
  • LYNX_VERSION โ€” Lynx always sets this one, no matter what. External programs can peek at it to figure out whether Lynx is the one that invoked them. ๐Ÿ•ต๏ธ
Also go read the comments in the distribution's sample mailcap file for notes on using this in that kind of file!
  • TERM โ€” normally Lynx reads this to figure out which terminal type is invoking it. BUT ๐Ÿšจ if it's unset at startup, or it's literally the value "unknown", or you used the -term command-line option (check the OPTIONS section above, bestie), then Lynx will set or modify its value to the user-specified terminal type โ€” for the Lynx execution environment. Note this: if Lynx sets/modifies it, the values of the LINES and/or COLUMNS environment variables may also get changed. ๐Ÿ˜ญ

๐Ÿฆ‹ Simulated CGI Support ๐Ÿฆ‹

If Lynx was built with the cgi-links option enabled, it can reach a cgi script directly โ€” no http daemon needed, no middleman, we love that for us. ๐Ÿ‘‘

When it runs those "lynxcgi scripts" (if enabled, obvi), these variables may be set to simulate a CGI environment:

  • CONTENT_LENGTH
  • CONTENT_TYPE
  • DOCUMENT_ROOT
  • HTTP_ACCEPT_CHARSET
  • HTTP_ACCEPT_LANGUAGE
  • HTTP_USER_AGENT
  • PATH_INFO
  • PATH_TRANSLATED
  • QUERY_STRING
  • REMOTE_ADDR
  • REMOTE_HOST
  • REQUEST_METHOD
  • SERVER_SOFTWARE

Other environment variables are not inherited by the script, unless they're provided via a LYNXCGI_ENVIRONMENT statement in the configuration file. Check the lynx.cfg file, and the (draft) CGI 1.1 Specification at http://Web.Golux.Com/coar/cgi/draft-coar-cgi-v11-00.txt for the definition and usage of these variables.

The CGI Specification, plus other associated documentation, should be consulted for the general tea on CGI script programming. โ˜•


โœจ Native Language Support โœจ

If Lynx is configured and installed with Native Language Support, it'll show status and other messages in your local language. ๐ŸŒโœจ See the file ABOUT_NLS in the source distribution โ€” or at your local GNU site โ€” for more info about internationalization.

These environment variables may be used to alter default settings:

  • LANG โ€” if set, it overrides the default message language. It's an ISO 639 two-letter code identifying the language. Heads up: language codes are NOT the same as the country codes given in ISO 3166. Don't mix them up, bestie, it's giving rookie mistake. ๐Ÿ˜ญ
  • LANGUAGE โ€” if set, it overrides the default message language too. This is a GNU extension and it has higher priority for setting the message catalog than LANG or LC_ALL. slay.
  • LC_ALL and
  • LC_MESSAGES โ€” these, if set, specify the notion of native language formatting style. They are POSIXly correct. ๐Ÿ’…
  • LINGUAS โ€” if set prior to configuration, it limits the installed languages to specific values. It's a space-separated list of two-letter codes. Currently it's hard-coded to a wish list (manifesting the rest ๐Ÿ•ฏ๏ธ).
  • NLSPATH โ€” if set, this is used as the path prefix for message catalogs. ๐Ÿ“š

๐Ÿ“ฌ NOTES ๐Ÿ“ฌ

๐Ÿ’Œ Mailing Lists

Wanna contribute to Lynx's further development? Subscribe to the mailing list, bestie, we'd love to have you. Send email to <lynx-dev-request@nongnu.org> with subscribe lynx-dev as the only line in the body of your message. Just that. Nothing else. Fr fr. โœจ

Send bug reports, comments, and suggestions to <lynx-dev@nongnu.org> after subscribing. ๐Ÿ›

Unsubscribe by sending email to <lynx-dev-request@nongnu.org> with unsubscribe lynx-dev as the only line in the body of your message. And do not send the unsubscribe message to the lynx-dev list itself. That's the one rule. Don't do it. ๐Ÿ™ˆ

๐Ÿ’– Acknowledgments ๐Ÿ’–

Lynx has incorporated code from a whole bunch of sources along the way, and the lore is honestly iconic. The earliest versions of Lynx included code from Earl Fogel of Computing Services at the University of Saskatchewan, who implemented HYPERREZ in the Unix environment. HYPERREZ was developed by Niel Larson of Think.com and served as the model for the early versions of Lynx. Those versions also incorporated libraries from the Unix Gopher clients developed at the University of Minnesota, and the later versions of Lynx rely on the WWW client library code developed by Tim Berners-Lee and the WWW community.

Also a special thanks to Foteos Macrides who ported much of Lynx to VMS and did or organized most of its development since the departures of Lou Montulli and Garrett Blythe from the University of Kansas in the summer of 1994 through the release of v2.7.2 โ€” and to everyone on the net who has contributed to Lynx's development either directly (through patches, comments or bug reports) or indirectly (through inspiration and development of other systems). ๐Ÿซถ The way this is a whole community effort? Obsessed.


๐Ÿ‘‘ AUTHORS ๐Ÿ‘‘

Lou Montulli, Garrett Blythe, Craig Lavender, Michael Grobe, Charles Rezac Academic Computing Services University of Kansas Lawrence, Kansas 66047

Foteos Macrides Worcester Foundation for Biomedical Research Shrewsbury, Massachusetts 01545

Thomas E. Dickey <dickey@invisible-island.net>


๐ŸŒˆ SEE ALSO ๐ŸŒˆ

catgets(3), curses(3), environ(7), ftp(1), gettext(GNU), localeconv(3), ncurses(3), setlocale(3), termcap(5), terminfo(5)


And that's the whole page, bestie โ€” you made it to the end! ๐ŸŽ‰ This one's Lynx 2.9.3, dated 2026-05-26, and it lives at LYNX(1). Go forth and browse the text-web like the main character you are. ๐Ÿ’…๐Ÿ’–โœจ

๐Ÿ“ฆ where this page comes from