1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
$Id: README,v 1.24 2002/08/10 01:36:47 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 Mail should be delivered to /home/pinger/echolot/mail which must be 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 <address> <address> <address>..� 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.
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.
|