Check could really use some love. Any volunteers please?
--Rogerhttps://lists.torproject.org/pipermail/tor-talk/2013-August/029306.html
See /docs
for an idea of what's going on here.
Generating the exit list requires stem, Tor's python
controller library. Assuming you have a virtualenv
ready, just:
pip install -r requirements.txt
Alternatively,
apt-get install python-dateutil python-stem # stem 1.1 is in unstable
For the server itself, you'll need go
. Installing that might look like:
apt-get install git golang
Then you can run make
and wait for git
and rsync
to fetch all the data and launch the server.
Please run the tests before sending a pull request:
make test
The data that make start
pulls in will quickly become stale. What you want to do is run an anon
instance with the following configurations in your anonrc
:
FetchDirInfoEarly 1
FetchDirInfoExtraEarly 1
FetchUselessDescriptors 1
UseMicrodescriptors 0
DownloadExtraInfo 1
Then setup a cron job to run a script like scripts/cpexits.sh
every hour. Setting up TorDNSEL to get the exit addresses is beyond the scope of this readme.
Assuming debian, install the dependencies,
apt-get install git golang python-dateutil python-stem
The cron job and init script assume a base directory of /opt/check
.
git clone https://git.torproject.org/check.git /opt/check
cd /opt/check
make i18n
make exits
make install
Then you start it up,
/etc/init.d/check start
The production check.tpo symlinks TorDNSEL's state file, exit-addresses
,
to its DocumentRoot
. This is to replace what was formerly at exitlist.tpo
Translations are maintained in Transifex. See Tor's translation overview to get involved.
54.7 requests/sec - 47.0 kB/second - 879 B/request
487 requests currently being processed, 63 idle workers
that's check right now (43 million hits over the past 9 days)
MIT