Gopher Server Software | mari's Gopher Repository

Like clients, Gopher enthusiasts have written many server packages over the years, building on the functionality of the original UMN gopherd for serving content more efficiently and perhaps dynamically to some degree. Also like clients, I've elected to try as many as I can and review their featuresets and their ease of setup.

One notable package I will not be shilling in the reviews is Somnolescent's own Pituophis. Seems like a conflict of interest. Nevertheless, seeing as I was adamant about using it for our own Gopher server at gopher.somnolescent.net, it's safe to say I'm a big fan of it. Getting it started is as easy as invoking a Python script, and given that it's written in Python 3 and is more a general-purpose client/server library than simply a server, I think it occupies a unique niche in the Gopher ecosystem.

Anyway, shilling over. Here's some other people's packages instead. As most server packages expect to be installed on a flavor of Linux, for those that support it, I've gone with an Ubuntu Server 20.04 VM that I reset after each server to keep the environment as close to stock as possible.

Bucktooth (gopher://gopher.floodgap.com/1/buck)

Basics Necessities Nice-to-haves
  • Maintainer: Cameron Kaiser (Floodgap Systems)
  • Written in: Perl
  • Actively maintained: Yes
  • Open-source: Yes (Floodgap Free Software License)
  • Platform: Unix-based (anything with inetd, xinetd, or launchd)
  • Menu customization: Yes, with gophermaps
  • Globbing: Yes
  • Web interoperatibility: Yes, through the h itemtype
  • Proxy capabilities: No
  • Scripting: Yes, with "moles"
  • IPv6: Yes (experimental)
  • TLS support: No

Bucktooth's stated goal is to be an easy, simple, small, and open-source Gopher server written in Perl. It does its job remarkably well starting from the initial setup, where a very detailed, plain English script walks you through setting up the server using one of three service dispatcher daemons, inetd for generic Unix boxes, xinetd if the user has it installed, or launchd for MacOS systems. (Remember to run the correct one—I didn't my first time, and in testing it for this page, I forgot that Ubuntu doesn't use inetd anymore. sudo apt install xinetd is highly recommended for use with Bucktooth.)

Past that, Bucktooth runs remarkably transparently. You don't need to invoke it for it to run, it supports all the streamlined menu customization features in gophermaps, tags, and globbing, there's scripting support in the form of "moles" (Perl scripts marked as executable), and Floodgap offers much documentation for it in the Bucktooth menu on its server. Bucktooth is an incredibly solid server whose effective setup routine alone should make it a contender for you.


< Return to repository

The information I've provided above is provided as-is. Errors may be present. You can contact me at mariteaux@somnolescent.net for corrections.

Last updated 7/18/2020.