TorDNSEL Exit List Format

TorDNSEL is an implementation of the active testing, DNS-based exit list
for Tor exit nodes.  The implementation is available at

  https://www.torproject.org/tordnsel/dist/

The design and its rationale were described in the Tor sources, see

  https://gitweb.torproject.org/tordnsel.git/blob/HEAD:/doc/torel-design.txt

This document is an attempt to make sense of the exit list format that
TorDNSEL publishes without the original TorDNSEL author being around.


TorDNSEL publishes its exit test results in a single document with entries
using the following format.  The document consists of an arbitrary number
of entries each consisting of four or more lines:  (ExitNode | Published |
LastStatus | ExitAddress*)*.  In the format below, keywords are written in
double quotes and spaces and newlines are explicitly marked as SP and NL:

  "ExitNode" SP fingerprint NL

    The identity of the relay in upper-case hex characters.  This
    fingerprint corresponds to the fingerprint in v2 and v3 network status
    documents as specified in /doc/spec/dir-spec.txt in the Tor sources.

  "Published" SP YYYY-MM-DD SP HH:MM:SS NL

    The publication time, in UTC, of the most recent relay descriptor that
    was known when the test was initiated.  No further test is initiated
    until the relay publishes a new descriptor.

  "LastStatus" SP YYYY-MM-DD SP HH:MM:SS NL

    The last time, in UTC, when the relay was seen in a v2 network status
    document.  A relay is discarded from the list if it was not seen in a
    network status for at least 48 hours.

  "ExitAddress" SP address SP YYYY-MM-DD SP HH:MM:SS NL

    One or more test results for this relay consisting of the found exit
    address and the time, in UTC, when the test was performed.  A test is
    discarded from the list if it is older than 48 hours.