- Outline VPN
Outline VPN - Making it safer to break the news.
Journalists need safe access to information to research issues, communicate with sources, and report the news. Outline lets news organizations easily provide their network safer access to the open internet.
- Official Website: Download from https://getoutline.org (Need proxies in mainland China🇨🇳)
- Official Object-Based Storage Website: Download from Amazon S3 (No need proxies in mainland China🇨🇳)
Outline makes it easy for news organizations to set up a corporate virtual private network (VPN) on their own server to more safely connect to the internet and keep their communication private.
Outline is completely open source and was audited by Radically Open Security (2017) and Cure53 (2018).
Outline gives you control over your privacy by letting you operate your own server and Outline never logs your web traffic. Strong encryption helps keep your communications private.
Outline servers automatically update with the latest security settings, so you don't have to worry about keeping software up-to-date.
Outline is easy to set up and manage. Organizations can set up their own server in just a few minutes—no tech savvy required.
Owning your server lets you control the number of people who have access to it, which can help maintain consistent internet speeds even during peak traffic hours.
Outline is an open source project created by Jigsaw to provide a safer way for news organizations and journalists to access the internet.
Outline is powered by Shadowsocks and is still an early stage project. You can contribute to the code on GitHub, and follow us on Reddit and Medium to hear when we expand to more platforms and add new features.
The Outline Manager application creates and manages Outline servers, powered by Shadowsocks. It uses the Electron framework to offer support for Windows, macOS and Linux.
An Outline server runs instances of Shadowsocks proxies and provides an API used by the Outline Manager application.
OS | Download |
---|---|
Windows 7.0+ | ![]() |
Most of Linux Releases | ![]() |
macOS 10.9+ | ![]() |
The Outline Client is a cross-platform VPN or proxy client for Windows, macOS, iOS, Android, and Chrome OS. The Outline Client is designed for use with the Outline Server software, but it is fully compatible with any Shadowsocks server.
The client's user interface is implemented in Polymer 2.0. Platform support is provided by Cordova and Electron, with additional native components in this repository.
OS | Download |
---|---|
Windows 7.0+ | ![]() |
Most of Linux Releases | ![]() |
macOS 10.11+ | ![]() |
iOS 9.0+ | ![]() |
Android 5.0+ | ![]() ![]() |
Chrome OS 64.0+ | ![]() |
- Version: Ubuntu Server 16.04 LTS, Ubuntu Desktop 16.04 LTS, Ubuntu Server 18.04 LTS, Ubuntu Desktop 18.04 LTS, Ubuntu Server 18.10, Ubuntu Desktop 18.10, Ubuntu Server 19.04 or Ubuntu Desktop 19.04
- Linux Kernel Version: >= v3.10
- Architecture: x86_64 or ARM
- Number of Bit: 64-Bit
- Security: Lastest version or Older version, still supported
- User: A non-root user
According to partial Table of Ubuntu versions from Wikipedia:
By default, the above versions of the 64-Bit Ubuntu operating system meets these requirements.
Docker is an application that simplifies the process of managing application processes in containers. Containers let you run your applications in resource-isolated processes. They're similar to virtual machines, but containers are more portable, more resource-friendly, and more dependent on the host operating system.
For a detailed introduction to Docker, check out Docker Official Documentation.
First, update your existing list of packages:
$ sudo apt update
Next, install a few prerequisite packages which let apt
use packages over HTTPS:
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
Then add the GPG key for the official Docker repository to your system:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Add the Docker repository to APT sources and assume x86_64 architecture:
- If Ubuntu Server 19.04, Ubuntu Desktop 19.04 or higher.
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable edge test"
- If Ubuntu Server 16.04 LTS, Ubuntu Desktop 16.04 LTS, Ubuntu Server 18.04 LTS, Ubuntu Desktop 18.04 LTS, Ubuntu Server 18.10 or Ubuntu Desktop 18.10.
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Next, update the package database with the Docker CE packages from the newly added repo:
$ sudo apt update
Make sure you are about to install from the Docker CE repo instead of the default Ubuntu repo:
$ apt-cache policy docker-ce
You'll see output like this, although the version number for Docker CE may be different:
docker-ce:
Installed: (none)
Candidate: 5:19.03.0~2.3.rc3-0~ubuntu-disco
Version table:
5:19.03.0~2.3.rc3-0~ubuntu-disco 500
500 https://download.docker.com/linux/ubuntu disco/test amd64 Packages
5:19.03.0~2.2.rc2-0~ubuntu-disco 500
500 https://download.docker.com/linux/ubuntu disco/test amd64 Packages
5:19.03.0~1.5.beta5-0~ubuntu-disco 500
500 https://download.docker.com/linux/ubuntu disco/test amd64 Packages
5:19.03.0~1.4.beta4-0~ubuntu-disco 500
500 https://download.docker.com/linux/ubuntu disco/test amd64 Packages
5:19.03.0~1.3.beta3-0~ubuntu-disco 500
500 https://download.docker.com/linux/ubuntu disco/test amd64 Packages
5:19.03.0~1.2.beta2-0~ubuntu-disco 500
500 https://download.docker.com/linux/ubuntu disco/test amd64 Packages
5:19.03.0~1.1.beta1-0~ubuntu-disco 500
500 https://download.docker.com/linux/ubuntu disco/test amd64 Packages
Notice that docker-ce
is not installed, but the candidate for installation is from the Docker CE repository for Ubuntu 19.04 (disco
).
Then, install Docker CE:
$ sudo apt install docker-ce
Docker CE should now be installed, the daemon started, and the process enabled to start on boot. Check that it's running:
$ sudo systemctl status docker.service
The output should be similar to the following, showing that the service is active and running:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-07-15 15:13:17 UTC; 1min 50s ago
Docs: https://docs.docker.com
Main PID: 24270 (dockerd)
Tasks: 9
Memory: 45.0M
CGroup: /system.slice/docker.service
└─24270 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Finally, set the service to boot from the boot:
$ sudo systemctl enable docker.service
First, get an Outline official server one-click installation bash script install_server.sh
and run this bash script:
$ sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)"
You will see lots of output from the script: first, it checks for the necessary programs (Docker), creates secret keys, and then downloads and starts two Docker containers: a shadowbox server and a watchtower server to update shadowbox as needed.
When the Outline VPN server installation script finishes, you'll see some output similar to the following:
> 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
> Starting Shadowbox .......................... OK
> Starting Watchtower ......................... OK
> Waiting for Outline server to be healthy .... OK
> Creating first user ......................... OK
> Adding API URL to config .................... OK
> Checking host firewall ...................... OK
CONGRATULATIONS! Your Outline server is up and running.
To manage your Outline server, please copy the following line (including curly
brackets) into Step 2 of the Outline Manager interface:
{"apiUrl":"https://YOUR_UBUNTU_SERVER_IP_ADDRESS_EXAMPLE:TCP_PORT_EXAMPLE/XXXXXXXXXXXXXXXXXXXXXX","certSha256":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"}
You won’t be able to access it externally, despite your server being correctly
set up, because there's a firewall (in this machine, your router or cloud
provider) that is preventing incoming connections to ports TCP_PORT_EXAMPLE and TCP_AND_UDP_PORT_EXAMPLE.
Make sure to open the following ports on your firewall, router or cloud provider:
- Management port TCP_PORT_EXAMPLE, for TCP
- Access key port TCP_AND_UDP_PORT_EXAMPLE, for TCP and UDP
Keep that information safe, as you'll need it in the other steps. For now, rejoice: You have successfully installed an Outline VPN server!
First, download Linux AppImages for Outline-Manager Client and Outline Client by above steps #2 Get Outline Manager Client and #3 Get Outline Client. And then, download icons for the two clients:
$ sudo wget https://raw.githubusercontent.com/seingshinlee/outline-vpn-mirrors/dev/statics/outline-manager-client.png && sudo wget https://raw.githubusercontent.com/seingshinlee/outline-vpn-mirrors/dev/statics/outline-client.png
Recursively, create the specified directories:
$ sudo mkdir -p outline/{outline-manager-client,outline-client}
Grant permissions that two client programs can execute:
$ sudo chmod a+x *.AppImage
Move the two programs to the two directories you just created:
$ sudo mv Outline-Manager.AppImage outline/outline-manager-client && sudo mv Outline-Client.AppImage outline/outline-client
Then, move the two icons to the same two directories you just created:
$ sudo mv outline-manager.png outline/outline-manager-client && sudo mv outline.png outline/outline-client
For Outline Manager:
$ sudo cat >$(pwd)/outline-manager-client/outline-manager.desktop <<-EOF
[Desktop Entry]
Encoding=UTF-8
Name=Outline Manager
GenericName=Outline VPN - Outline Manager Client
Comment=The Outline Manager application creates and manages Outline servers, powered by Shadowsocks.
Exec=/opt/outline/outline-manager-client/Outline-Manager.AppImage %f
Icon=/opt/outline/outline-manager-client/outline-manager-client.png
Terminal=false
Type=Application
Categories=Internet
StartupNotify=true
EOF
For Outline:
$ sudo cat >$(pwd)/outline/outline.desktop <<-EOF
[Desktop Entry]
Encoding=UTF-8
Name=Outline
GenericName=Outline VPN - Outline Client
Comment=The Outline Client is a cross-platform VPN or proxy client for Windows, macOS, iOS, Android, and Chrome OS.
Exec=/opt/outline/outline-client/Outline-Client.AppImage %f
Icon=/opt/outline/outline-client/outline-client.png
Terminal=false
Type=Application
Categories=Internet
StartupNotify=true
EOF
$ sudo mv outline/ /opt
For outline-manager.desktop
:
$ sudo ln -s /opt/outline/outline-manager-client/outline-manager.desktop /usr/share/applications/outline-manager.desktop
For outline.desktop
:
$ sudo ln -s /opt/outline/outline-client/outline.desktop /usr/share/applications/outline.desktop
Last, run the command and pop-up the window about Startup application preferences
:
$ gnome-session-properties
Choose Outline-Manager.AppImage
, click Edit
, modify the command
to /opt/outline/outline-manager-client/Outline-Client.AppImage
, and finally save it.
The same reason, you can choose Outline-Client.AppImage
, click Edit
, modify the command
to /opt/outline/outline-client/Outline-Client.AppImage
, and finally save it.
At this point, you completely installed and configured all. Now, Let us reboot computer and try it!
Usage:
Directly, you can take the command into Terminal and enter to continue.
$ sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/seingshinlee/outline-vpn-mirrors/dev/scripts/outline-vpn-ubuntu-one-click-script.sh)"
Or you can 🔰Download this script to you computer.
$ sudo unzip outline-vpn-mirrors-dev.zip
$ cd outline-vpn-mirrors-dev/scripts
$ bash outline-vpn-ubuntu-one-click-script.sh
VPN
、ShadowSocks
、Proxy
、GFW
、GFW Proxy
、One-click Script
、Ubuntu
、科学上网
、爱国上网
、自由上网
、突破网络封锁
、影梭
、翻墙
、扶墙
、代理
、破墙
、国际新闻工作者
、防火长城
、功夫网
、中国国家防火墙
、一键脚本