Lets face it, cypherpunk remailers are not that easy to use, especially if
you want to chain them and use encryption (the only way they should be
used). In the dark ages (it must have been at least a few months ago), I
downloaded a script which would do all the dirty work needed to chain
remailers. The downside was that all the remailer information was coded in,
and it was badly out of date.  Since Cypherpunks write code (TM), I set to
work, and the result is "chain".

If you are reading this I assume that you have gotten Chain.tar from
http://nately.ucsd.edu/~loki/
and have untared it into some reasonable location. You should have the
following files:

all.keys.asc            PGP keys for all the remailers in remailer.list
chain*          The chaining script
makefile                make file for rnd the random number generator
rc4.c                   RC4 code, the reason for export control
rc4.h                   header file.
remailer.list           This is the list of remailers and info about what
they can do
rnd.c                   Code for the random number generator

The first thing you should do is build the random number generator.  Edit
the makefile and change the definition of CC to be the name of the compiler
you use.  Type make. If nothing bad happened, you should now have an
executable called rnd. This can be called from any script. It takes one
argument, the number of 16bit random numbers that you want it to give you,
separated by returns. With no argument it returns one such number.

Now you should put the keys of the remalers in you public key ring. To do
this just type pgp all.keys.asc, and tell pgp to put all the keys in the
ring. Now you should create a key to sign them with to keep PGP from
whining. Mine is called "Bogus key signing key", to keep me from getting
confused. To sign the nately remailer's key with the bogus key, the command is:
pgp -kc remailer@nately -u bogus

Now you have to tell chain where the list of remailers is. Near the top
of the chain script you will see the line:
set location = ~loki/Anon/Chain/remailer.list
You should replace the ~loki/Anon/Chain/remailer.list with the path
to your copy of remailer.list.

Now you are ready to use chain. The primary function of chain is to mail a
file through a series of remailers. It takes maximum advantage of all their
abilities. If the remailer supports encryption, the message is encrypted to
it. If it supports cutmarks, then the message is padded under the
encryption layer. If the last remailer in the chain (which is the first one
you specify) supports hashmarks, then you may enter a subject for the mail
to be delivered with.  Chain does not yet support posting, although you can
easily use chain to anonymously send a message to any mail to news gateway.

Chain can also be used to generate return address blocks, which are
appended to the file you specify. If this block is placed at the top of a
message, and the instructions followed, the message will be mailed back to
the address you give. See the nately remailer help message for more
information (mail to: remailer@nately.ucsd.edu  with Subject:
remailer-help).

Chain accepts one argument: remail or return. This indicates whether you
want to send a message through a chain of remailers, or if you want to
create a return address block. If you do not give an argument, then you
will be prompted for this choice.

Chain then asks you for the file you wish to send (or append the return
address to).
You are then asked to give the final destination for the message. This
should be a full internet address (e.g. loki@nately.ucsd.edu), remember it
is being mailed from the last remailer in the chain, a local address will
not be understood.
Chain then displays a list of remailers and asks which one you want. The
first remailer you give will be the last in the chain. The program builds
the message in layers from the inside out.  Each remailer will strip off
the outermost layer and send on the rest.

The first remailer you specify (the last in the chain) is special. If it
supports hash marks (meaning you can add headers), you will be asked to
specify a subject for the message. This is the only way a chained message
can have a subject. It will not identify the message on rout because it is
only added on by the last remailer. If the remailer supports cutmarks, you
are asked if you wish to specify what to use. This is useful if you have
added padding or a sig that you want to be removed.

After the first remailer, you may keep listing remailers to be used, until
you have a chain of the desired length. Then hit q or return when asked for
the next remailer.
If you are sending a message you will be asked if you want to send it now.
The default is yes. The program assumes that your mail program is called
mail, and tries to send the message using "mail first-remailer@foo.com <
tempfile". If you choose not to send it immediately, then the fully
processed message is stored in the file you specify. To send it, just mail
the file to the first remailer in the chain (the last on that you gave
chain).

If you have any problems or questions please mail me.

        -Lance Cottrell <loki@nately.ucsd.edu>

--------------------------------------------------
Lance Cottrell  who does not speak for CASS/UCSD
loki@nately.ucsd.edu
PGP 2.6 key available by finger or server.

"Love is a snowmobile racing across the tundra.  Suddenly
it flips over, pinning you underneath.  At night the ice
weasels come."
                        --Nietzsche

