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).