The public TorDNSEL service
What is the TorDNSEL?
TorDNSEL is an active testing, DNS-based list of Tor exit nodes. Since Tor supports exit policies, a network service's Tor exit list is a function of its IP address and port. Unlike with traditional DNSxLs, services need to provide that information in their queries.
Previous DNSELs scraped Tor's network directory for exit node IP addresses, but this method fails to list nodes that don't advertise their exit address in the directory. TorDNSEL actively tests through these nodes to provide a more accurate list.
The full background and rationale for TorDNSEL is described in the official design document. The current service only supports the first query type mentioned in that document.
How can I query the public TorDNSEL service?
Using the command line tool dig, users can ask type 1 queries like so:
What do the received answers mean?
A request for the A record "18.104.22.168.6622.214.171.124.1.ip-port.exitlist.torproject.org" would return 127.0.0.2 if there's a Tor node that can exit through 126.96.36.199 to port 6667 at 188.8.131.52. If there isn't such an exit node, the DNSEL returns NXDOMAIN.
Other A records inside net 127/8, except 127.0.0.1, are reserved for future use and should be interpreted by clients as indicating an exit node. Queries outside the DNSEL's zone of authority result in REFUSED. Ill-formed queries inside its zone of authority result in NXDOMAIN.
How do I configure software with DNSBL support?
Users of software with built-in support for DNSBLs can configure the following zone as a DNSBL:
[service port].[reversed service address].ip-port.exitlist.torproject.org
An example for an IRC server running on port 6667 at IP address 184.108.40.206:
How reliable are the answers returned by TorDNSEL?
The current public service is operating on an experimental basis and hasn't been well tested by real services. Reports of erroneous answers or service interruption would be appreciated. Future plans include building a fault tolerant pool of DNSEL servers. TorDNSEL is currently under active development.
How can I run my own private TorDNSEL?
You can learn all about the code for TorDNSEL by visiting the official hidden service through Tor.
You can download the latest source release from the hidden service or from a local mirror. It's probably wise to check out the current revision from the darcs repository hosted on the aforementioned hidden service.
For more information or to report something useful, please email the tordnsel alias on our contact page.