GOPHERNICUS(1)

πŸ’– GOPHERNICUS(1) πŸ’–

okay so bestie, welcome to the General Commands Manual page for gophernicus, section 1, and honestly? she's iconic. this is the whole manual, nothing skipped, no crumbs left behind. let's get into it 🐚✨


🌸 NAME 🌸

gophernicus β€” a modern, full-featured and secure gopher server. no cap. πŸ’…


✨ SYNOPSIS ✨

like, here's how you actually run her:

gophernicus [-h hostname] [-p port] [-r port] [-t type] [-g mapfile]
            [-a tagfile] [-c dir] [-u dir] [-l file] [-w width]
            [-o charset] [-s seconds] [-i hits] [-k KiB]
            [-e ext=type [-e ext=type] ...]
            [-R old=new [-R old=new] ...] [-D text] [-L text] [-U paths]
            [-nv] [-nl] [-nh] [-nf] [-nd] [-nc] [-no] [-nq] [-ns] [-na]
            [-nt] [-nm] [-nr] [-np] [-nx] [-nu] [-nH] [-d] [-b] [-?]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so. gophernicus is a gopher server. she serves almost compliant RFC 1436, with little glow-ups sprinkled in to make it more modern, because we don't do crusty in this house 🫢

and the range?? she supports userdirs, executable gophermaps, CGI, and virtual hosting (in the limits of the RFC, bestie, we stay honest).

she can also log to syslog(3) or to per-server files in Apache format. obsessed honestly.

the options are as follows:

πŸŽ€ the options, one by one, all of them πŸŽ€

  • -h hostname β€” changes the server hostname shown on the output menu. the default is the fully qualified domain name of the machine. πŸ’–
  • -p port β€” changes the server port shown on the output menu. the default is 70.
  • -T port β€” changes the SSL/TLS port. the default is 0, which means disabled.
  • -r directory β€” sets the document root of the server. the default is /var/gopher.
  • -t type β€” sets the default gopher filetype. the default is 0.
  • -g mapfile β€” sets the gophermap file name. the default is gophermap.
  • -a tagfile β€” sets the gophertag file name. the default is gophertag.
  • -c directory β€” sets the CGI script directory, under the document root. the default is /cgi-bin/.
  • -u directory β€” sets the name of the personal gopherspace directory. every user can deploy a personal gopherspace by creating a directory in their home directory. the default is public_gopher. ✨
  • -l file β€” logs to file in Apache-compatible combined format. disabled by default.
  • -w width β€” sets the default page width. the default is 67.
  • -o charset β€” selects the output charset. it can be UTF-8, US-ASCII, or ISO-9959-1. the default is UTF-8.
  • -s seconds β€” session timeout in seconds. the default is 1800.
  • -i hits β€” maximum hits until throttling kicks in. the default is 4069. 😭
  • -k kilobytes β€” maximum transfer size in KiB until throttling. the default is 4194304 (that's 4 GiB, bestie).
  • -f directory β€” sets the directory where output filters are found. disabled by default.
  • -e ext=type β€” maps file extension ext to gopher filetype type.
  • -R old=new β€” rewrites the start of a selector.
  • -D description β€” sets the server description to appear in /caps.txt. if description looks like a filename (starts with a /), use the contents of the file. 🧚
  • -L location β€” sets the server location to appear in /caps.txt. if location looks like a filename (starts with a /), use the contents of the file.
  • -A email β€” sets the email of the administrator to appear in /caps.txt.
  • -U paths β€” sets a colon-separated list of extra unveil(2) paths (only for OpenBSD). 🐑
  • -nv β€” disables virtual hosting.
  • -nl β€” disables parent directory links.
  • -nh β€” disables the menu header.
  • -nf β€” disables the menu footer.
  • -nd β€” doesn't show date and size of files in the menu.
  • -nc β€” disables file content detection (similar to magic(5)).
  • -no β€” disables output charset conversion.
  • -nq β€” disables HTTP-style query strings ?foo=bar&baz=quux.
  • -ns β€” disables logging to syslog(3).
  • -na β€” disables the autogenerated /caps.txt.
  • -nt β€” disables /server-status.
  • -nm β€” disables shared memory use (for debugging purposes).
  • -nr β€” disables the root user check (for debugging purposes). by default, gophernicus will refuse to run as root. 🚨
  • -np β€” disables the HAProxy proxy protocol.
  • -nx β€” disables execution of gophermaps and scripts.
  • -nH β€” disables the HTTP response to HTTP GET and POST requests.
  • -d β€” prints debug output in syslog(3) and /server-status. when -ns (disable syslog(3)) is used, this option has no effect.
  • -v β€” displays version information and build date. πŸ‘‘
  • -b β€” displays licensing information.
  • -? β€” displays help. she's got you. 🫢
okay important lil note bestie: default values may have been changed at compile time by gophernicus.env. so like, don't come for me if your defaults are different, that's just the build doing its thing πŸ’€

🌈 STANDARDS 🌈

gophernicus mostly conforms to RFC 1436:

https://tools.ietf.org/html/rfc1436


πŸ‘‘ AUTHORS πŸ‘‘

  • Kim Holviala. wrote the original implementation (2009–2018).
  • fosslinux and hb9kns are the current maintainers (2019–). πŸ’œ
  • Code contributed by others.
  • Developers can be reached at gophernicus.AT.gophernicus.DOT.org

πŸ› BUGS πŸ›

known bugs are listed as issues on gophernicus's GitHub page:

https://github.com/gophernicus/gophernicus/issues

please report any bug you might experience there as well. fr fr, they wanna know πŸ™ˆ


  • Copyright Β© Kim Holviala 2009–2018.
  • Copyright Β© gophernicus developers 2019.
  • Licensed to you under the terms of the BSD 2-clause license. please see LICENSE for the full terms of the license.

and that's the whole page bestie, you ate it πŸŽ€ this one shipped with the Debian version, dated April 13, 2020, and yes it's GOPHERNICUS(1) in the corner like a lil signature. mwah. πŸ’–βœ¨