Setting Up a Gopher Site

Written By: Jake Bauer | Posted: 2020-05-12 | Last Updated: 2020-05-12

A screenshot of the Lynx web
    browser on the paritybit.ca Gopher homepage.

Today I made my website available over the Gopher protocol! You can now access paritybit.ca at gopher://paritybit.ca with a Gopher-capable browser. To view Gopher sites (commonly referred to as Gopher holes), I recommend using Lynx (Gopher is entirely text anyways) or a browser extension from the Overbite Project.

It was very quick and easy to set up my Gopher hole. All I had to do was set up a Gopher server and place files in the directory where it looks to serve them.

For my Gopher server, I chose Gophernicus because it’s actively maintained and has no dependencies. Many people on the Internet choose to use pygopherd but that relies on Python 2 which was officially deprecated earlier this year.

It was really easy to install Gophernicus thanks to the excellent documentation. All I had to do was install build-essential, debhelper, and libwrap0-dev (the last one is optional), and then run make deb followed by sudo apt install ../gophernicus_<version>.deb. I edited the /etc/default/gophernicus config file and added the -nx -nt -nq -no -nl -nu options (see the README for what they do).

At the moment, I just have a homepage set up which links to some of my recent blog posts. I will need to find an easier way to convert an HTML/Markdown document to Gopher-compatible syntax (if possible) so that I don’t have to do a bunch of conversion by hand. Ideally, I would like to mirror this website over Gopher as much as possible.

Gopher is refreshingly simple. If you’re willing and able, give setting up a Gopher hole a shot!

This is my eighteenth post for the #100DaysToOffload challenge. You can learn more about this challenge over at https://100daystooffload.com.