## The Gopher Lawn Project
gopher://bitreich.org/1/lawn
gopher://hg6vgqziawt5s4dj.onion/1/lawn
by
Christoph Lohmann <
[email protected]>
## Introduction to Gopher
*
https://en.wikipedia.org/wiki/Gopher_(protocol)
»The Gopher protocol /ˈɡoʊfər/ is a TCP/IP application layer protocol designed
for distributing, searching, and retrieving documents over the Internet. The
Gopher protocol was strongly oriented towards a menu-document design
and presented an alternative to the World Wide Web in its early
stages, but ultimately HTTP became the dominant protocol. The Gopher
ecosystem is often regarded as the effective predecessor of the World
Wide Web.«
»was«?
No!
## Gopher Protocol
# sends selector
C: \r\n
# returns content of selector, this time a menu
S: 1\tsome menu text\tselector\tserver.org\t70\r\n
i\tinformational text\tselector\tserver.org\t70\r\n
0\tfile.bin\tfile.bin\tserver.org\t70\r\n
.\r\n
menuitem ::= itemtype + \t + description + \t + selector \t + server + \t + port
C: file.bin\r\n
S: <content of file.bin>
# There should be this last line, but most servers leave it out.
(.\r\n)
Simple, eh?
We want simplicity.
## Gopher URIs
gopher://$server:$port/$type$selector
* type tells the client how to display the content of the selector
* servers do not return some mime-type, so the client will only know through
heuristics what the content is
itemtype meaning
0 plain text
1 menu listing
2 CSO search query
3 error message
4 binhex encododed file
5 binary archive
6 uuencoded text file
7 search engine query
8 telnet session
9 binary file
g gif image
h HTML file (used for redirects)
i informational message
I image file
s audio file
T tn3270 session
## Gopher Clients
Major clients used:
* lynx
* elinks
* various gopher http proxies
Commandline clients:
* curl
* snarf
## Gopher Servers
* afterschock
* bucktooth
* geomyid
* geomyidae
* gn
* gofish
* gophernicus
* gophrier
* gophserv
* goscher
* mgod
* motsognir
* pygopherd
* pygs
* spacecookie
## How to access gopherspace
1. Enter from gopherproject.org
*
gopher://gopherproject.org
2. Search via veronica-2
*
gopher://gopherproject.org/7/v2/vs
3. Use a directory?
*
gopher://bitreich.org/1/lawn (!)
## The Gopher Lawn Project
* Announced on 2017-01-15 on the gopher mailinglist at
[email protected]
* Categories so far
* ascii
* gopher
* history
* onion
* phlog
* software
* wiki
## Contribute to the Gopher Lawn Project
* Come on bitreich IRC.
* If you want to directly edit, become a member.
* If you are not a member, write to me directly for adding some entry.
* All entries are accepted.
* If you are a member, work on automations to search gopherspace and classify
it for the categories.
## Thanks
Thank you for listening!
Questions?