Last modified: 2021-12-27 17:52

Testing gc

This document shall assist you in quickly testing and evaluating gc to decide if it is worth to invest some more.


Make sure to pick the tar archive and untar it somewhere. This creates a sub directory of the form gc-1.0.6 (or whatever the current version is) to allow easy removal by just deleting this. Open a (Linux) terminal in that directory.

Standard Gopher

gc is a command line Gopher client so that's the first thing to go:

./gcs gopher://

starts the client opening the Gopher server at You open an item by entering its number in the directory when you are at the dir > prompt. Long directories are displayed using less and you must leave that first by pressing q.

To leave gc press Ctrl+D, Ctrl+C at the command prompt or enter the quit command. is not up-to-date (there are no so much up-to-date Gopher servers these days) but its well-known, which is why I mention it here. Another well-known server is but this server make its logfile (more precise: its tail) public showing also user's IP-numbers. Therefore, I try to avoid that server as much as possible, but this server runs also a Gopher search.

Command line interface

When you have read a text (Gopher servers have usually plain-text files) and you want to list the directory again you can do that with the . or : commands (the former reload the directory from the server).

gc comes with a context navigator (aka pnx navigator) that is shown when you have finished read a file. It changes its display according to the item's context and may look like

pnx: FPNL ---:- #+-- ? >

You can enter any of the listed characters (? shows a brief help) but you can also enter regular gc commands here. Enter doc to see them.


gc can also fetch files from HTTP or HTTPS server (HTTPS requires socat to be installed) and can display simple HTML files.

Either restart gc with


or enter the URL as command.

Moving around is just as before: read the text, leave the pager with q and enter the link you want to follow. back brings you to the previous page. HTTP/HTML doesn't have something like directories but gc supports marking HTML files as equivalents if they are tagged accordingly. The pnx navigator shows an H if a such a "home page" is known for an HTML file.

pnx: F--L H--:- #--R ? >

Notice that : lists the last gopher directory, not an HTML file.

There are some more plans for gc's internal HTML parser but e.g. TABLEs are not on the short list. An example of what is missing is that an HTML file's title is not properly displayed in gc.

Gopher by HTTP

I think that interoperatibility is important. Therefore, I added HTTP as an alternative to fetch gopher directories from a server. (Try to get a Gopher server - HTTP servers are around but now Gopher. Then what if you like Gopher's directory structure?)

Start gc with


or enter the URL on gc's command line. This fetches a Gopher directory from the server and you're back in the directory-document user interface. My server uses basic Markdown for text files and gc knows to format and display them. Even without that, Markdown would be readable, which is why I prefer it. The files come also with embedded links but truth is that Gopher is not very well prepared for documents linking to others and not everything might work.


The original Gopher protocol got an update known as Gopher+. This is widely abandoned these days but gc (and the quietsche-entchen server) supports it to extract navigation information from Gopher+ directories. You can access an item's Gopher+ data when the pnx-navigator shows the + sign:

pnx: F--L H--:- #+-R ? >

A usual, enter the number to open an item. You can use


again to test it. For further reading take a look at