Outline clients, developed by Jigsaw. The Outline clients use the popular Shadowsocks protocol, and lean on the Cordova and Electron frameworks to support Windows, Android / ChromeOS, iOS and macOS.
Switch branches/tags
windows-v1.2.19 windows-v1.2.18 windows-v1.2.17 windows-v1.2.16 windows-v1.2.15 windows-v1.2.14 windows-v1.2.13 windows-v1.2.12 windows-v1.2.11 windows-v1.2.10 windows-v1.2.9 windows-v1.2.8 windows-v1.2.7 windows-v1.2.6 windows-v1.2.5 windows-v1.2.4 windows-v1.2.3 windows-v1.2.2 windows-v1.2.1 windows-v1.2.0 windows-v1.1.2 windows-v1.1.1 windows-v1.1.0 windows-v1.0.4 windows-v1.0.3 windows-v1.0.2 windows-v1.0.1 windows-v1.0.0 macos-v1.1.2 macos-v1.0.0 ios-v1.2.3 ios-v1.2.2 ios-v1.2.1 ios-v1.2.0 ios-v1.1.3 ios-v1.1.2 ios-v1.1.0 ios-v1.0.2 ios-v1.0.1 ios-v1.0.0 daily-2018-11-15 daily-2018-11-14 daily-2018-11-13 daily-2018-11-12 daily-2018-11-11 daily-2018-11-10 daily-2018-11-09 daily-2018-11-08 daily-2018-11-07 daily-2018-11-06 daily-2018-11-05 daily-2018-11-04 daily-2018-11-03 daily-2018-11-02 daily-2018-11-01 daily-2018-10-31 daily-2018-10-30 daily-2018-10-29 daily-2018-10-28 daily-2018-10-27 daily-2018-10-26 daily-2018-10-25 daily-2018-10-24 daily-2018-10-23 daily-2018-10-22 daily-2018-10-21 daily-2018-10-20 daily-2018-10-19 daily-2018-10-18 daily-2018-10-17 daily-2018-10-16 daily-2018-10-15 daily-2018-10-14 daily-2018-10-13 daily-2018-10-12 daily-2018-10-11 daily-2018-10-10 daily-2018-10-09 daily-2018-10-08 daily-2018-10-07 daily-2018-10-06 daily-2018-10-05 daily-2018-10-04 daily-2018-10-03 daily-2018-10-02 daily-2018-10-01 daily-2018-09-30 daily-2018-09-29 daily-2018-09-28 daily-2018-09-27 daily-2018-09-26 daily-2018-09-25 daily-2018-09-24 daily-2018-09-23 daily-2018-09-22 daily-2018-09-21 daily-2018-09-20 daily-2018-09-19 daily-2018-09-18 daily-2018-09-17
Nothing to show
Clone or download
Permalink
Failed to load latest commit information.
apple Apple: re-enable LAN bypass, increase versions (#373) Nov 8, 2018
cordova-plugin-outline Apple: replace native hardcoded strings with NSLocalizedString (#383) Nov 13, 2018
docs Enable localization (#253) Sep 6, 2018
resources Feedback form improvements (#328) Oct 16, 2018
scripts Feedback form improvements (#328) Oct 16, 2018
src wait for netsh to see TAP device (#387) Nov 14, 2018
third_party Merge pull request #374 from Jigsaw-Code/bemasc-v6 Nov 7, 2018
tools apply Visual Studio formatting to OutlineService.cs (#389) Nov 15, 2018
.bowerrc import code Mar 15, 2018
.clang-format more fine-grained connection errors on Windows (#23) Mar 23, 2018
.gitattributes import latest .gitattributes changes, for easier merge Jul 18, 2018
.gitignore move source to src/electron and src/www, treat www/ like another buil… Oct 3, 2018
.travis.yml move source to src/electron and src/www, treat www/ like another buil… Oct 3, 2018
CONTRIBUTING.md import code Mar 15, 2018
LICENSE import code Mar 15, 2018
README.md fix path to build windows client Oct 31, 2018
bower.json Enable localization (#253) Sep 6, 2018
config.xml Release Android client v1.2.7 (#359) Oct 31, 2018
gulpfile.js Fix browser build for Windows (#348) Oct 31, 2018
jasmine.json move source to src/electron and src/www, treat www/ like another buil… Oct 3, 2018
keystore.p12.enc Update Travis deploy API key and encrypted variables (#19) Mar 22, 2018
package.json bump version number for windows client release (#388) Nov 14, 2018
tslint.json import code Mar 15, 2018
yarn.lock move source to src/electron and src/www, treat www/ like another buil… Oct 3, 2018

README.md

Outline Client

Build Status

The Outline Client is a cross-platform VPN or proxy client for Windows, macOS, iOS, Android, and ChromeOS. The Outline Client is designed for use with the Outline Server software, but it is fully compatible with any Shadowsocks server that has UDP support enabled.

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.

Requirements for all builds

All builds require yarn, in addition to other per-platform requirements. After cloning this repo, you should run "yarn" to install all dependencies.

Building the web app

Outline clients shares the same web app across all platforms. This code is located in the www directory. If you are making changes to the shared web app and do not need to test platform-specific functionality, you can test in a desktop browser by running:

yarn gulp build --platform=browser --watch

This command will automatically rebuild after any typescript file in the www directory changes, however it will need to be re-run to pick up other file changes.

Browser platform development will use fake servers to test successful and unsuccessful connections.

UI components are located in www/ui_components. The app logic is located in www/app.

Building the Android app

Additional requirements for Android:

  • Android Studio
  • Android SDK 26

To build for android, run:

yarn gulp build --platform=android

To rebuild after modifying platform dependent files, run:

yarn cordova platform rm android && yarn gulp build --platform=android

If this gives you unexpected Cordova errors, run:

yarn run clean && yarn && yarn gulp build --platform=android

Cordova will generate a new Android project in the platforms/android directory. Install the built apk by platforms/android/build/outputs/apk/android-armv7-debug.apk

To learn more about developing for Android, see docs/android-development.

Building for Android with Docker

A Docker image with all pre-requisites for Android builds is included. To build:

  • Install dependencies with ./tools/build/build.sh yarn
  • Then build with ./tools/build/build.sh yarn gulp build --platform=android

Apple (macOS and iOS)

Additional requirements for Apple:

  • An Apple Developer Account. You will need to be invited to join the "Jigsaw Operations LLC" team
  • XCode 9+ (download)
  • XCode command line tools

To build for macOS (OS X), run:

yarn run clean && yarn && yarn gulp build --platform=osx

To build for iOS, run:

yarn run clean && yarn && yarn gulp build --platform=ios

To learn more about developing for Apple, see docs/apple-development

Windows

Additional requirements for building on Windows:

  • Cygwin. It provides the "missing Unix pieces" required by build system such as rsync (and many others)

To build for Windows, run:

yarn do src/electron/build

Unlike the Android and Apple clients, the Windows build uses the Electron framework, rather than Cordova.