diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 31 |
1 files changed, 25 insertions, 6 deletions
@@ -1,15 +1,34 @@ -## gprsh -- A simple Gopher server in a POSIX shell script +## gosher -- A simple Gopher server in a POSIX shell script -`gprsh` is a Gopher server in a shell script. It requires only a -standard `netcat`. +`gosher` is a Gopher server in a POSIX shell script. It requires only a +standard `netcat(1)`. You start the server using: - $ ./gprsh [<PORT> [<GOPHERDIR>] + $ ./gosher [<PORT> [<GOPHERDIR>] If PORT is not specified, it will bind on port 70. If GOPHERDIR is not provided, it defaults to "./". -`gprsh` reads the index.gph gopherfile in a folder and renders it as a -gophermap. +If the selector is a directory, `gosher` will look for a file named +`gophermap` to render the submenu. If a `gophermap` does not exist, +`gosher` looks for the index.gph gopherfile in the folder and, if it +exists, renders it as a gophermap. + +## Why `gosher`? + +Just for fun. There are only a few TCP/IP application protocols left +that can be implemented in a few dozen lines of POSIX shell script, and +Gopher (RFC 1436) is one of those. + +## Why calling it `gosher`? + +Well, `gosher` is just `gopher` where the `p` is replaced with an `s`, +and `sh(1)` is all that you need to run `gosher` (if we leave +`netcat(1)` out...). + +Also, `gopher` is probably one of the few `kosher` protocols out there. + +According to the Urban Dictionary, `gosher` is "an insult that can mean +anything", so choose your own. |