NETRIK(1)
β¨ NETRIK β¨ β the ANTRIK internet browser π
(that's NETRIK(1), General Commands Manual, bestie β we're in section 1 of the manual, the part where the actual programs live)
π¦ NAME π¦
netrik β The ANTRIK internet browser. no cap, that's the whole vibe.
πΈ SYNOPSIS πΈ
netrik [options] URL or filename
netrik -
π DESCRIPTION π
netrik is an advanced text mode HTML (WWW) browser β aka a web browser that runs on character cell displays (linux console, xterm etc.), not unlike w3m, links or lynx. it's giving terminal main character energy, fr fr.
When you invoke it with a filename or URL as argument, that document gets loaded and displayed in interactive mode, so you can start browsing the web or some local HTML repository right from there. (or, alternatively, the document can just be layouted and dumped to the screen β check OPTIONS below for that little trick π)
When you invoke it with - instead of a file/URL, an HTML document is read from standard input, and displayed just the same. iconic.
If some file name/URL is present in the configuration file (~/.netrikrc), you can also start netrik without any non-option arguments β the one from the config file gets loaded then. See netrikrc(5) for the deets.
When multiple non-option arguments are specified, netrik simply takes the last one and ignores the others. (this is for the above to work. yes, deliberately. π)
The type of the resource to load is automatically determined from the argument:
- if it starts with
http://,ftp://orfile://, the corresponding type is used. - if none of these is specified,
netriktries to guess the type: first it tries to open a local file of the given name, and if that fails, it tries HTTP. - only if both fail, an error is generated. (see
EXAMPLESbelow.)
Local files can also be compressed by gzip or bzip2, which is handled transparently β meaning the .gz or .bz2 extension needn't be given in the URL. slay, honestly.
Once in the pager, you can explore the web interactively, as with any other web browser. The keyboard commands should look familiar if you know vi (or some of the myriads of programs with vi-like keys) as well as lynx:
- use the
'j'and'k'keys to move around - the up and down arrow keys (or capital
'J'and'K') to select links - and the
<return>key to follow links
See PAGER COMMANDS below for a description of other useful commands.
(default)
π OPTIONS π
Note: netrik is still in early development state; options are subject to changes. (lowkey a warning, highkey just facts π)
--no-term-widthβ When using the pager, this causes a page that contains extremely long words to be rendered wider than the screen, instead of breaking the word. Note however that side scrolling isn't implemented yet β you won't be able to see the end of the line when using this option... π In dump mode, this option causes usage of the default width of80columns instead of what the terminal definition says. (Words are always broken in dump mode.)--fussy-htmlβ Abort on any HTML syntax errors or warnings encountered. A short error description is printed. (This description may not be terribly useful at times...) This mode is primarily intended for HTML debugging. (Note however thatnetrikmay oversee some errors; but most are reported.)--clean-htmlβ Do not abort on HTML syntax errors. Error descriptions are printed for every syntax error (or warning), butnetriktries to parse the page anyhow. Workarounds are used for some typical syntax errors (e.g. unescaped'<'or'&'characters); other errors are ignored. After the whole page is loaded, if some error(s) were found, a warning message is printed (according to the severity of the worst encountered bug), and the pager starts after a keypress.--valid-htmlβ This mode is identical to--clean-html, except thatnetrikdoesn't pause after loading completes, if only warnings were generated but no real errors were encountered. (i.e. constructs that are discouraged in the standard, but strictly speaking are valid.)--broken-html(default) β This mode is identical to--valid-html, except thatnetrikalso doesn't pause if only simple errors with known workaround were encountered, which probably won't disturb layouting. Usage should be avoided if possible. (The filesyntax_error.txtorsyntax_error.htmlin the documentation directory (seeSEE ALSObelow) explains why.)--ignore-brokenβ In this mode no warning is shown for any syntax errors, even if they might cause heavily broken layouting. Don't use! π«--debugβ Before displaying (or dumping) the page, some intermediate layouting stages are shown. (This output is described in theREADME.) Try it β it's quite interesting to watchnetrikwork :-) It can be also useful to find HTML errors in a page, as it dumps the page while loading/parsing it. (This option is not available if compiled with--disable-debugto./configure)--warn-unknownβ Issue a warning when encountering an unknown HTML element or attribute. This is probably only useful for debugging purposes, as there are quite a lot of (legal) HTML facilitiesnetrikdoesn't know. π--dumpβ Just dump the file given as argument to the screen and quit, instead of starting the pager. (The page is layouted correctly.)--no-proxyβ Ignore the"http_proxy"and"HTTP_PROXY"environment variables with--builtin-http. (No effect onwget! See below.)--no-builtin-httpβ Usewget(1)to retrieve pages from a HTTP server, instead of the builtin HTTP handling code. Note that HTTP redirects in most cases cause relative links in the page to be broken when usingwget. The builtin HTTP code seems to work good now; usingwgetshouldn't be necessary. (FTP pages however are always loaded viawget.)--no-anchor-offsetβ When jumping to an anchor (following a link with a fragment identifier), the page will be scrolled (if possible) so that the anchor will stand just below the screen top. (In the second line, which is the first line in which links can be activated.) By default, the anchor is at about 1/5 of the screen height below the top.--cursor-keysβ Use the arrow keys to move the cursor, instead of the lynx-like navigation used by default. (This is useful for blind users, as it allows using the"flash cursor"keys found on braille displays.) π«Ά--xtermβ Assume the terminal has xterm-like attribute handling. (i.e. needs a workaround to display a bright background color.) This setting is used automatically if the terminal type ($TERMenvironment variable) contains the string"xterm", so you only need to set it manually if you have some other terminal that also needs that workaround or if you have set--consoleinnetrikrc(5)and need to override that. Note that this workaround works *only* on xterm (and maybe some other terminals), but not on linux console, so you can't just set it categorically!--consoleβ Assume the terminal doesn't need and understand the xterm workaround for bright background colors. (See above.)--dark-backgroundβ Use the color definitions fromcolors-dark.c(formerlycolors.alt.c). A black background will be used (even if the terminal uses a bright background by default!), and a set of foreground colors which look very nice on black backgound. (But would be unusable on bright background.) This is the default now.--bright-backgroundβ Use color definitions fromcolors-bright.c(formerlycolors.default.c). The terminal's default colors will be used for background and normal text, and an alternative color scheme suitable for bright background will be used for other text types. Use this if you have a terminal with bright background (like most xterms), and also want to stick to that innetrik. Note that this can be used on a terminal with dark background as well; some colors are somewhat hard to read, however. π--no-force-colorsβ Use terminal's default colors even with--dark-background, instead of forcing usage ofnetrik's default text colors (white on black for normal text). This is useful if you use the default (dark) colors and your terminal has a black background anyways β forcing the default colors is only a waste of time in this situation. β°
You can also specify any of these options as default in the netrik config file ~/.netrikrc, see netrikrc(5).
π EXAMPLES π
netrik http://netrik.sourceforge.net/index.htmlβ Load the netrik web site and start browsing.netrik sourceforge.netβ Load a local file named"sourceforge.net"in the current directory, or start browinghttp://sourceforge.netif no such local file exists.netrik file:///usr/local/share/doc/index.htmlβ Start browsing the netrik HTML documentation.ssh me@someshell.invalid cat foo.html|netrik -β Load file"foo.html"from your ssh account onsomeshell.invalid, and display in builtin pager.netrik --dump foo.htmlβ Layout and dump the file"foo.html"from current directory.TERM=ansi netrik --dump foo.html >foo.rtext(bourne shell version) β Dump (layouted) content of"foo.html"to the file"foo.rtext", which can be viewed on any ANSI compatible color terminal later. (Using"less -R"for example.)netrik http://foo.invalid/broken.html --dump --debug 2>&1|less -Rβ Examine"http://foo.invalid/broken.html"to find the reason for some HTML error.netrik --broken-html freshmeat.netβ Start browsing freshmeat.net, don't halt on noncritical HTML errors.netrik --ignore-broken www.cnn.comβ Start browsing cnn.com, don't halt on *any* HTML errors. (Expect it to look broken, but that's probably not our fault... If you think it is, please file a bug report.) π
β¨ PAGER COMMANDS β¨
Okay bestie, so netrik's pager is lowkey giving major vi(1) energy β it basically knows two kinds of pager commands. π
The simple commands (presently all of them are one-letter commands) are executed directly when the corresponding key is pressed. These are all the pager movement commands, plus some more. In the following overview they're represented by just the letter for letter keys, or a symbol of the form <key> for special keys. Upper case letters mean the letter key with <shift>, and letters preceded with '^' mean the letter key with <ctrl>.
The others (presently only two) need to be typed into a command prompt (with readline(3) and all), which is activated by pressing ':', and has to be confirmed by <return>. These are indicated by a ':' before the command name. (Just as they are typed...)
π¦ MOVEMENT (SCROLLING) COMMANDS π¦
jβ scroll one line forwardkβ scroll one line backward<del>β scroll two lines forward<ins>β scroll two lines backward^F,<space>β scroll one screen forward^Bβ scroll one screen backward^D,<PgDn>β scroll one half screen forward^U,<PgUp>β scroll one half screen backwardg,<Home>β go to page topG,<End>β go to page end
π§ CURSOR MOVEMENT COMMANDS π§
^Hβ cursor left^Jβ cursor down^Kβ cursor up^Lβ cursor right
π HYPERLINK COMMANDS π
<return>β follow selected link (or manipulate form control)J,<down>β go to next link, or scroll one line forward (if no more links on screen)K,<up>β go to previous link, or scroll one line backward (if no more links on screen)+,=β go to first link on next line, or scroll one line forward (if no more links on screen)-β go to first link on previous line, or scroll one line backward (if no more links on screen)^,^Aβ go to first link starting in line0β go to first link in line (different from'^'if there is a link wrapped from previous line)$,^Eβ go to last link in lineHβ go to first link on screenLβ go to last link on screenMβ go to midmost link (first link in second screen half)<tab>β go to next linkpβ go to previous link<bs>β go to first link on pagelβ activate links by label
π PAGE HISTORY COMMANDS π
^Rβ reload current pageb,<left>β back to previous page in historyf,<right>β forward to next page in history (after'b')Bβ back to previous site (page before last absolute URL entered/followed)Fβ forward to next sitesβ set page markSβ remove page markrβ return to previous page in history marked with's'(or first page)Rβ forward to next page in history marked with's'(or last page)
π οΈ OTHER COMMANDS π οΈ
uβ show link URLUβ show absolute link target URLcβ show current page URL:e URLβ load document "URL" and display it in the pager (URL relative to current page):E URLβ load document "URL" and display it in the pager (absolute URL)/β search for a string in current pageqβ quit netrik^C (SIGINT)β Interrupt file/HTTP loading (no effect otherwise)^\ (SIGQUIT)β Immediately quit netrik unconditionally. (Presently, this signal violently terminates netrik; thus no cleanup takes place... Use only in "emergency".)
π¨ Bestie, that ^\ (SIGQUIT) one is not a vibe. It violently terminates netrik, no cleanup, only for "emergency" situations. You've been warned. π
πΈ ENVIRONMENT πΈ
http_proxyβ (the uppercase variantHTTP_PROXYis also recognized, but discouraged) specifies the address of an optional proxy server.TERMβ specifies a terminal type for which netrik (actually, ncurses) will produce output.
π EXIT STATUS π
0β Normal exit. (Should occur only if explicitly issued'q'command, or after whole page has been printed with--dump.)1β Some condition occurred that prevents netrik from continuing normal operation. This might be a memory allocation error, failure to open some important file etc. Note that it might also indicate some bug in netrik; if the error message printed doesn't seem to make sense (e.g. a memory allocation error when there is plenty of free RAM available), please report that. (See BUGS below.)2β Operational error: The user induced an error condition that netrik can't handle gracefully (yet), e.g. trying to follow a relative link where no base URL is available. (On a page loaded from standard input, for example.)100β One of the internal sanity checks gave alarm. This is a bug in netrik! Please report it. (See BUGS below.)
Other errors codes shouldn't occur. (Note that error codes above 128 are generated when the program is terminated by a signal, e.g. 139 for SIGSEGV, which usually also indicates a bug, unless the signal was generated by some user action.)
π CONFORMING TO π
Netrik knows most of HTML 4.01 and XHTML 1.0. There are several facilities it doesn't recognize yet, though; and some things are layouted incorrect. (Especially space handling is totaly broken.)
It doesn't conform to XHTML also for the reason that it only warns about syntax errors (rather than aborting), and some may even slip through altogether.
Note that full standards compliance is not a primary development goal; we may ignore known minor incompatibilities, as long as they do not undermine W3C's standardization efforts, and there is more important work to do...
π FILES π
~/.netrikrc: The netrik configuration file.
β VERSION β
This manual page documents netrik version 1.16.1.
π BUGS π
- Layouting is so strange that it always looks broken...
- Layouting is actually broken. (Wrong space handling.)
- HTML syntax error messages are penetrating.
- The UI is inconsistent.
- Netrik is vaporware.
- Netrik has less command line switches than ls ;-)
- Please report any other problems you find to
<netrik-general@lists.sourceforge.net>. Thanks.
π AUTHOR π
Netrik was created and is maintained by Olaf D. Buddenhagen AKA antrik (<antrik@users.sf.net>), with major contributions from Patrice Neff, SΓΆren Schulze, and others. (For a full listing of all contributors see AUTHORS in the doc directory, see below.)
This man page was created by Patrice Neff and modified by antrik.
π SEE ALSO π
netrikrc(5)- The
READMEfile, and the complete plain text or html documentation (index.txt/index.html) in the doc directory. (The doc directory is usually something like/usr/share/doc/netrikwhen netrik was installed from a binary package or/usr/local/share/doc/netrikwhen compiled from source.) - The netrik website at
<http://netrik.sourceforge.net>. - The netrik mailing list at
<netrik-general@lists.sf.net>; see<http://lists.sourceforge.net/lists/listinfo/netrik-general>for list information.
That's the whole vibe, bestie! This page is from the NETRIK(1) manual β netrik version 1.16.1, dated September 21st, 2008. Now go browse cute websites in your terminal. π
β¨π¦
π¦ where this page comes from
- debian trixie: netrik 1.16.1-4 Β· GPL-3.0-or-later
- ubuntu noble: netrik 1.16.1-4 Β· GPL-3.0-or-later
- ubuntu questing: netrik 1.16.1-4
- ubuntu resolute: netrik 1.16.1-4build1 Β· GPL-3.0-or-later
- ubuntu stonking: netrik 1.16.1-4build1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms