Skip to content
Pure Scheme Gopher Server
Scheme Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
conf
data
BUGS
INSTALL
LICENSE
Makefile
Makefile.install
README
TODO
build.ss
goscher.ss

README

		Goscher: A Scheme Gopher Server
		===============================
		Author: Aaron W. Hsu

		"Yeah, but is it Goscher?" - Peter Danenberg

		Copyright (c) 2010
		Licensed under the ISC License.

OVERVIEW
--------

Goscher is a lean Scheme Gopher server currently designed to be run 
under inetd or as a standalone server. 
It supports a clean, minimal set of features for hosting Gopher
repositories.

FEATURES
--------

Currently Gopher only supports the display of files in a set hierarchy 
with custom descriptions and user-specified extension to file-type 
mappings.

INSTALLATION
------------

See the INSTALL file.

RUNNING
-------

Simply make sure that you run goscher as follows:

goscher [options] [config-file]

Options:

  -q  This will make goscher work in quiet mode.
  
The config-file can be left out and the default will be used, or you can
specify a particular configuration file.

CONFIGURATION
-------------

First make sure that /etc/goscher/goscher.conf matches the example, 
and that the host name is correct, or specify a different path to the
configuration file in the command line.

Goscher currently expects to find its data directory in /var/goscher 
and its configuration in /etc/goscher. You can change this by editing
the configuration file. Right now the only supported goscher support
files are extensions.X files which specify the extensions that map to
file types. Each extensions file maps a list of extensions to the file
type 'X' which is the last part of the file name, and should be only
one letter or digit. The extensions are listed one extension per line.

In every directory of the data directory, there can be a +INDEX file, 
which specifies the properties associated with every file in that 
directory. It is formatted as a Scheme S-Expression Association list.

	(("filename" (property . value) ...) 
         ...)

The currently supported properties are:

	name 		Description of file displayed on the entry.
	type		Type of the file in Gopher Terms.

It is possible to tweak the configuration and location of the files, 
but if you change the location of goscher.conf, you must pass this 
file explicitly to the goscher program on launch as the first argument.

LOG FILE
--------

You must provide a log file in the configuration file, or Goscher will
use the default. At the moment there is no support for not having a log
file.

SPECIAL FILES
-------------

Other than +INDEX, there are also special files that you can create 
which allow you to do things in Goscher.

GOPHER LINKS (file@): 

	These files contain pair based association lists in Scheme 
	format which allows you to access foreigh gopher servers. 
	They are expected to have at least five attribute:

		name		Printed Name of the entry
		selector	The path on the remote server
		server		Remote host name
		port		Remote port name
		type		Document type in gopher form

	A sample entry would be:

		((name . "Floodgap Server")
 		 (server . "gopher.floodgap.com")
 		 (port . 70)
 		 (selector . "")
 		 (type . 1))
You can’t perform that action at this time.