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
    Commented 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
    Commented Aug 5, 2014 at 9:44
  • I'm far more concerned about potential for leaks.
    – mirimir
    Commented Aug 5, 2014 at 18:27
  • @Lunar Sorry to be indecisive.
    – mirimir
    Commented Aug 5, 2014 at 23:30

You must log in to answer this question.

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