---
name: "gophernicus"
section: "8"
platform: "linux"
package: "gophernicus"
version: "3.1.1-3.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/gophernicus"
---

# gophernicus(8)

A modern, full-featured and secure gopher server

## NAME

**gophernicus** – A modern, full-featured and secure gopher server

## SYNOPSIS

**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

**gophernicus** is a gopher server. It serves almost compliant RFC 1436, with small changes to make it more modern. **gophernicus** supports userdirs, executable gophermaps, CGI, and virtual hosting (in the limits of the RFC).

**gophernicus** can log to [syslog(3)](/syslog/3.md) or per-server files in Apache format.

The options are as follows:

- **-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* (disabled).

- **-r** *directory*

  Set the document root of the server. The default is */var/gopher*.

- **-t** *type*

  Set the default gopher filetype. The default is *0*.

- **-g** *mapfile*

  Set the gophermap file name. The default is *gophermap*.

- **-a** *tagfile*

  Set the gophertag file name. The default is *gophertag*.

- **-c** *directory*

  Set the CGI script directory, under the document root. The default is */cgi-bin/*.

- **-u** *directory*

  Set the name of the personal gopherspace directory. Each user can deploy a personal gopherspace by creating a directory *directory* in their home directory. The default is *public\_gopher*.

- **-l** *file*

  Log to *file* in Apache-compatible combined format. Disabled by default.

- **-w** *width*

  Set default page width. The default is *67*.

- **-o** *charset*

  Select 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. The default is *4069*.

- **-k** *kilobytes*

  Maximum transfer size in KiB until throttling. The default is *4194304* (4 GiB).

- **-f** *directory*

  Set directory where output filters are found. Disabled by default.

- **-e** *ext*=*type*

  Map file extension *ext* to gopher filetype *type*.

- **-R** *old*=*new*

  Rewrite the start of a selector.

- **-D** *description*

  Set server description to appear in */caps.txt*. If *description* looks like a filename (starts with a /), use the contents of the file.

- **-L** *location*

  Set server location to appear in */caps.txt*. If *location* looks like a filename (starts with a /), use the contents of the file.

- **-A** *email*

  Set the email of the administrator to appear in */caps.txt*.

- **-U** *paths*

  Set a colon-separated list of extra unveil(2) paths (only for OpenBSD).

- **-nv**

  Disable virtual hosting.

- **-nl**

  Disable parent directory links.

- **-nh**

  Disable menu header.

- **-nf**

  Disable menu footer.

- **-nd**

  Don't show date and size of files in menu.

- **-nc**

  Disable file content detection (similar to [magic(5)](/magic/5.md)).

- **-no**

  Disable output charset conversion.

- **-nq**

  Disable HTTP-style query strings ‘?foo=bar&baz=quux’.

- **-ns**

  Disable logging to [syslog(3)](/syslog/3.md).

- **-na**

  Disable autogenerated */caps.txt*.

- **-nt**

  Disable */server-status*.

- **-nm**

  Disable shared memory use (for debugging purposes).

- **-nr**

  Disable root user check (for debugging purposes). By default, **gophernicus** will refuse to run as root.

- **-np**

  Disable HAProxy proxy protocol.

- **-nx**

  Disable execution of gophermaps and scripts.

- **-nH**

  Disable HTTP response to HTTP GET and POST requests.

- **-d**

  Print debug output in [syslog(3)](/syslog/3.md) and */server-status*. When **-ns** (disable [syslog(3)](/syslog/3.md)) is used this option has no effect.

- **-v**

  Display version information and build date.

- **-b**

  Display licensing information.

- **-?**

  Display help.

Default values may have been changed at compile time by *gophernicus.env*.

## 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.

## COPYRIGHT

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.
