OpenVPN
SSH Tunneling can be a hassle to work with, especially on Windows and Android. A VPN has better cross-platform support, so try OpenVPN.
OpenVPN Server[edit]
Run the OpenVPN install script on your home server's command line as root.
./openvpn-install.sh
Press Enter to everything until it asks you for a client name. Choose a name for your first OpenVPN username.
This command will run for quite a long time. Don't worry if you come back from making a sandwich or something and seeing (-) and (+) filled on your screen, it's generating the RSA primes.
When it is done generating RSA public key primes, it may ask you for an IP address if your server is NATed. This typically means you have a modern/router. Just enter your router/modems IP address. You can figure out this address by searching "what is my IP address" on Google.
Now you need to copy the .ovpn file to the device you plan to use the OpenVPN client on. Make sure your device has the OpenVPN client installed. Then import the .ovpn file and then you're ready to rumble!
You can run the script again if you ever want to generate another account.
OpenVPN Client[edit]
To connect to the OpenVPN server, you need to port forward the server through the router, and use an OpenVPN client. There are apps for almost every platform out there: