1

I set up my web server to proxy my dirport to port 80 (to try to make things easier for folks who are firewalled) and found something interesting.

The following requests were proxied successfully with code 200 (by count):

 12 /tor/server/d/[...]
  9 /tor/server/authority.z
  8 /tor/server/authority
  5 /tor/keys/fp/[...]
  4 /tor/status-vote/current/consensus/[...]
  2 /tor/status-vote/current/consensus-microdesc/[...]
  1 /tor/status-vote/current/consensus.z
  1 /tor/running-routers
  1 /tor/micro/d/[...]

However, all of these were code 404 (by count):

  8016 /tor/status/all.z
     4 /tor/server/fp.z
     4 /tor/server/d/[...]
     3 /tor/status/all
     1 /tor/server/d.z
     1 /tor/micro/d/[...]

At first I thought something was up with the way I'm doing the proxy, but if I hit port 9030 directly and try to fetch /tor/status/all.z, all I get is a blank page, so I'm assuming it's not a valid URI. That being the case, why the very high count? Is it a 'legacy' URI that is no longer valid, but being requested by older clients? (I know it's at least v2 because it's behind /tor/.)

Just trying to understand the very high number of failures...

Thanks,

Rodney

1 Answer 1

1

Your assumption is correct. Those are older clients who attempt to fetch a version 2 directory. The current directory version is 3, and version 2 was phased out earlier this year: https://trac.torproject.org/projects/tor/ticket/10758.

If you're curious whether a certain URI is version 2 or 3, grep the directory protocol specification documents: https://gitweb.torproject.org/torspec.git/blob/HEAD:/dir-spec.txt and https://gitweb.torproject.org/torspec.git/blob/HEAD:/attic/dir-spec-v2.txt.

Oh, and here's the explanation why the failure rate seems so high: recent clients don't send requests to the directory port anymore, but create a circuit to your relay's OR port and tunnel the directory request through that. That's why you see hardly any successful version 3 requests. You'll get a better picture of things if you look at the extra-info descriptor that your relay publishes.

Unfortunately, there's no easy way to find out. You could look at your relay's data directory. But maybe it's easiest to just fetch the most recent 20 files of https://collector.torproject.org/recent/relay-descriptors/extra-infos/, search for your relay's IP address, and look for subsequent lines starting with "dirreq-". You'll want to look at the directory protocol specification linked above to interpret the lines.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .