Announcing amiusingtor.net

Hello, during 37C3 I worked on a very simple tool available at amiusingtor.net.

The tool is very simple: It checks whether your connection has been made through a Tor reply and returns a “yes” or “no” alongside the IP address that made the request, without any HTML bloat or force TLS redirection (the service is optionally available through TLS though)

The motivation behind this service came to me, when I wrote my Elixir implementation of Tor earlier this year. Back then, all services that were able to check whether a connection has been made through Tor either had a gigantic HTML cruft or required a TLS connection, both of which were too much overkill for simple debugging. This tool is exactly what I wished I would had a few months ago.

The source code is available on GitHub. The implementation is stupidly simple and somewhat dirty. It downloads the current consensus from a directory authority over plain HTTP without any validation and pipes it through stdin to a Go program which indexes the consensus through regexes and launches a web server in order to process the actual requests. This approach has several downsides, including the possibility of me as a service provider getting man-in-the-middled as well as emitting false-positives if the requests comes from a guard/middle relay. However, the implementation is less than 80 lines of code and requires no access to the file system, making it very easy to sandbox.

Check it out yourself:

curl amiusingtor.net
torsocks curl amiusingtor.net
4 Likes

thank you so much