Overview
The Scheme Untergrund Networking Package (SUnet, for short) is a collection of applications and libraries for Internet hacking in Scheme. It runs under Scsh, the Scheme shell. SUnet includes the following components:
- The SUnet Web server
-
This is a highly configurable HTTP 1.0 server in Scheme.
The server is accompanied by some libraries which may also
be used separately:
URI and URL parsers and unparsers
a library for writing CGI scripts in Scheme
server extensions for interfacing to CGI scripts
server extensions for uploading Scheme code
simple structured HTML output library
The server also ships with a sophisticated interface for writing server-side Web applications called SUrflets.
- The SUnet ftp server
- This is a complete anonymous ftp server in Scheme.
- ftp client library
- This library allows you to access ftp servers programmatically.
- netrc library
- This library parses authentication information
contained in
~/.netrc. - SMTP client library
- This library allows you to forge mail from the comfort of your own Scheme process.
- POP3 client library
- This library allows you to access your POP3 mailbox from inside scsh.
- RFC822 header library
- This library parses email-style headers.
- Daytime and Time protocol client libraries
- These libraries lets you find out what time it is without paying for a Rolex.
- DNS client library
- This is a complete, multithreaded DNS library.
- An ls clone
- This library displays Unix-style directory listings without running ls.
1.1 Obtaining the system
The SUnet code is available here. To run the code, you need version 0.6.6 or later of scsh.
1.2 How to install SUnet
Starting with version 2.1 SUnet conforms to the packaging proposal for scsh by Michel Schinz and needs Michel's installation library to install properly. For more information, please see http://lamp.epfl.ch/~schinz/scsh_packages/.
In short, this means that you can install SUnet by unpacking the SUnet tarball and issuing the following command in the created directory:
scsh-install-pkg --prefix /path/to/your/package/root
See the file INSTALL for the generic installation instructions for scsh packages.
You need to install version 4.9 of the SSAX package to use SUnet. SSAX is available from http://lamp.epfl.ch/~schinz/scsh_packages/.
1.3 How to use the packages
After installation, you can use the -lel command-line option to
load the package definitions. If you installed SUnet including
SUrflets (the default), you need to load SSAX as well:
atari-2600[72] scsh -lel SSAX-4.9/load.scm -lel sunet-2.1/load.scm Welcome to scsh 0.6.6 (King Conan) Type ,? for help.
Now, all structures defined by SUnet and SSAX are available:
> ,open ftp Load structure ftp (y/n)? y [netrc netrc.scm] [ftp ftp.scm] > call library code > ,exit atari-2600[73]