- We're going to walk step by step
through the process of setting up your own VPN for free
that you can start using in about 20 to 30 minutes.
I'm gonna share my screen
so you can watch the entire process and follow along.
So if possible, I recommend you have this video play
on a different device or on a split screen
so that you can go along with me.
All links that I mention
will be in the description below this video.
(dramatic music)
Welcome to "All Things Secured.
My name's Josh.
And let me warn you before we get started,
if you're not used to running the Terminal program,
which is a command line interface on MacOS
and all other different platforms,
then this whole process might test your patience.
It really did mine.
As you're gonna see throughout this whole tutorial,
I not only had to configure the VPN,
I also had to download the
command line developer tools package,
I had to upgrade to Python version three,
and in order to do that, I had to first install Homebrew,
and then I needed to grab an API token
from my cloud service provider.
It's possible you won't have to do all that.
Maybe, maybe you will.
I'm gonna walk step by step through the entire process
of what it took for me to do all this
on a computer that had never set up its own VPN before.
Okay, so one of the first things that we're gonna do,
is I'm going to head over to a site called DigitalOcean.
This is a cloud service provider.
There are so many different service providers
that you could choose from.
But I'm gonna go ahead and choose DigitalOcean
'cause it works well with Algo VPN,
which is what I'm gonna be showing you as we set up.
And so you're gonna see me here.
I'm gonna go ahead and create
a new account on DigitalOcean.
I'm going to create a new password
and I'm going to save it into my One Password account,
which if you've been watching "All Things Secured"
for any period of time,
you know that that is my preferred password manager.
I really enjoy using that.
So in order to set this up,
I have to have this cloud service provider.
And there are so many out there.
There's Amazon AWS.
There's Microsoft Azure.
There's Linode, there's Google,
there's all these different ones, but in order to do this,
you have to set up something,
and usually the setup costs are free.
Now, if you use it for a long period of time,
you might have to start paying a monthly subscription,
but to start off, it's free.
Now, I had to go in and verify my email address,
and now in order to verify my identity,
I have to give them a credit card or sign in with PayPal,
something like that.
Now to this point, they have not charged my credit card
and I haven't paid for any subscription yet.
So it is still free,
but I did have to give them my credit card.
And you're gonna notice here as I go through
that I'm giving them a, basically a bogus address.
This is something, just a small minor point.
Whenever people are asking for your address,
when you're giving your credit card,
you don't actually need your real address.
You just need your real zip code.
That's the only thing they're checking.
And I don't know why I have to give them
the rest of my address.
So now that the card's added successfully,
I'm going to go in and explore the control panel here.
It may look different for you, you know,
depending on when you're watching this video,
but what you're looking for is the control panel,
and then scrolling down and finding the API.
Now here's where we're going to create a new token,
and that token, you can name it whatever you want.
Since we're going through, again, the Algo VPN process,
I'm going to just name it Algo VPN.
I'm going to generate the token.
By the time you see this, this token will be useless,
so don't worry about trying to copy it.
But I'm going to copy this and put it somewhere else
because we are going to use it somewhere in the future.
Okay, so that's step one.
Step two, I'm going to jump over to GitHub,
where the Algo files are located.
These are all the files for the setup.
It's open source.
You can check them out.
The link to this page and any other page
is going to be in the description if you're curious.
But this gives you a step-by-step instruction
that we're going to follow,
that requires us to open up the Terminal app.
Now, the Terminal app is where
you can do command line stuff.
It's probably not something that most people
have worked much with.
And so that's going to seem a little scary,
but work with me here.
All right, the first thing that you're going to do
in this whole thing is you're going to get a copy of Algo.
I'm going to download that zip file
that they link to right here.
And then I'm going to let my unarchiver app
unzip that file, and now I've got a copy of that.
So now I want to run the command line,
git clone for this right here.
And what's going to happen is you're going to notice that
this computer does not have the developer tools
that are required to do that.
Good chance that your computer won't have that either.
So you have to download that software
and install it on your computer in order to do all this.
Now, is it going to take 21 hours?
No, it actually took about five minutes for me.
But it is something that's going to
take a little bit of time
if you don't have the developer tools.
So let's fast forward through this.
I've installed the software,
and now let's go ahead and copy and paste this again
into the command line where it's going to clone
all of these files from that Git Hub place,
where all the Algo files are,
and it's going to copy it onto my computer.
And so now that it has,
we're going to go ahead and move on to step number three,
which is installing Algo's core dependencies.
Now, part of that is Python.
If you look and you do Python, space, dash, dash, version,
you're going to see what version you have.
I have 2.7 at this point.
That's not high enough.
I need version three or higher in order to run
the VPN server.
And so I'm going to go onto Python.
I'm going to download Python 3.0
and make sure that I've got the most updated files.
Now, you don't have to understand all of this stuff
in order to download and use it.
As a matter of fact, I don't, to be quite honest with you.
A lot of what you're seeing me do here
is kind of trial and error.
I had to search how to install Python
and I came onto the Python page and downloaded those files.
And then once we get to this point,
you're going to see in just a moment,
I still going to have to download something else
in order to install the Python.
So I'm going to go ahead and finish this installing Python.
And if I go in and again check my version,
you're going to see that, oh, wait, I'm still at 2.0.
In order to install Python on my Mac,
I have to first install something called Homebrew.
Well, how do you install Homebrew?
Well, I just Googled it.
And how do I install Homebrew?
I'm just going to have to copy and paste
because of my version.
I'll copy and paste this top line here
to get everything that I need
to install Homebrew on my MacOS.
Now I'm gonna have to put in my password for my computer.
You're not going to see that actually show up.
So when you're typing it, it won't show up.
That may confuse you as it did me for a moment.
And so, you know, it didn't, try again,
and now it's going to go through the whole process
of downloading and installing Homebrew.
All right, great.
Homebrew has been installed.
And so the next step is to make sure that with Homebrew,
I can now go in and install Python
and everything that's required for that.
So let's go back and find out what I need to do
in order to install Python.
And it's pretty simple.
I'm going to copy and paste this Brew, install,
and Python three.
This'll take just a couple of minutes.
I'm going to kind of fast forward through some of this.
Don't worry if this stuff takes time.
It does take a little bit of time to happen.
But once it's done,
you'll see the name of your computer come up.
And now you are done doing that.
I press Command + K in order to clear all that out.
I don't like having a whole bunch of text on top.
So I'll clear all that out.
Go back, enter into the Algo file, that's CD, space, Algo.
And then I'm going to copy and paste
because I need to install Algo's core dependencies.
And that is this virtual nav that I'm gonna
start off installing here.
Once that is installed,
we're going to scroll down to step number four,
the remaining dependencies.
Again, we're just copying and pasting.
It's not super complicated
unless you just run into any problems,
but once I copy and paste and press enter,
now it's going to be installing
all of these extra dependencies
that are required in order to run the Algo VPN.
Okay, here we are.
We have finished installing
all the core and remaining dependencies.
And the next thing that we want to do
is set up our configuration options.
That's step number five.
Now I opened up my Finder folder.
I opened up the Algo file,
and I'm going to open my config file with a text editor.
Any text editor will do.
But what you're going to see is that
you can set up a number of different users,
and it doesn't, it's not one user,
and then you can set it up on multiple devices.
Every device that you want to set it up
has to be a new user.
So let's say I want to create one for my mom or my dad,
so that they can have a VPN that they can connect to.
I can just add them to it, save that file,
and then keep going from there.
Now we want to actually deploy the VPN server.
And that's going to require us to go in
and type in dot, slash, Algo.
So I first cleared it out with a Command + K,
and then I'm pressing dot, forward slash, Algo.
Now, because all of these other files and dependencies
have been installed correctly,
now it's going to go through this process.
I'm going to say what provider.
I want DigitalOcean, number one,
what's the name of the server?
I'm going to name it Algo just to make things easy.
Do I want to enable connect on demand
on a cellular network?
No, I don't really care about that.
What about on wifi?
Sure, I guess we can go ahead and do that.
I'll press Yes.
I'm going through all of these.
Do I want to list any names of trusted wifi networks?
That's where you could say that, you know,
hey, whenever I'm on these particular wifi,
you don't have to connect.
But I mean, I don't want to
go through that process right now,
so I'm just going to press enter.
Do I want to retain the PKIs?
It's less secure, so I'll go ahead and say no to this one.
Do I want to enable DNS ad blocking on this VPN server?
No, I don't really care about that right now.
Next one, do you want each user to have their own account
for SSH tunneling?
Sure, why not?
There's nothing really wrong with that.
And now I think the next thing that's going to be coming up
is that API key.
Remember that thing that we got from DigitalOcean
that we copied and pasted elsewhere?
I'm going to go ahead and paste it here.
It's going to be hidden,
so you're not going to see it
actually show up in the Terminal.
But once you press enter, it will accept that key,
and it will start talking with DigitalOcean.
And it's going to ask me what region
would I like the server to be located in.
I'm going to go ahead and use the eight,
which is New York server, which is the default.
Actually tried on a couple of different servers
and for some reason came up with errors.
So if you do that, just keep trying with different servers
until you find one that actually works.
And now you're going to go through the setup process.
This process for me, took about five to 10 minutes.
I'm going to speed through it here as we go along,
but it's setting up everything that needs to be set up
in order to make this a viable VPN for you to use.
So just be patient and let it finish its set up process.
Great.
When you're done, you're going to see
this green congratulations,
your algo VPN server is running,
and now you just have to take and
actually start using that server.
The server is there, it's set up and you can use it,
but how do you do that?
All right, well, there's a couple of things
that we're going to do,
but one of the first things that I want to start off doing
is I'm going to pause here for just a moment
and I'm going to open up my phone.
I want to set up the WireGuard app on my phone
because that's the VPN protocol
that we're going to be using
to connect to this Algo VPN is WireGuard, which is great.
It's a great connection protocol.
It's very secure and it's extremely fast.
So how do we get this set up on our phone?
Well, let's go ahead and jump into my phone.
I'm going to find the app store and I'm to
search for WireGuard.
This app is absolutely free.
It's not a subscription service, so don't worry about that.
All it is is it's just something where
you can set up those connections
using the WireGuard protocol.
So as I install this, I need you to understand that
we're not going to be paying for anything.
All we're going to be doing is connecting
directly from this app to our Algo server.
Now, how do we do that?
Well, if you go into your Finder,
your folder, it's going to,
and this is all in the instructions for Algo as well,
but I'm going in and I'm looking for that Algo folder.
And I'm looking for the Config folder.
Not the file that you see right here.
I want to go into the Config folder,
open that up, and then open up that string of numbers
and then look for WireGuard.
Now here you're going to see all the different
either config files or the QR codes.
These QR codes are the easiest way to set it up.
I'm going to show you this QR code.
It's not going to work anymore
by the time you're watching this.
But I'm going to open up on my phone, the WireGuard app,
click that plus, click Create from QR code,
and then I'm gonna scan that QR code.
Name the tunnel.
I'm going to name it Algo
just to keep things really easy and save it.
And now I have to set up that VPN configuration on my phone,
give the WireGuard app the permission to do that.
And now here it is.
It's that simple.
All I have to do is turn it on.
You're going to see the VPN icon come up
on the top right here,
and to test to make sure that
I'm actually connected correctly,
you can open up your browser,
go to What is My IP Address or whoer.net
or What is My IP, any of those,
and find out where your IP address comes from.
My IP address is a U.S. IP address from DigitalOcean.
We're good to go.
As you can see, I'm now connected to a server on my phone
that I control, and it offers me
a bit more privacy and anonymity.
If you found this tutorial helpful,
please give us a Like and subscribe to "All Things Secured."
For those of you who got stuck somewhere in the process
or have questions, I feel your frustration, I really do.
You're welcome to leave a comment,
but honestly, you're going to be much better off
visiting the Algo troubleshooting page
that I've linked to below.
Remember, when it comes to your privacy and security,
be prepared, not paranoid.