Skip to content

Gopher

Quick context

  • created in 1991 (University of Minnesota) because scientists were fed up with FTP.
  • still relevant today: fast loading times, low hardware requirements, stateless = no commercial endeavors
  • hierarchical structure: files and folders and that's all

source:

Protocol

Debug with curl

1
curl gopher://gopher.floodgap.com:70

Example:

1
2
0Does this gopher menu look correct?    /gopher/proxy   gopher.floodgap.com 70
1Getting started with gopher, software, more    /gopher gopher.floodgap.com 70

Warning

Each line is tab-separated

Char Explaination
0 First character = service type (0: file, 1: directory, i: menu info)
Does this... label
/gopher/proxy/ selector string (pathname)
gopher.floodgap.com domain name
70 port
line end

Querying

  • search servers / dynamical generation do exist ofc: a search server returns a directory listing matching the keywords
  • flask-gopher (has session mechanisms - ex: savegame for zork)

Questions

gopher+ download files? utf8 ? ansi escape characters? ansi art? reference the same file at multiple locations ?

gopher://theunixzoo.co.uk/1/the-guardian