Skip to content

Outline Client and Manager, developed by Jigsaw. Outline Manager makes it easy to create your own VPN server. Outline Client lets you share access to your VPN with anyone in your network, giving them access to the free and open internet.

License

Notifications You must be signed in to change notification settings

NLDEcloud/vp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Outline Apps

Mattermost Reddit

Access to the free and open internet!

Outline makes it easy to create a VPN server, giving anyone access to the free and open internet.

We have two core apps: Ouline Manager and Ouline Client. Go to https://getoutline.org for ready-to-use versions of both.

Outline Manager

The Outline Manager is a graphical user interface for managing Outline servers. It is available for Windows, macOS, and Linux.

Outline Client

The Outline Client is a cross-platform proxy client for Windows, macOS, iOS, Android, and Linux. The Outline Client is designed for use with the server deployed with the Outline Manager, but it is also fully compatible with any Shadowsocks server.

Build and Test codecov

Note

Test coverage currently only tracks the Apple Libraries and core web view code.

We have two core apps: Ouline Manager and Ouline Client.

To join our Outline Community, sign up for the IFF Mattermost.

Requirements for all builds

Outline Client

💡 NOTE: if you have nvm installed, run nvm use to switch to the correct node version!

After cloning this repo, install all node dependencies:

npm install

Building the shared web app

Outline clients share the same web app across all platforms. This code is located in the src/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:

npm run action client/src/www/start

The latter command will open a browser instance running the app. Browser platform development will use fake servers to test successful and unsuccessful connections.

The app logic is located in src/www/app. UI components are located in src/www/ui_components. If you want to work specifically on an individual UI element, try the storybook!:

npm run action client/src/www/storybook

Note

The src part of the path is optional. npm run action www/start resolves to the same script.

Note

Every script in this repository can be run with npm run action - for a CLI-like experience, add something like

alias outline="npm run action"

(you can call it whatever you like)

to your shell, then try outline www/start!

Passing configuration flags to actions

Certain actions take configuration flags - but since we're running them through npm, you'll have to use the -- seperator to funnel them through to the underlying process. For example, to set up a MacOS project in release mode, you'd run:

SENTRY_DSN=<your sentry dsn> npm run action client/src/cordova/setup macos -- --buildMode=release --versionName=<your version name>

Life of a Packet

How does the Outline Client work?

Accepting a server invite

Looking for instructions on how to accept a server invite?

Platform-specific development

Each platform is handled differently:

  1. Developing for Apple (MacOS and iOS)
  2. Developing for Android
  3. Developing for Electron (Windows and Linux)

Error reporting

To enable error reporting through Sentry for local builds, run:

export SENTRY_DSN=[Sentry development API key]
[platform-specific build command]

Release builds on CI are configured with a production Sentry API key.

Support

For support and to contact us, see: https://support.getoutline.org.

About

Outline Client and Manager, developed by Jigsaw. Outline Manager makes it easy to create your own VPN server. Outline Client lets you share access to your VPN with anyone in your network, giving them access to the free and open internet.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 54.9%
  • JavaScript 12.4%
  • C++ 5.6%
  • Go 5.0%
  • Swift 4.9%
  • Java 4.5%
  • Other 12.7%