Let's say I have a Tor Browser, nodejs and curl all sending requests using Tor's SOCKS5 proxy. Will requests from different clients routed through the same exit node? Or does each client get their own Tor circuit?
If you want to keep steams isolated for each applications, you should connect to Tor's SOCKS proxy using a different username for each application. Otherwise Tor may use the same circuit for streams from different applications. With torsocks you can use the
torsocks -i option to use a SOCKS username/password derived from the current PID and time. You can also isolate streams by setting Tor to use multiple different SOCKS ports, one for each application. You can find the stream isolation code in tor's