Muffin INSTALL - installation instructions
 _____ _   _  _____ _____ ___   _      _     
|_   _| \ | |/  ___|_   _/ _ \ | |    | |    
  | | |  \| |\ `--.  | |/ /_\ \| |    | |    
  | | | . ` | `--. \ | ||  _  || |    | |    
 _| |_| |\  |/\__/ / | || | | || |____| |____
 \___/\_| \_/\____/  \_/\_| |_/\_____/\_____/

This file explains how to install Muffin on Unix, Win32, and MacOS.
Also included are running and browser configuration instructions.


UNIX INSTALLATION:

* `cd' to the top-level muffin directory and type `./configure'.

  $ cd muffin-x.x
  $ ./configure

* (optional) Compile the muffin java source code using `make'.
  This will compile all the .java files in the `src' directory
  into .class files using `javac'.  Create a jar file of all
  the new class files using `make jar'.  This will create
  `muffin.jar' in the `lib' directory.

  $ make
  $ make jar

* Type `make install' to install `muffin.jar' and `muffin'.
  `muffin.jar' is the archive of all the muffin java class
  files and `muffin' is a shell script which invokes the
  java runtime system.  Installed files:

  /usr/local/bin/muffin
  /usr/local/lib/muffin.jar

  $ make install


WINDOWS INSTALLATION:

* None yet.


MACINTOSH INSTALLATION:

* None yet.


RUNNING:

There are a few different ways to run Muffin.  

* Execute `muffin'.

  Unix:
  $ muffin [options]

* Run muffin directly from the java source tree.

  Unix:
  $ cd muffin-x.x/src
  $ java muffin.Main [options]

  Win32:
  C:\> cd \muffin-x.x\src
  C:\> \jdk1.1.4\bin\java muffin.Main [options]

* Muffin developers should probably use -cs:

  Unix:
  $ cd muffin-x.x/src
  $ java -cs muffin.Main [options]

* Run muffin by including muffin.jar in your java classpath.

  Unix:
  $ CLASSPATH=/home/user/muffin-x.x/lib/muffin.jar:/usr/local/java/lib/classes.zip
  $ export CLASSPATH
  $ java muffin.Main [options]

* Use jre

  Unix:
  $ jre -cp /home/user/muffin-x.x/lib/muffin.jar muffin.Main [options]

  Win32:
  C:\> \jdk1.1.4\bin\jre -cp \muffin-x.x\lib\muffin.jar muffin.Main [options]

  (Windows users might want to use this as a desktop shortcut)


`[options]' above refers to muffin command-line options.
These include:

  -dir DIR              Preferences directory.
  -help                 This useful message.
  -httpProxyHost HOST   Use HOST as the HTTP proxy.
  -httpProxyPort PORT   Use PORT as the HTTP proxy port.
  -nw                   Don't create any windows.
  -port PORT            Listen on PORT for browser requests.
  -v                    Display muffin version.


BROWSER CONFIGURATION:

Web browsers need to be configured to use Muffin as a HTTP proxy
server.  Proxy configuration is usually found within network
preferences.  Set the HTTP proxy host to the name (or IP) of the host
Muffin is running on and set HTTP proxy port to 51966.

If your browser is already configured to use a proxy, setup the
browser to use Muffin as a proxy and setup Muffin to use the original
proxy.  (See the Muffin "Options..." window to configure Muffin to use
a proxy)

Check the Muffin "Options..." window to see if Muffin allows access to
your web browser.  "HostsAllow" and "HostsDeny" are comma separated
lists of IP addresses that are allowed and denied.  Partial IP address
can be specified and "ALL" matches all IP addresses.  An example
partial IP address would be 130.191.13. which is the same as all hosts
in the range 130.191.13.1 to 130.191.13.255.
