############################################################## # # # CONFIGURATION FILE FOR THE MOTSOGNIR GOPHER SERVER # # # # This configuration file controls how the motsognir gopher # # server should behave. Every option listed here can be # # overloaded through command-line. Example: # # $ motsognir --gopherport 7070 # # # # motsognir can run without a config file at all, provided # # that it gets its configuration through command-line # # options. To disable the config file lookup, use the # # command-line --config parameter with an empty argument: # # $ motsognir --config '' --gopherport 7070 etc # # # ############################################################## ## Server's hostname ## # The hostname the gopher server is reachable at. This setting is highly # recommended, because the gopher protocol is heavily relying on self-pointing # links. If not declared, the server's IP address will be used instead. GopherHostname=chate.io ## Gopher TCP port ## # The TCP port on which the public Gopher server listens on. # Usually, gopher servers are published on port 70. Default: 70. GopherPort=70 ## Bind on IP address ## # Set this 'bind' parameter to the IP address you'd like Motsognir to listen # on. Note, that this parameter must be either an IPv6 address, or an IPv4 # address written in IPv4-mapped IPv6 notation (for ex. "::FFFF:10.0.0.1"). # If not specified, Motsognir will listen on all available IP addresses. # This setting might be useful if you have a multihomed server, and you would # like to serve different content for each IP address. # Examples: # bind=2001:DB8:135:A0E3::2 # bind=::FFFF:192.168.0.3 bind= ## Disable IPv6 support ## # Set this to 1 to DISABLE IPv6 support within Motsognir. Please note that # when IPv6 is enabled (which is the default), Motsognir may or may not listen # to both IPv4 and IPv6 sockets. This is somewhat of a mess, and it is related # to how your operating system treats IPv6 sockets. Most sane operating # systems support dual-stack sockets. In such environments, Motsognir will # open an IPv6 socket and mark it as "not-only-ipv6" (setting IPV6_BINDV6ONLY # to false), thus instructing the operating system to accept both IPv4 and # IPv6 packets on this socket. Unfortunately, some exotic systems are # religiously against dual-stack sockets (as of 2019, I know about at least # two such systems: OpenBSD and DragonFlyBSD). On these systems, an IPv6 # socket is unable to accept IPv4 packets, hence Motsognir ends up receiving # exclusively IPv6 traffic. As a workaround for such systems, one should run # two instances of Motsognir (one for each protocol). This means two separate # configuration files: one with and one without the setting below being set. disableipv6=1 ## Root directory ## # That's the local path to Gopher resources. Note, that if you use a chroot # configuration, you must provide here the virtual path instead of the real # one. # The default path is /var/gopher/ GopherRoot=/var/www/gopher/root/ ## Allowed public directories ## # In specific situations, it may happen that you'd like to be able to serve # files from outside of your gopher root (typically, if you used symlinks # inside your gopher root, that points to other places of the file system). # By default Motsognir won't allow such resources to be served, since requests # that try to access anything outside of the gopher root are considered as # potentially malicious. However, if you do want to serve content from outside # your gopher root, then fill in below the list of directories that are # allowed to be served. Items of this list should be separated by a ':' char. # Example: PubDirList=/srv/files:/var/lib/stuff:/tmp PubDirList= ## User home directories ## # If you'd like to serve gopher content from user directories, using the # classic /~user/ URL scheme, then define the user directories location here # below. The configured location must contain a '%s' tag, which will be # substituted with the username by motsognir. This must be an absolute path. # If nothing is configured, then support for serving content from user # directories won't be available. Example: # UserDir=/home/%s/public_gopher/ UserDir= ## chroot configuration ## # If you'd like to put Motsognir inside a chroot jail, configure here the # chroot directory that shall be used. By default no chroot is used. chroot= ## Paranoid mode ## # For paranoidal security, you might want to enable "Paranoid mode". In this # mode, Motsognir accepts to serve only files with permissions set to "world # readable". # Possible values: 0 (disabled) or 1 (enabled). Disabled by default. ParanoidMode=1 ## Plugin ## # Power-admins might want to craft some additional logic into Motsognir. This # is possible using a 'plugin', ie. a simple application or php script that # Motsognir will submit incoming queries to. The plugin can decide whether or # not it wants to handle a given query (if not, then Motsognir will process it # as usual. The queries that Motsognir will submit to the plugin can be # filtered by using a 'PluginFilter'. This is a 'POSIX extended' regular # expression that will be compared to every incoming query, and only matching # queries are submitted to the plugin. Read more in the manual. Plugin= PluginFilter= ## Activate the verbose mode ## # Here you can enable/disable the verbose mode. In verbose mode, Motsognir # will generate much more logs. This is useful only in debug situations. # Possible values: 0 (disabled) or 1 (enabled). Disabled by default. Verbose=0 ## Syslog facility ## # Motsognir logs all its messages through the LOG_DAEMON syslog facility by # default. In some situations you may want to change the logging facility to # a custom one. Setting LogFacility to an integer between 0 and 7 will make # motsognir log its messages through the syslog facility LOCAL0-LOCAL7. LogFacility= ## CGI support ## # The line below enables/disables CGI support. Read the manual for details. # Possible values: 0 (disabled) or 1 (enabled). Disabled by default. GopherCgiSupport=1 ## PHP support ## # There you can enable PHP support. # Possible values: 0 (disabled) or 1 (enabled). Disabled by default. GopherPhpSupport=0 ## Sub-gophermap scripts ## # If you'd like to use sub-gophermap scripts in your gophermaps, set # SubGophermaps. # Possible values: 0 (disabled) or 1 (enabled). Disabled by default. SubGophermaps=1 ## Period-stuffing and period-terminator for text files ## # RFC 1436 mandates that text files returned by a gopher server must feature # a dot terminator (a single period on a line on its own), and that any dot # appearing at the start of a line shall be doubled. # Many (most?) gopher clients do not follow these requirements, and fail to # process such extra periods. Enabling 'NoTxtPeriod' will prevent motsognir # from adding any such periods. Please note that while this may have a # practical value, it is a blatant violation of RFC 1436. NoTxtPeriod=0 ## Secondary URL-delimiting char # By default, only the '?' char is recognized as a delimiter between an # object and the query that must be run on the object. With this parameter, # you can define an additional character that will be equivalent to '?'. This # character must be provided in a numerical form, as an ASCII value. # Example for the hash (#) character: # SecUrlDelim=35 SecUrlDelim= ## Run as another user ## # If you start motsognir under a root account, you might want to configure # it so it drops root privileges as soon as it doesn't need them anymore and # switches to another user. This is recommended for increased security, # unless you already run Motsognir as a non-root user. To do so, provide here # the username of the user that Motsognir should run as. Default = no value. RunAsUser=www-data ## Default gophermap # # If you wish that your server would use a default gophermap when displaying # a directory that do not have a gophermap, you can specify here a path to # the gophermap file you'd like to use. DefaultGophermap= ## HTTP error file # When Motsognir receives a HTTP request, it answers with a HTTP error, along # with a html message indicating why it is wrong. If you'd like to use a # custom html file, you can set it here. Note, that the specified file is # loaded when Motsognir's starts. If you modify the file afterwards, you'll # need to restart the Motsognir process for the file to be reloaded. # Example: HttpErrFile=/etc/motsognir-httperr.html HttpErrFile= ## Caps.txt support ## # Caps.txt is a specific file-like selector, which allows a gopher client to # know more about the server's implementation (for example what the path's # delimiter is, where is the server located, etc). When enabled, Motsognir # will answer with caps-compatible data to requests for "/caps.txt". # Caps support is enabled by default (CapsSupport=1). CapsSupport=1 ## Caps additionnal informations ## # If Caps support is enabled, you can specify there some additional # informations about your server. These informations will be served to gopher # clients along with the CAPS.TXT data. # Example: # CapsServerArchitecture=Linux/i386 # CapsServerDescription=This is my server # CapsServerGeolocationString=Dobrogoszcz, Poland # CapsServerDefaultEncoding=UTF-8 CapsServerArchitecture=Linux CapsServerDescription=The Chateau CapsServerGeolocationString=NYC, USA #CapsServerDefaultEncoding=UTF-8 ## Extension to filetype mapping ## # Motsognir looks at file's extensions to advertise the proper gopher resource # type. If the default mapping is not suiting you, you can load a custom # mapping using a separate configuration file called an 'extmap', and declare # it below. The extmap file is a simple text file, where every line provides # a mapping for a single file extension, in such format: # txt:0 # pdf:P # gif:g # Note: Extensions in the extmap file are processes in a case-insensitive way. ExtMapFile= # [End of file here]