24 March 2017

Free VPN(Unlimited connections)

So, one of the many benefits of being a student is that you get free access to a lot of stuff.

One of the best such student dev. kits is the Github Student Developer Pack.

It has lots of free goodies that you can go check out in detail.

One of the best things that is included in the pack however is 50$ of Digital Ocean credits.


And this is how we will setup our own private VPS that will give us free unlimited VPN connections for about ~12 months depending on your data needs.

Here are the steps to do so -

1. Make your GH account using a .ac or .edu mail id. (So that it is eligible for the GH student pack)
2. Get your GH student pack .
3. Make a new Digital Ocean account. (DO might ask CC info for verification purposes)
  Remember to use the following referral link while signing up to get free 10$ of Digital Ocean credits - https://m.do.co/c/0fb06a5c5cf9

4. Once you have created the account, create a support ticket to apply the GH promo code since only customer support executives can apply it to an account. Just keep the ticket title as "Help with applying GH student Promo code" and paste the promo code you got from GH student pack in the body asking them to apply the code for 50$ of credit. They will reply back in ~1 hrs with the promo applied.
5. Once you are signed up and ready to roll, create a droplet
6. Choose a config according to your needs, I prefer the 5$/pm droplet since it has about 1000gigs of bandwidth and running a VPN barely costs any RAM or CPU. Also choose a Data center region, I am using a US based data center since it allows me to access US only websites. You can choose Indian servers for better ping. Use Ubuntu 16.04 as your OS.

7. Once it is up and running, SSH into the droplet.
8. Run the following script in command-line -

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

9.  Follow the interactive tutorial upon the execution of the above script. Use the default values except for the following options:
a. Which protocol do you want for OpenVPN connections?
  - TCP
b. What port do you want OpenVPN listening to?
  - 443
c. Which DNS do you want to use with the VPN?
 - Google
10. Copy the generated client.ovpn file to your client.
10. Install an open-vpn client (either on your phone or your Desktop) and run from the generated config.
 For ubuntu you can do this via -
sudo apt install openvpn network-manager-openvpn-gnome
11. Et. Voila, unrestricted unlimited VPN. (Also helps get past pesky proxy issues on your phone)


Have fun with your free VPN connection ;)

P.S. - You can also use the above droplet to host your own websites and other cool stuff. You basically have your own VPS! :D