Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
How to setup an Outline VPN Server on Ubuntu 16.04

How to setup an Outline VPN Server on Ubuntu 16.04 Server

This guide will show you how to install Outline Server on an Ubuntu 16.04 Server, use Outline Manager for Windows and connect to your Outline Server on Windows and Anroid.

Install Outline Manager

Outline Manager supports Windows, macOS and Linux.

Outline Manager for Windows

https://github.com/Jigsaw-Code/outline-releases/blob/master/manager/Outline-Manager.exe

Outline Manager for macOS

https://github.com/Jigsaw-Code/outline-releases/blob/master/manager/Outline-Manager.dmg

Install Outline Server

Requirement

  • An Ubuntu 16.04 Server
  • Sudo non-root user
  • Docker installed

Mainly, there are two ways to install Outline Server on an Ubuntu Server.

Simple way

Install Outline Manager on your computer, login to Digital Ocean using your own account and follow the instruction on the screen.

Die Hard

If you wanna use your own server or just don't like DO, this is for you.

Install Docker

You will need to install Docker on your server first. If not, run the following command:

sudo curl -sS https://get.docker.com/ | sh

Install Outline

All you need to do is run this command:

sudo wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh | bash

When you finished, the output should be like:

Please copy the following configuration to your Outline Manager:
{ 
  "apiUrl": "https://1.2.3.4:1234/XXXXXXXXXXXX", 
  "certSha256": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
}

Just leave it there. You will need these information in the next step. That's enough for the server side. Now, we will move to the client side.

Get the access key

  1. Open Outline Manager. Scrool down to the Advanced Mode and click on Get started button;
  2. Copy everything within (include) the {} of the key on your server at the last step and paste it the field at the next screen;
  3. Click Done;
  4. There is a key automatically created for you (named 'My Access Key'). If you click 'Get Connected' next to it, you will be walked through how to download the appropriate client for your platform without needing to open up a new page. (Thanks to r/sandrigo);
  5. If you want to get a new key to share with your friends, Click Add key, and you will get something like "Key 1", click Share, it will show you the link to get the access key, click Copy to Clipboard and send it to your friends. (HEADS UP: EVERYONE WHO HAS THE LINK WILL BE ABLE TO CONNECT TO YOUR SERVER)
https://s3.amazonaws.com/outline-vpn/index.html#/invite/ss//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  1. Paste it to browser
  2. Click on Connect this device, it will show you the key, click Copy to get the key.

Connect to Outline

Outline supports macOS, Windows, iOS, Android and Chrome OS.

Windows

Windows 7.0+

Use this link to download Outline for Windows

https://raw.githubusercontent.com/Jigsaw-Code/outline-releases/master/client/Outline-Client.exe
  1. Install Outline for Windows to your computer. Open it.
  2. Click on + button at the upright corner.
  3. Paste the key you copied above to the field and click Add server
  4. Click Connect at the next screen, wait until it connected.
  5. Enjoy.

Note: If it shows "key invaild", just try to reconnect several times.

macOS

macOS 10.11+

Use this link to download Outline for macOS

https://itunes.apple.com/us/app/outline-app/id1356178125

Download Outline for macOS from Mac AppStore, and repeat the steps for Windows above.

iOS

iOS 9.0+
https://itunes.apple.com/us/app/outline-app/id1356177741?mt=8

Download Outline for iOS from AppStore, and repeat the steps for Windows above.

Android

Android 5.0+
https://play.google.com/store/apps/details?id=org.outline.android.client
https://github.com/Jigsaw-Code/outline-releases/blob/master/client/Outline.apk

Download Outline for Android from the CH Play or Github, and repeat the steps for Windows above.

Setting Outline to work with Proxy SwitchyOmega (Advanced)

By default, Outline uses different ports everytime you reconnect, then it's pretty hard to use Proxy SwitchyOmega. But if you really want to, so here is the way:

HEADS UP: YOU WILL NEED TO CHANGE THE PORT MANUALLY EVERYTIME YOU RECONNECT OUTLINE

  1. Firstly, you need to install the Proxy SwitchyOmega extension for Chrome or Proxy SwitchyOmega plugin for Firefox;
  2. Go to Proxy SwitchyOmega Options (Normally, right click on the Proxy SwitchyOmega icon in your browser > Options);
  3. Choose New Profile, give it a name (Here I use Outline VPN), select Proxy Profile and click Create.
  4. On the next screen, at Proxy servers, select HTTP from the scroll down menu, fill in 127.0.0.1 in the Server field.
  5. Open Internet Options in your computer (Open Network and Sharing Center > Internet Options), then select Connections > LAN Settings, look at Proxy Server, you will find the port you need.
  6. Back to Proxy SwitchyOmega Options, fill that port to the Port field, click Apply changes.
  7. Choose New Profile, give it a name (Here I use Auto - Outline), select Switch Profile and click Create.
  8. Click Add a rule lists, from Rule list rules, select Outline VPN.
  9. At Rule List Config section, select Auto Proxy, and paste the link below to Rule List URL field, click Apply changes, and then click Download Profile Now.
  10. Now, click on Proxy SwitchyOmega icon in your browser, choose Auto - Outline. By this way, you will save lots of traffic on your VPN server, and get the faster speed when connect to sites you don't want to or don't need to connect via a VPN.

Conclusion

Pros

  • Easy to setup
  • Simple and friendly UI client
  • Secure
  • From Google, haha.

Cons

  • Only supports Windows and Android for now

One more thing

  • This guide is free for use. But if you want to get me some coffee, just send it to my Paypal: https://paypal.me/pmtuan. Much appreciate!
@mirkhamidov

This comment has been minimized.

Copy link

mirkhamidov commented Apr 27, 2018

is it possible get configuration to Outline Manager from already installed Outline Server? (Server is installed, and clients are connecting and it works. But needed to connect manager on other pc)

@getsueineko

This comment has been minimized.

Copy link

getsueineko commented May 3, 2018

Yeah! I join to question. How can I get configuration of running Outline server?

@f97

This comment has been minimized.

Copy link

f97 commented May 12, 2018

Linux client support.. Please... 💯 💯 🥇

@nimamox

This comment has been minimized.

Copy link

nimamox commented May 16, 2018

What if the server is rebooted? Should I run the install script again? Wouldn't this invalidate all the keys that I've shared?

@dictvm

This comment has been minimized.

Copy link

dictvm commented May 18, 2018

@nimamox the containers will simply restart, keeping the certificates generated during your initial setup. As long as you do not lose the data of these containers, you will be fine.

@bubulgum

This comment has been minimized.

Copy link

bubulgum commented Jul 5, 2018

@mirkhamidov same question

@bubulgum

This comment has been minimized.

Copy link

bubulgum commented Jul 15, 2018

I tried to install OutLIne manager on the same Ubuntu Server, because i don't want to always turn on my Windows computer.
1st of all installed XRDP on server
2nd run it on my Win10 through mstsc.exe
3d donwload Outlina-Manager.AppImage to my server
And there is problem to istall it by FUSE....as i understand there is problem because of using DOCKER...and need to config AppImage using this configuration https://github.com/AppImage/AppImageKit/wiki/FUSE/_compare/7c706e6734c9dfa747fd12798cd6597743f1d677...6af1c43759c07a07b07b7ec5c610db09f21af297
So...still on the way to solve this problem

@aidin-binary

This comment has been minimized.

Copy link

aidin-binary commented Dec 20, 2018

I've just change my Outline server IP address but when connect to it by Outline manager application, It make access key by old IP address. How can I solve this problem?

@akha666

This comment has been minimized.

Copy link

akha666 commented Jan 16, 2019

I need an answer for this question too, How can I change the public IP for Outline Server. My outline server running behind NAT, but the Outline ports already open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.