This post is probably better suited for the Unix/Linux section but I didn't see much activity there. Please excuse me for that.
I have an interesting question that I've been unable to find an answer for in regard to running a socks server.
I use tor and polipo at home. To conserve bandwidth, I only run them on one machine. Other computers/devices on my network connect to polipo, which in turn forwards my requests through tor.
This works great because I can use foxyproxy to turn tor on and off. But things quickly turned ugly when I thought about doing something like this on my phone.
When on 3G, I use sshtunnel to connect to my machine at home and 3proxy as a socks5 server. This works great and it's fast. But what if I wanted to use tor? Simple -- just tell the phone to use the tor socks5 port instead of 3proxy. But then _everything_ goes through tor. Tor is slow. But it's usable. Using 3G (slow) to connect to my machine at home (slower) and then connecting through tor (very slow) = MEGA SLOW... unusable slow!
So the question is: what if there were a socks5 server that has the ability to examine what hosts i'm attempting to connect to and decide what to do with my request? This way, if I'm try to browse the web normally, it will just proxy the requests straight out from my home IP. But if my phone's browser tries to connect to a '.onion' address, the socks5 server would see that request and say 'you are trying to browse tor sites -- forwarding your request to the tor socks port.
I found a program that is very close to this called 'srelay' but after installing it, it doesn't do exactly what I thought it would.
Is there a socks5 server for Unix/Linux with such capability? (Sorry -- no iptables tricks will work because it's openbsd/sparc64)