Note: This service is being replaced with [https://blog.torproject.org/blog/torbel-tor-bulk-exit-list-tools TorBEL]
= Introduction =
It is useful for a variety of reasons to determine if a connection is coming from a Tor node. Early attempts to determine if a given IP address was a Tor exit used the directory to match IP addresses and exit policies. This approach had a number of drawbacks, including false negatives when a Tor router exits traffic from a different IP address than its OR port listens on. The [https://www.torproject.org/svn/trunk/doc/contrib/torel-design.txt Tor DNS-based Exit List] was designed to overcome these problems and provide a simple interface for answering the question: is this a Tor exit?
= Implementation =
An implementation of the Tor DNS Exit List has been completed at [http://exitlist.torproject.org/ exitlist.torproject.org]. DNS queries are answered via this host in the manner described in the design document. The exit nodes are tested regularly to avoid the false negatives when inspecting the directory entries alone.
A web front end for this service is available at [http://check.torproject.org/ check.torproject.org].
Sources for the tordnsel are available at [http://p56soo2ibjkx23xo.onion/darcs/tordnsel p56soo2ibjkx23xo.onion/darcs/tordnsel]. You can sync with the following commands through an http proxy at port 8118 forwarding to Tor:
{{{
env http_proxy=http://127.0.0.1:8118/
darcs get http://p56soo2ibjkx23xo.onion/darcs/tordnsel
}}}
= Examples =
The following examples describe how to utilize this service in various ways. Please add to this list if you have implemented hooks for a language or framework not provided below.
Querying Tor DNS Exit List for IP 71.111.92.174 to destination 66.135.40.74 at port 80 ... Done.
71.111.92.174 does not appear to be a Tor exit.
}}}
== Dig command line ==
The DNS query tool "dig" can also be used to make manual queries as described on the torel page. Remember to reverse the IP address octets in the query sent: