Skip to content
Home » How to Create Your Own VPN with Outline

How to Create Your Own VPN with Outline

  • by

Virtual private networks (VPNs) have become an essential tool for protecting your online privacy and security. By encrypting your internet traffic and routing it through a remote server, a VPN allows you to browse the web anonymously, access restricted content, and prevent snoops from tracking your activities.

Rather than subscribing to a commercial VPN service, an alternative is to simply create your own private VPN server. This gives you complete control over the infrastructure and encryption protocols used to secure your data.

One of the easiest ways to deploy your own VPN is using Outline, an open source project developed by Jigsaw Operations (part of Google’s parent company Alphabet). Outline is designed to make it simple to set up a private VPN server using proven encryption standards.

In this detailed guide, I’ll walk you through the entire process of creating a secure Outline VPN server from scratch and connecting clients. Follow along to learn:

  • Outline VPN overview and benefits
  • Server requirements and pre-requisites
  • Step-by-step instructions to install Outline Manager and VPN server
  • How to generate access keys and connect VPN clients
  • Security protections provided by Outline VPN

By the end, you’ll have your own private VPN up and running using strong encryption protocols like WireGuard and Shadowsocks. Let’s get started!

An Introduction to Outline VPN

Outline VPN consists of two main components:

Outline Manager – This is a software tool you run on your own computer to configure your VPN server. It handles installation, management, and key generation.

Outline Client – A VPN client app used to connect devices like laptops and phones to your Outline server. Available for Windows, Mac, iOS, Android, and ChromeOS.

So in summary:

  • You use Outline Manager to set up your own VPN server on a hosted cloud platform.
  • You then connect devices to your new VPN using the Outline Client app.

This gives you a personal VPN that provides complete data encryption and privacy protection.

Benefits of Outline VPN

Compared to traditional VPN software, Outline VPN comes with several advantages:

Open source code – Outline is an open source project, meaning its code is publicly available for scrutiny. This allows security researchers to audit the software for vulnerabilities.

Strong encryption – Uses modern protocols like WireGuard and Shadowsocks to encrypt all VPN traffic by default.

Easy deployment – The Outline Manager app abstracts away most of the complex VPN server configuration.

Access control – You create and manage your own access keys, rather than relying on a VPN provider.

Cost savings – Host your VPN on a low-cost virtual private server for as little as $5/month.

High performance – Outline uses efficient protocols like WireGuard to provide fast speeds.

So in summary, Outline combines the configurability of hosting your own VPN with the deployment simplicity of a commercial VPN service.

Next let’s go over the requirements for running Outline VPN.

Outline VPN Requirements

Before we begin installation, you’ll need the following:

A virtual private server (VPS) – This is a remote, cloud-hosted server you’ll install the Outline software on. Recommended specs:

  • At least 1GB RAM (2GB preferred)
  • Ubuntu 18.04/20.04 or Debian 10 OS
  • Enabled BBR congestion control

Outline Manager – Downloaded and installed on your local Windows, MacOS, or Linux computer. Used for server setup.

Outline Client – Installed on your devices like laptops, phones, etc. to connect to the VPN.

That’s the basic hardware and software you’ll need. Many VPS providers offer servers that meet Outline’s requirements, like Vultr, DigitalOcean, Linode, AWS Lightsail, and more.

Let’s dive into the step-by-step setup process next!

Step 1: Install a Virtual Private Server (VPS)

The first step is procuring a VPS that will host your Outline VPN server. This is an always-on, cloud-hosted virtual machine.

Many VPS providers allow customizing the server specs. I recommend the following:

  • At least 1GB memory (RAM), 2GB better
  • At least 2x CPU cores
  • Ubuntu 18.04/20.04 or Debian 10 OS
  • 40-60GB SSD storage
  • 1Gbps network speed

Popular VPS hosts like Vultr, DigitalOcean, Linode, and AWS Lightsail all offer servers that meet the above criteria for around $5-$10 per month.

Once you create the VPS, make note of the server’s IP address, root password, and SSH login details. We’ll need these to connect and install Outline.

I suggest starting with a basic, low-cost VPS configuration since you can always scale up later once your VPN is up and running.

Step 2: Install Docker on your VPS

Now that you have a VPS installed, the next step is to configure the server environment.

Outline uses Docker to simplify deployment across different distros. Docker packages software like Outline into a standardized “container” along with all its dependencies and configs.

Connect to your VPS via SSH, either through a terminal or SSH client like PuTTY. Then run the following scripts to install Docker:

Copy code

# Update package manager
sudo apt update

# Install dependencies
sudo apt install apt-transport-https ca-certificates curl software-properties-common

# Add Docker’s GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# Add the Docker repository to APT sources
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

# Install Docker
sudo apt install docker-ce

# Verify the install
sudo docker run hello-world

You should see the Docker test print a confirmation message. Docker is now installed and running on your server!

Step 3: Set Up the VPN with Outline Manager

Outline Manager is the tool used to configure your VPN server. Download and install it on your Windows, Mac, or Linux computer from:

https://getoutline.org/en/download

Once Outline Manager is installed, open the app and click “Start a new Outline server”. Choose “DigitalOcean” or “Other VPS” depending on your server provider.

You’ll be asked to enter the VPS IP address, root password, and an SSH public key for authentication. Outline Manager will handle the rest!

The app will automatically SSH into your server, install Docker images, download certificates, and configure the Outline VPN environment. This takes 5-10 minutes to complete.

When finished, Outline Manager will show confirmation that your VPN server is installed and include handy details like the domain name and IPs assigned to it.

Step 4: Create Access Keys for VPN Clients

Now that your Outline VPN is up and running on the VPS, the next step is creating special access keys to allow your devices to connect.

In Outline Manager, click “Add user” to generate a new access key. Give the key a name like “My Laptop” and hit Save.

This generates a long alphanumeric access key that authorizes a device to connect to your VPN. Anyone with this key can access your VPN, so keep it safe!

You can generate and manage as many keys as needed for all your devices. There’s no limit to the number of clients.

Step 5: Install Outline Client and Connect to the VPN

The Outline Client app allows you to connect your Windows, Mac, iOS, Android, or Chromebook device to your new VPN.

Download and install Outline Client from:

https://getoutline.org/en/home

Once installed, tap the “+” icon to add a new VPN connection. Name it, and paste in the access key that Outline Manager generated for this device.

That’s it! Outline will connect and you’ll see confirmation that your traffic is being routed through your private VPN server. Browse and use the internet normally.

Repeat the Outline Client install process on any other devices you want to connect to your VPN. Just use the unique access key for each one.

Benefits of Using Outline VPN

Now that you have your own Outline VPN set up, here are some of the excellent benefits it provides:

You Control the Infrastructure

With a commercial VPN service, you must rely on the provider to secure their infrastructure properly. With Outline, you control the server and its configuration yourself for peace of mind.

Open Source Code and Audits

Outline’s code is open source, allowing the security community to scrutinize it for flaws. Leading auditors like Cure53 and Radically Open Security have analyzed Outline and verified its implementations are sound.

Strong Encryption by Default

Your Outline traffic is protected using modern VPN protocols like WireGuard and Shadowsocks. Data is encrypted end-to-end by default.

Simple and Reliable Deployment

Setting up your own VPN is typically complex. Outline’s Docker images and Manager app makes deployment easy and reliable across platforms.

Affordable Pricing

You can host an Outline server on a basic VPS for as little as $5 a month. Compare that to $10-$15 for most commercial VPN subscriptions.

By giving you complete control over your VPN infrastructure combined with easy deployment tools, Outline hits a nice sweet spot between DIY solutions and fully managed VPN services.

Conclusion

If you want a VPN option that provides robust encryption and your own private server at an affordable price, Outline is an excellent choice.

Here’s a quick recap of the steps to get your own Outline VPN up and running:

  1. Rent a VPS that meets minimum system requirements
  2. Install Docker on the VPS for running Outline
  3. Use Outline Manager locally to install the VPN server on the VPS
  4. Generate access keys to authorize your devices
  5. Download Outline Client to connect devices to your new VPN

Within an hour or less, you can deploy an Outline VPN server on a low-cost VPS. Outline handles all the complex configuration and management for you.

Compared to paid VPN providers, Outline gives you full control over the technology and infrastructure protecting your privacy. And audits by security researchers provide confidence in its encryption implementations.

If complete ownership and control are important to you for a VPN, definitely check out Outline as an easy-to-use open source option.