blog // ~snubspreker

this is just a test

Chase a Rabbit Down a Gopherhole

April 15, 2020 — ~snubspreker

A long time ago in an Internet far, far away…

Back in the dawn of the time when the Internet was fun and touted a The Information Superhighway, gopher) was a big thing. But that Wikipedia article will give you much more information than I ever could. Here is the deal in short, gopher) was a protocol that handled the retrieval and display of plaintext documents in a client). You may never have heard of it. There is a reason or two; 1) people really liked blinking, bouncing, and sliding things, 2) greed. But this article from (minnpost) explains the whole thing in detail from start to finish.

I thought gopher) was long dead until I got bored of bouncing and blinking text, and discovered that not only is gopher) not dead, but the pubnix is still alive and well.

In my home town, the local community college ran a bulletin board system (BBS) which provided a gateway to the, at the time, brand new internet and allowed you to apply for a login to a PAUS (public access unix system) and all that came with it; email, ftp, telnet, mud, mush, www, irc, gopher), archie, and veronica, etc. Let me just tell you that the internet is full of nooks and cranies where all these are still available.

So what now?

Well you could investigate these cobweb corners of the internet, and maybe contribute something as well. But how?

Of shoes, and ships, and sealing-wax Of cabbages and kings

Maybe the most fun you will have is chasing a rabbit down a gopherhole. But, to do that you need to know where the gopherholes are and you need a vessel in which to travel. There are tons of gopher) clients available for just about any OS, and I have tested most of them. The four I like are gopherus, gild, lynx, and elpher. All have advantages and disadvantages.


I like the way gopherus looks. You can configure the colors, even making it look like an old amber terminal (tickles me), but the key commands take a bit of getting used to. They are somewhat non-standard for me, but that is because I use emacs like key bindings for everything. However, once you get used to the keys gopherus has a couple of neat features that are burried or non-existent in the other clients. Those being F9 Download location to disk, and F10 Download all files in current menu to disk. For info hoarding these two gadgets are priceless. One thing I hate, is that BACKSPC is used as back-page which makes entering text in the url difficult since you need to use the delete key to expunge unwanted characters.

Key bindings:
   TAB       - Switch to/from URL bar edition
   ESC       - Quit Gopherus (requires a confirmation)
   UP/DOWN   - Scroll the screen's content up/down by one line
   PGUP/PGDW - Scroll the screen's content up/down by one page
   HOME/END  - Jump to the top/bottom of the document
   BACKSPC   - Go back to the previous location
   B         - Bookmark current location
   DEL       - Delete bookmark (main screen only)
   F1        - Show help (this file)
   F2        - Go to program's main screen
   F5        - Refresh current location
   F9        - Download location to disk
   F10       - Download all files in current menu to disk

I give this a rating of one and a half penguins.


I'm just gonna say I give gild a rating of one full goatse. The only redeeming quality of gild is that it is written in ldpl which is a variant of COBOL and I think that is a neat trick. But gild is so unuseable that I won't even bother describing it. Read the source for fun and education, but don't install it.


Maybe the best of all the gopher) clients I have tested is lynx. Lynx is not exactly a gopher) client). It is a text based browser that understands the gopher) protocol. Which means that you can bounce back and forth between http:// ftp:// and gopher:// like it was nothing. Plus! It runs in the terminal, is light weight, highly configurable and more than I care to go into feature-wise. I give it a rating of twelve penguins, one unicorn, and a cupcake.


While elpher isn't the only option for browsing gopherholes in emacs, it is the best. It's only real drawback is that it requires you to run emacs, and that comes with a steep learning curve. Learning emacs is well worth the effort, and not just for elpher. The main positive for elpher is that it is part of emacs which means that you can treat it like any other emacs buffer. You can extend it and configure it to the extent of your lisp knowledge. I give it a rating of four parentheses.

Following a rabbit down a rabbit hole

Now that you know how to get there you need to know where to go. Maybe the best place I've found to start, is

lynx gopher://

The above example shows how to get lynx to visit You just open a terminal and type that command and feel elated. Lynx works pretty much as you would expect: arrow keys ↑↓ move the cursor up and down the page, ←→ follow links and return to the previous page, F1 opens a great help screen, TAB moves forward to the next link on the page. You can configure the keys so that they resemble vi or emacs. There is just so much right with this browser, that you could use it daily instead of firefox or chrome, I know because I do.

Some interesting asides

There are many many more clients that I have tinkered with and decided against for various reasons mostly because of buggy behaviour, or difficulty or the interface. Still, they are interesting. One thing I found was that there is a reletively new protocol being developed, and in actual use called gemini.

From the website:

Gemini is a new, collaboratively designed internet protocol, which explores the space inbetween gopher and the web, striving to address (perceived) limitations of one while avoiding the (undeniable) pitfalls of the other.

What that means, I don't know. What I do know is that for the most part, gemini clients and gopher) clients, can be used interchangeably…mostly.

See the links section for more.

This should help get you started.


archie and veronica (active web based archie server) Search Engine History


Project Gemini Gemini Clients gemini:// gemini:// gemini:// gemini://