From 464cedb474557f28b467164ae08bcb04a2d41ab3 Mon Sep 17 00:00:00 2001 From: KatolaZ <katolaz@freaknet.org> Date: Thu, 19 Jul 2018 15:34:17 +0100 Subject: added support for different netcat versions --- README.md | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 15ac4f1..8b57ae0 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,41 @@ 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 "./". +provided, it defaults to "./". Before starting `gosher` you might need +to modify the values of the variables `NETCAT` and `STYLE` in `gosher` +(see "Which netca?" below). 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. +## Which netcat? + +There are currently several different implementations of `netcat`, and +each of them works in a slightly different way and/or offers a different +set of options. For the sake of using `gosher`, the main issue is +whether your `netcat` implementation does exit or not when its standard +input gets closed. Notably, the original `netcat` implementation by +hobbit@avian.org does **not** exit, while other common implementations +(OpenBSD `netcat`, `ncat` from the nmap project, and GNU `netcat`). The +current version of `gosher` can work with different implementations of +`netcat`, provided that the variable `NETCAT` points to the `netcat` +version you want to use, and that the variable `STYLE` in `gosher` is set +correctly. Please check below what is the recommended combination for +your version of `netcat`: + + +----------------+--------+ + | netcat version | STYLE | + +----------------+--------+ + | traditional | 'fork' | + +----------------+--------+ + | OpenBSD | 'pipe' | + +----------------+--------+ + | ncat | 'pipe' | + +----------------+--------+ + + ## Why `gosher`? Just for fun. There are only a few TCP/IP application protocols left -- cgit v1.2.3