A simple Gopher server in a POSIX shell script
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gosher/README.md

34 lines
1.1 KiB

## gosher -- A simple Gopher server in a POSIX shell script
`gosher` is a Gopher server in a POSIX shell script. It requires only a
standard `netcat(1)`.
You start the server using:
$ ./gosher [<PORT> [<GOPHERDIR>]
If PORT is not specified, it will bind on port 70. If GOPHERDIR is not
provided, it defaults to "./".
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.