Consider an app that has options for using either a SOCKS5 proxy or a web proxy. Is it more secure to specify a Tor SocksPort, or to install a web proxy, such as Polipo, and to specify the web proxy port?

If so, why?

Also, which web proxy does the Tor Project currently recommend?

2 Answers 2


Unfortunately, neither method is completely foolproof.

With SOCKS, the application may implement socks proxy support in a way that leaks DNS requests; you need to verify that the program delegates DNS lookups to the proxy (i.e. Tor), rather than handling its own DNS requests.

With a HTTP proxy, the some proxies may insert headers that could be used to identify/fingerprint you (e.g. an X-Forwarded-For or Via header). With polipo, make sure that the disableVia option is set to true (the default)

The easiest option is probably to use torsocks (https://gitweb.torproject.org/torsocks.git).

  • The Tor browser uses a SocksPort, but does its own DNS lookups properly (as long as network.proxy.socks_remote_dns is set to yes). But for other apps, one needs a DnsPort, plus iptables rules that point port 53 to the local DnsPort, right? And that serves as a backup, just in case an app just emits lookups to port 53, right?
    – mirimir
    Aug 6, 2014 at 1:00

I would recommend using SOCKS directly for performance reasons. Also, that might be one less software component which traffic patterns can be fingerprinted.

  • i don't think the performance hit would be anything more than negligible compared to the speed of tor.
    – puser
    Aug 5, 2014 at 9:44
  • I'm far more concerned about potential for leaks.
    – mirimir
    Aug 5, 2014 at 18:27
  • @Lunar Sorry to be indecisive.
    – mirimir
    Aug 5, 2014 at 23:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.