An interesting approach to secure your connection within an insecure, public network is to encrypt your packages using an ssh tunnel. This is very reliable technique, provided that you’ve go a spare ssh server + proxy server with real ip address.
The idea is extremely simple! Imagine the following situation: you are running an ssh daemon on your home computer and squid or other proxy server on port 6969 on the same machine. Ssh provides you with a facility to set up a tunnel from your local machine to the remote on, which does the encryption for you!
If you type:
ssh -L 6969:localhost:6969 user@remoteHost
into your console then you will get a tunnel available on port 6969 on the local machine, which connects you to the remote port 6969, where in fact the proxy is listening to.
Using this approach guarantees you with a secure connection within a public wireless network, or prevents your ISP from dropping your packages to torrent sites or other sites which are restricted.