I feel like most people only use Tor via the Tor browser or a socks proxy, and the developers in the ecosystem cater only to these users. But there are a bunch of other creative uses of Tor around.
A couple of years ago, I used the TransPort feature of Tor combined with an iptables rule to redirect certain applications over Tor, like a web browser. The goal was a poor man's VPN. Access some websites without your local network admin to know about it, and without the website to know who you are. Back then there was Java applets and Flash, and this worked to hide network requests from them, too, as opposed to other solutions. Later iptables removed the feature that allowed you to filter on PID and broke my workflow. I changed it to use a dedicated unix user for tor, but that broke at some point, too, and I just got a commercial VPN.
Tor discouraged my use case, and I guess if you are afraid of being tracked or recognized as a returning user, then you should stick to Tor browser. But everybody has their own use cases.
> redirect certain applications over Tor, like a web browser
I personally use a proxy.pac file (which all both Firefox/Chrome support) with roughly the following contents:
function FindProxyForURL(url, host) {
var httpProxy = "PROXY localhost:3128";
var onionProxy = "SOCKS5 localhost:9050";
if (host.endsWith(".onion")) {
return onionProxy;
}
var proxiedDomains = [
"example.com",
...
];
for (var proxied of proxiedDomains) {
if (shExpMatch(host, proxied) || shExpMatch(host, "*." + proxied)) {
return httpProxy;
}
}
return "DIRECT";
}
The only inconvenient part is that Chrome for some stupid reason can't read this file from a file:// url, so I have to host it on my localhost; oh well. Take care with this. Some people are putting sneaky code in that detects if your regular non-proxied access will receive some other network path via a .onion domain. It is not clear to me what exactly they are doing with this knowledge.
terrible idea since .onion websites can (and many do) load resources from non-.onion urls