Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Pure Scheme Gopher Server http://www.sacrideo.us/v5/proj/goscher/
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
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))