Securing your connection to the world wide web is important, especially considering that there are open Wifi hotspots everywhere that let you browse without using your mobile data plan. How do you ensure that the data you are transmitting and receiving is not subject to a scan by the WiFi provider? Sure, you could pay for a VPN provider who charges a neat amount every month. Though, do you really know what logs are being kept by them and what is done to those logs?
It is time to roll up your sleeves and setup your own VPN using Outline.
OutlineVPN is a product from Jigsaw which is a tech incubator from Alphabet (parent of Google). The intent for Jigsaw is to allow journalists to break news from countries that censor news. With the target demographic not expected to be seasoned linux admins, the process of setting up Outline has been made really easy.
Outline is based on Shadowsocks, which is a popular free and open-source encrypted proxy project. Outline outscores other VPN applications and services on
Outline requires Docker to install, which means you need a KVM VPS to install. I haven’t tried installing it with an OpenVZ7/Virtuozzo 7 machine, but if you are able to get Docker running on it, you can install Outline
At the client side, you have the Outline app that supports everything from desktop OSes to mobile and chromebooks. Once the server VPN is installed, you can install the Outline app and secure your connections
Outline VPN can be installed on various Linux distros and as you will see from the commands below, they are distro agnostic
If you do not already have Docker running on your machine, you can install it as below (you can use a sudo user, and do not have to run it logged in as root)
# curl -sS https://get.docker.com/ | sh
Download and installation begins
# Executing docker install script, commit: 2f4ae48
+ sh -c 'yum install -y -q yum-utils'
WARNING: Adding a user to the "docker" group will grant the ability to run
containers which can be used to obtain root privileges on the
Refer to https://docs.docker.com/engine/security/security/
for more information.
Enable docker as a service and start it
# systemctl start docker
# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service
We are now ready to install Outline
Outline installation script is available on GitHub. Execute it as below
# bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code
The installation begins and
> Verifying that Docker is installed .......... OK
> Verifying that Docker daemon is running ..... OK
> Creating persistent state dir ............... OK
> Generating secret key ....................... OK
> Generating TLS certificate .................. OK
> Generating SHA-256 certificate fingerprint .. OK
> Writing config .............................. OK
> Starting Shadowbox .......................... OK
At the end, you will see a message similar to this
Note this information
Once connected, you will get an access key in the Outline Manager. You will need this information on the Outline client
Once you install the client, you will be asked to add your access key, paste the information you copied earlier on the screen and you can begin using the VPN connection straight away.
It is just that easy. As someone joked, it would take you more time to read this article than install Outline and get started.