akfgopherserver(1) General Commands Manual akfgopherserver(1) NAME akfgopherserver - Gopher-Server SYNOPSIS akfgopherserver [Options] DESCRIPTION The program akfgopherserver is a server for the Gopher protocol (not Gopher+). Gopher is a simple Internet protocol, which is mainly used to distrib‐ ute information in form of plain text files over the net. Other files can be offered for download. This server can be started by regular users when needed. By default, it only responds to requests from local networks, while blocking access from the Internet. If this server is run by a normal, non-privileged user, it uses port 7070. This port must then also be explicitly specified when called up in the client. For example: gopher://localhost:7070. If the program is running in a terminal in the foreground, you can sim‐ ply cancel it with the key combination [Ctrl]+[C]. Otherwise, you can also terminate it using the killall(1) or kill(1). OPTIONS -h --help --Hilfe shows a short help -V --version --Version shows the version -t --text unknkown filenames should be interpreted as text files (type 0). Otherwise they are binary files (type 9). -d directory --directory=directory --Verzeichnis=directory make that directory the root directory. Without this option the current working directory, from which the program is started be‐ comes the root directory. -N Servername --Servername=Servername --servername=Servername sets the Servername. International domain names must be created in ASCII Compatible Encoding (ACE). -p port_number --port=port_number --Port=port_number sets the port_number. This is the port on which this server listens. --Serverport=port_number --serverport=port_number set a virtual different port_number. If the server is con‐ trolled by a frontend, you can set the port_number of that with this. -l --localhost Only listens on the localhost-address for IPv4. That is 127.0.0.1. So with that the server should be only accessible on the same machine and not over the network. -a IP-address --address=IP-addres --Adresse=IP-address binds the server to the given IP-address. This can be used to limit the reachability to a local network. That is more secure than the built in filter. -4 --IPv4 use IPv4 -6 --IPv6 use IPv6 (default) The server may however decide to degrade it to an IPv4 connec‐ tion at will. Whether IPv4 connections are also supported in IPv6 mode depends on the operating system and possibly its settings. -u user_ID --Nutzer=user_ID If the server is started with root privileges (real user_ID), you can use this option to specify another user_ID with whose privileges it should ultimately run. The user_ID can be a name or a numerical indication. -D --daemon starts the server in the background as daemon --open --offen --Internet opens the server to the whole Internet. Attention! This turns off the filter for private networks. The server can be accessed via the Internet. You may also have to release the port on your router for this. -i --inetd Accepts requests on standard input and outputs responses on standard output. If the standard input is a socket, the connec‐ tion data is read from it. ENVIRONMENT HOSTNAME, HOST If one of these variables is set, this is taken as the server name. LC_ALL, LC_MESSAGES, LANG these variables influence the language selection for the screen. DETAILS Files Files that have no dot in the name (and are not executable) are recog‐ nized as text files. One can also use the file extensions .text or .txt. These file extensions are not displayed and underscores are con‐ verted to spaces. Files in the Markdown-format with the extension .md or .markdown are also recognized as text files. For Gopher text files must have less than 80 characters per line. To achieve this, you may use the command fmt(1). Many more file extensions for different file formats are recognized. Files whose name starts with a period are hidden, but can be retrieved. The same ist true for directories. Directories For directories, you can specify a different display name by creating a file called gophertag. So you can keep the path short and still get a reasonable indication. For example, go to a directory called rel/ and enter the following: $ echo 'religious writings' > gophertag Usually the menu is created automatically by file listing. Menus You can also create your own menus. This not only looks better, but is inevitable for several possibilities of Gopher. To create your own menus, a file called gophermap must be created in a directory. Basically, each line represents a menu item. However, lines starting with a hash (#) are comments and are ignored. Lines that do not contain a character become information lines ('i'). This also applies to blank lines. Lines of information should not carry important content, as they may be ignored by the client. Content should be in text files. The format of a gophermap resource line is: Xnameselectorhostport X is the gopher type (see section Gopher Types). name is an explanation of the resource selector is the path to resource host is the hostname port is the port number If you do not specify the host and the port, the current server is en‐ tered for this. In this case, it is also sufficient to specify only the file name as the selector. Then the path will be supplemented, if nessesary. Two dots as a selector ("..") lead to the parent directory. However, if there is a slash in the selector, it is transmitted un‐ changed. You can simply enter a slash for the main directory. Please note that if the host and port are specified, the selector is always transmitted unchanged. At the end of the file there should be a line that contains only one dot ('.'). This completes the menu. If instead there is a line at the end that contains only an asterisk ('*'), an automatic file listing will be appended below. If you generally prefer an automatic file listing, and only want to add individual other entries, you can add files with the file extension .gophermap, which include only one, or a few menu lines. The name of such files is never displayed, but it has an influence on the sorting. Whether such files are finished with a final character, and with which one, is irrelevant. Gopher Types From the original specification: 0 Text file 1 Directory 2 CCSO phone-book server 3 Error 4 BinHexed Macintosh file 5 binary Archive 6 uuencoded file 7 Index-Search server 8 Telnet session 9 Binary + Redundant server T TN3270 session g GIF format graphics file I other Image file extensions i Informational message d Documentation h HTML file X XML file s Sound file ; Movie file c Calendar file M MIME file Other extentions can be used and are in use... EXAMPLE Example for a gophermap file. Instead of "" you must of course use a TAB character. # First a greeting Welcome at exampleserver # Link to the file info in the main directory 0Information/info # Subdirectory 1Books and textsbooks # External server 1Floodgap/gopher.floodgap.com70 # Telnet session 8Telehacknonetelehack.com23 # Links for other protocols are introduced with "URL:" hWebsiteURL:https://akfoerster.de/ . AUTHORS Copyright © 2025 Andreas K. Förster LICENSE This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MER‐ CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . SEE ALSO akfgb(1), akfgopher-dl(1) RFC 1436 gopher://akfoerster.de:47520/1soft/akfnetz https://akfoerster.de/p/akfnetz/ akfnetz 2025-10-21 akfgopherserver(1) .