$Id: README,v 1.29 2002/08/17 18:20:58 weasel Exp $ ##################################################################### ## R E A D M E F O R E C H O L O T ########################### ##################################################################### | Echolot, das: German, sonic depth finder Echolot is a Pinger for anonymous remailers. A Pinger in the context of anonymous remailers is a program that regularily sends messages through remailers to check their reliability. It then calculates reliability statistics which are used by remailer clients to choose the chain of remailers to use. Additionally it collects configuration parameters and keys of all remailers and offers them in a format readable by remailer clients. This is Echolot2. Besides the name, author and purpose this has nothing to do with Echolot1. It's written from scratch. LICENSE ------- Please see the file named "LICENSE". REQUIREMENTS ------------ in general: Data::Dumper (should be part of perl-base) Digest::MD5 HTML::Template a local Mail Transfer Agent for type1 pings GnuPG (1.0.7) GnuPG::Interface (0.33) for type2 pings a Mixmaster installation Indirect requirements: Class:MethodMaker (by GnuPG::Interface) File::Spec (by HTML::Template, should be in more recent perl-base) SETUP ----- o Create a new unix user named »pinger« (You can actually use any name you wish but I will refer to the user as pinger in this document). o Make sure you have the perl libraries mentioned above and GnuPG installed properly. o Copy all Echolot files and directories to ~pinger/echolot o Copy/Rename the pingd.conf.sample file to pingd.conf. o Check the homedir setting and set sitename in pingd.conf. o If the Mixmaster executable »mix« is not in your PATH, set the »mixmaster« config option in pingd.conf. Echolot can use any available mixmaster binary (e.g. your remailer's mix). It will not share pool or keyrings with the existing installation (it sets the MIXPATH environment variable). If you prefer you can build one for Echolot and place it in ~/Mix. Don't bother putting configuration or keyrings there though - they won't get used. o If the GnuPG executable »gpg« is not in your PATH, set the »gnupg« config option in pingd.conf. o Set my_localpart and my_domain in pingd.conf to the appropriate values for your pinger. Mail to my_localpart@my_domain needs to reach Echolot. o Make sure your MTA supports user defined mailboxes. so that my_localpart+anything@my_domain also reaches Echolot. ^^^^^^^^^ If you use another character instead of + to indicate a user defined extension set recipient_delimiter accordingly in pingd.conf. postfix: add »recipient_delimiter = +« to main.cf. o Echolot can read its incoming mail either from a mbox format mailbox or from Maildir. The latter is preffered for technical reasons (Maildir is superiour to mbox because it does not require any locking). The »mailin« config variable defines where mail is read from. It defaults to »mail«. If it's a directory, Maildir is assumed, mbox format otherwise. Mbox: It's probably best to change the »mailin« config option to »/var/spool/pinger« (or whatever it is on your system). Maildir (recommended): Mail should be delivered to /home/pinger/echolot/mail which is a Maildir mailbox, i.e there are 3 directories: /home/pinger/echolot/mail/tmp, /home/pinger/echolot/mail/cur and /home/pinger/echolot/mail/new. Qmail, postfix and procmail can do this. Example snipped for procmail: :0 $HOME/echolot/mail/ (the trailing slash is important!) Example for qmail: echo "./echolot/mail/" > .qmail; touch .qmail-default To use procmail with postfix set »mailbox_command = /usr/bin/procmail« in main.cf. o Run »./pingd --verbose start«. o Run »./pingd add
..« in another terminal look at the first terminal where you started pingd. It should print something about adding addresses. o Run »./pingd getkeyconf« to request new remailer-key and remailer-conf immediatly. o pingd can be stopped with »./pingd stop« or with Ctrl+C on the terminal where it runs. When everything works you may start pingd with o »./pingd --detach --verbose start« o You can tail the output file to get the debugging output: »tail -f output« o In the tools directory you find the »pingctl« wrapper for Echolot. It takes care of checking ulimits, userid and cd'ing to the right directory. If you want you can install it as an init script in /etc/init.d or similar and link it from the runlevel directories if your init is SysV style. o Echolot puts its stats in the result directory. It also produces an index file name echolot.html. If you want to have it as your default index page, symlink it to index.html with something like »ln -s echolot.html index.html« in the result directory or set the indexfilebasename option to index.html. o Echolot produces .meta files per default. These files include extra headers that your http server should send to clients. With apache you can load the mod_cern_meta module and set MetaFiles to "on". [ make sure MetaSuffix matches your meta_extension setting (".meta" by default) and MetaDir is set to "." ] CONFIGURATION ------------- Consult the pingd.conf.5 manpage for documentation on configuration options. To get all available configuration options and their current value run »./pingd dumpconf«. After changing pingd.conf you need to restart pingd. CAVEATS ------- - Echolot will keep open all ping and metadata files. This means it needs quite a few file descriptors (about 2 * total keys or 6 to 8 * remailers + some for perl). If you have a very strict ulimit for open files you need to increase it. Something like 512 should be plenty. If you get obscure errors this might probably be it. Please report bugs and feature requests at http://savannah.gnu.org/bugs/?group=echolot The Echolot homepage is at http://www.palfrader.org/echolot/ ACKNOWLEDGEMENTS ---------------- Orange Admin for contributing ideas and templates The FSF for savanna.gnu.org. All testers of Echolot.