Skip to content

Instantly share code, notes, and snippets.

@resultakak
Forked from okeehou/outline-server-setup.md
Created May 13, 2022 00:11
Show Gist options
  • Save resultakak/3277d89b32a79c60ffa9f13b4c3626a5 to your computer and use it in GitHub Desktop.
Save resultakak/3277d89b32a79c60ffa9f13b4c3626a5 to your computer and use it in GitHub Desktop.
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!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment