Proxy/tunneling options for the Android platform As the possibility of connecting to a public Wifi is increasing in our cities, the opportunity of proxying/tunneling the traffic is gaining importance.

I strongly believe it would be interesting to come up with a list of applications/procedures that can setup or manage different kind of proxies/tunnels like:


http/https
socks v* (also on top of SSH)
openvpn
pptp
...


My hope is to gather all the knowledge w.r.t. the topic building a community wiki page.
Should this question stay afloat: I recently created a VPN tunnel from my Android devices to my home Win7 PC and it was much easier than I thought. I'm running Android 4.1 (Jelly Bean), but this setup also worked with 4.0 (Ice Cream Sandwich) and should work with other versions too.

First, I had to find a way to create a VPN server. OpenVPN looked awesome but several previous questions made it look like it might be more hassle than I was interested in (respect for those who get it working!). I stumbled across two different solutions that would fit my needs and ability:

Setup DD-WRT to run a VPN server straight from a hacked router

This How-To Geek article provides a drop-dead simple explanation of setting up the DD-WRT VPN service. This, I think, is ideal because my router just sits at home all day and is always on. Alas, after checking if my older router was compatable, it turned out that the specific build of DD-WRT I'm running ("micro" in my case) doesn't include the VPN server functionality. If yours does, I'd say go to town. I'm planning on upgrading my router to someday obtain this very function.

Configure a Windows 7 PC to accept incoming VPN connections

Alternatively, I found a blog post describing how to set up Windows to accept an incoming connection. There's honestly not much to say, this was just a few clicks and now it's up and ready - any time the PC is powered on I can log into the VPN created by it with my Windows login credentials. I use the WOL function built into DD-WRT, combined with web-access to my router, to remotely wake my PC whenever I need to use the VPN. Be sure to forward port 1723 to the PC that will be negotiating these incoming requests.

Second, I just had to connect. In ICS/JB, go to System settings &gt; Wireless and Networks &gt; VPN &gt; Add VPN network and enter your info. I use DDNS to work around having to keep up with my ISP's dynamically-assigned IP address.

With a little reading and a little network know-how, this was up and working in a few minutes and was much easier than I thought it was going to be!