This is an old revision of the document!
Table of Contents
Gopher
Gopher is an ancient internet protocol invented at the University of Minnesota in 1991. It was once widely-used for serving something similar to web pages. It was once one of the most popular services on the entire internet, until the University squandered what they had and Gopher was overtaken by HTTP by 1994.
Like HTTP, it serves pages, media & files, using inline links to connect the pages of a Gopher site. Unlike HTTP, there are no fancy headers. Neither is there style information associated with it. Gopher markup language is a lot more concise than HTML, providing just barely enough functionality to tell the server where on the page to put links & plain text. All styling is decided by the visitor's Gopher browser, just like with IRC. As a result, Gopher sites are extremely fast to load, as they consume a fraction of the bandwidth it takes to transmit an HTML page.
Scripting options are far more limited as well. The Gopher ecosystem (also known as Gopherspace) is relatively resistant to many common methods of browser fingerprinting, as well as ad beacons & advertising in general (Though it is not entirely private as it does not support TLS, and a server can still geolocate your IP if you are not on a VPN). This has made the Gopherspace a popular niche destination well into the 21st century for those looking for a simpler, more intentional, and less distracting internet.
MIND THE GAP: A Gopher hole is located behind the Institute at gopher://bestpoint.institute on Port 70! There is nothing covering this hole, so be careful that you do not fall in!
Browsing Gopherspace
There are several ways to browse Gopher sites on your computer:
Visually
The slickest and easiest solution is to install Lagrange. It's fast, the interface is clean, and it's available for iOS, Flatpak, and a multitude of other platforms. Even better, it also supports the Gemini protocol, which is sort of a modern version of Gopher with a few extra convenience & markup features. The Gopher & Gemini ecosystems are very close to each other, so having them both in the same browser is very useful. It's not uncommon for Gopher/Gemini servers to have parallel Finger services either, and Lagrange has support for that protocol as well.
If you want more options, check Wikipedia, but I'm telling you that Lagrange (or maybe Kristall) is the way to go if you want an elegant GUI app that's easy to use.
Command Line
If you are using terminal you have a few solid options here. First are the text-mode web browsers Lynx & ELinks, which have decent built-in Gopher protocol support. For dedicated clients, ncgopher & Bombadillo are highly revered by the Gopher community.
Browser Extensions
Once upon a time, web browsers could access Gopher. Not anymore. Big Tech doesn't want you on a part of internet that can't run Javascript, advertising beacons & spyware, so the feature was just ripped out of all web browsers around 20 years ago.
You can install browser extensions to haphazardly duct-tape Gopher support back into your browser. If you don't want to install anything, you can use the Floodgap Proxy. But I wouldn't recommend either of these options outside emergency use. The whole point of using Gopher in 2026 is so that you can read plaintext articles without the mammoth memory footprint of modern web browsers. Dedicated Gopher apps are so much faster & smoother. Just install Lagrange and you'll see why certain old heads still appreciate Gopher.
Advanced Wizardry
Because Gopher is a super simple protocol, you can easily hack it into things. Two tools of note:
First is the popular swiss-army knife curl. If you need to start scripting Gopher requests or spidering sites, curl is just as useful with Gopher sites as it is HTTP sites.
You can also mount Gopher sites as filesystems! Remember that Gopher was designed over 30 years ago to make it easy to organize basic articles, images & files for public distribution. The way Gopher data is formatted is extremely easy to pump into a mount point. To demonstrate this, I used ChatGPT to whip together a quick example in Go using FUSE, which I have for reference on Github at HumphreyBoaGart/gophuse. It's a bit risky to use (Without TLS, Gopher is extremely vulnerable to man-in-the-middle attacks) but if you're using Gopher to power a filehost, this hat trick makes it really easy to grab files off a trusted local machine in bulk.
Hosting Gopher Sites
Popular Gopher server daemons include Geomyidae, xvxx/phd and Gophernicus. I personally prefer Geomyidae since it's lean & faithful to the protocol, while having a cleaner markup language than the older daemons. The Grackle server management package actually has a Geomyidae installer built into it, for running a Gopher server alongside normal web sites. Meanwhile Raven has built-in support for managing Gopher docroots served by Geomyidae & similar daemons.
Dynamic Gopher Sites
It is true that you can only transmit a limited amount of datatypes between server & visitor over the Gopher protocol. However, you can do virtually unlimited server-side processing as long as the output follows the protocol's transmission format.
Most Gopher servers have support for running CGI scripts, like the internet of old used to have to do with PHP scripts. Modern PHP installs use heavily abstracted versions of this now, which are tailored specifically for HTTP, so they don't work with Gopher servers too well. However, modern PHP installs also come with php-cli, a command-line version of PHP which spits out plaintext data in a form especially suited for Gopher. You just make a CGI wrapper for your PHP script, and pass Gopher requests to php-cli like this:
- loader.cgi
#!/bin/sh exec /usr/bin/php /path/to/script.php
You are not even limited to PHP, as CGI is basically just shell scripting and capable of executing everything your terminal can. As long as the returned data can be parsed by a Gopher server, you can actually have complex database-driven websites (within reason) in the Gopherspace. This trick is equally applicable to the Gemini platform as well.
Goldy Gopher
Since Gopher was invented at the University of Minnesota, Goldy Gopher is the closest thing the protocol has to an official mascot. Even the name of the protocol is a reference to UMN's beloved mascot.
Goldy himself is a reference to Minnesota's status as The Gopher State, a nickname it earned on the eve of statehood after publication of a political cartoon lampooning Minnesota's handout of a $5,000,000 loan to the widely-detested railroad tycoons of the era. By the early 20th century, Minnesota sports teams were already being named after gophers, and in 1952 the anthopomorphic Goldy Gopher was unveiled to an unsuspecting world.
Unlike the Gopher protocol, which was beaten like a redheaded stepchild and abandoned to die on the hard-hitting streets of Murderapolis by the University of Minnesota, Goldy is still much-loved by the University and millions of fans today.
More Reading
Gopher Links
- Best Point Gopher Hole - CAUTION, OPEN HOLE!
- Floodgap - Popular hub & advocate of the Gopher community since 1999.
- Veronica-2 - Gopher search engine.
- Observable Gopherspace Project - Large directory of Gopher sites.
- Fab's Gopherhole - Useful Gopher links and information.
- Magical Fish - More Gopher resources and links.
- Bitreich - Even more Gopher resources and links.
- Gopher ICU - Yet still more Gopher resources and links.
- Internet Gopher Club Underground Syndicate - At the SDF Public Access UNIX System.
- Gopherpedia - Gopher interface for Wikipedia!
- MetaFilter - Gopher frontend for MetaFilter community.
- Hacker News - Gopher mirror for Ycombinator's Hacker News
Web Links
- Where Have all the Gophers Gone? - A retrospective history of the early Gopher project.
- The Web Before the Web - A look back at Gopher by HowToGeek.
- RFC 1436 - Official standardized specification of the Gopher protocol.
- Gopher - Gopher resources on ArchWiki.
Find this page online at: https://bestpoint.institute/tools/gopher
Copyright 2026 Best Point Holdings Limited






