Misc Gopher Projects
------------------------------------------------------------
Experiments
------------------------------------------------------------
# An HTTP request redirector
Some Gopher servers are bilingual, i.e., they speak both
Gopher and HTTP. I don’t want to support that in my own
Gopher server, which means anyone connecting to my server on
port 70 must speak Gopher.
However, if anyone _does_ try to speak HTTP with my server,
I made a little CGI to redirect them to my Web site:
HTTP redirector CGI
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#! /bin/sh
path="$(echo "$SELECTOR" |
sed -e 's,^GET \(.*\) HTTP/1\..$,\1,')"
LOCATION=https://$SERVER_NAME$path
unix2dos <<-EOF
HTTP/1.0 308 Redirecting. This is a Gopher server.
Location: $LOCATION
Connection: close
Content-length: 0
EOF
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This script is in `/GET /index.cgi` (yes, the directory
has a space in its name). I also symlinked `POST ` to the
directory. So any request for `GET /_anything_` will be
handled by that script. (It even preserves the requested
resource in the redirect location.)
It’s like a rewrite rule but in CGI form!
Is it a hack? Most definitely. But so is speaking HTTP over
port 70.
# Asciidoctor text converter
2025-01-28: I’m developing an Asciidoctor text converter.
The following are text converter tests.
TEXT Test of plain text converter
TEXT His Official Fiancée by Berta Ruck (formatting test)
TEXT Little Brother by Cory Doctorow (another formatting test)
# Arduino Gopher server
2025-05-15: I’m developing a Gopher server for Arduino.
This server may be running on a simulated Arduino while it’s
under development, if it’s even available at any given time.
DIR My Arduino Gopher server
# Web Gopher proxy
2025-05-20: I’m developing a Web Gopher proxy. It’s not very
pretty or fully functional yet.
2025-06-04: It’s prettier and almost fully functional now.
I also promoted it to port 80 to officially make it my Web
site.
HTML Web Gopher proxy (HTTP)
HTML Web Gopher proxy (HTTPS)
# Miscellaneous experiments
These may not play nicely with your Gopher client. Proceed
with caution!
TEXT Time of day
------------------------------------------------------------
Gopher tests
------------------------------------------------------------
DIR Dir test
DIR Gopher client tests