According to Tor’s extensions to the SOCKS protocol (https://gitweb.torproject.org/torspec.git/tree/socks-extensions.txt) it is possible to perform stream isolation by providing authentication to the proxy. Each set of credentials will create a new circuit, which makes it harder to correlate connections.
This patch adds an option, -proxyrandomize
(on by default) that randomizes credentials for every outgoing connection, thus creating a new circuit for every peer connection.
02015-03-16 15:29:59 SOCKS5 Sending proxy authentication 3842137544:3256031132
Aside: we really need tests for the proxy functionality (as mentioned in other proxy-related pulls #5298, #4871, #4587), and I plan on adding a few, but I’ve put this up so it can already get some review and manual testing.