All Projects → Jigsaw-Code → Outline Client

Jigsaw-Code / Outline Client

Licence: apache-2.0
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, Linux, iOS and macOS.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
java
68154 projects - #9 most used programming language
objective c
16641 projects - #2 most used programming language
C++
36643 projects - #6 most used programming language
swift
15916 projects

Projects that are alternatives of or similar to Outline Client

Cordova Js
Apache Cordova JavaScript Bridge
Stars: ✭ 598 (-90.88%)
Mutual labels:  cordova
Openmptcprouter
OpenMPTCProuter is an open source solution to aggregate multiple internet connections using Multipath TCP (MPTCP) on OpenWrt
Stars: ✭ 652 (-90.05%)
Mutual labels:  shadowsocks
V2ray Desktop
最优雅的跨平台代理客户端,支持Shadowsocks(R),V2Ray和Trojan协议。The most elegant cross-platform proxy GUI client that supports Shadowsocks(R), V2Ray, and Trojan. Built with Qt5 and QML2.
Stars: ✭ 671 (-89.76%)
Mutual labels:  shadowsocks
Cordova Plugin Splashscreen
Apache Cordova Plugin splashscreen
Stars: ✭ 602 (-90.82%)
Mutual labels:  cordova
Cordova Template Framework7 Vue Webpack
Framework7 - Vue - Webpack Cordova Template with Webpack Dev Server and Hot Module Replacement
Stars: ✭ 630 (-90.39%)
Mutual labels:  cordova
Freedom
类酸酸乳订阅源聚合 - 我们不生产类酸酸乳,我们只是大自然的拆迁工
Stars: ✭ 672 (-89.75%)
Mutual labels:  shadowsocks
Blinksocks
A framework for building composable proxy protocol stack.
Stars: ✭ 587 (-91.05%)
Mutual labels:  shadowsocks
Clash Rules
🦄️ 🎃 👻 Clash Premium 规则集(RULE-SET),兼容 ClashX Pro、Clash for Windows 客户端。
Stars: ✭ 706 (-89.23%)
Mutual labels:  shadowsocks
Cordova Plugin Iosrtc
Cordova iOS plugin exposing the WebRTC W3C API
Stars: ✭ 638 (-90.27%)
Mutual labels:  cordova
Vps setup
linux vim bash 脚本学习笔记 by 蘭雅sRGB https://262235.xyz/
Stars: ✭ 678 (-89.66%)
Mutual labels:  shadowsocks
Cordova Plugin Wkwebview Engine
[DEPRECATED] Apache Cordova wkwebview engine plugin
Stars: ✭ 607 (-90.74%)
Mutual labels:  cordova
Cordova Plugin Code Push
Cordova plugin for CodePush
Stars: ✭ 619 (-90.56%)
Mutual labels:  cordova
Node Tap
基于TypeScript实现的开源SSTap
Stars: ✭ 673 (-89.73%)
Mutual labels:  shadowsocks
Cordova Background Geolocation Lt
The most sophisticated background location-tracking & geofencing module with battery-conscious motion-detection intelligence for iOS and Android.
Stars: ✭ 600 (-90.85%)
Mutual labels:  cordova
Cordova Admob Pro
🔥 Cordova Plugin for Google AdMob, DFP, ADX. Easy monetization using mobile Ad, with single line of JavaScript. Compatible with Cordova CLI, Inoic, PhoneGap Build, etc.
Stars: ✭ 690 (-89.47%)
Mutual labels:  cordova
Ssfree
provide shadowsocks free tutorial and free account
Stars: ✭ 590 (-91%)
Mutual labels:  shadowsocks
Cordova Plugin File
Apache Cordova Plugin file
Stars: ✭ 664 (-89.87%)
Mutual labels:  cordova
Calendar Phonegap Plugin
📅 Cordova plugin to Create, Change, Delete and Find Events in the native Calendar
Stars: ✭ 729 (-88.88%)
Mutual labels:  cordova
Python Proxy
HTTP/HTTP2/HTTP3/Socks4/Socks5/Shadowsocks/ShadowsocksR/SSH/Redirect/Pf TCP/UDP asynchronous tunnel proxy implemented in Python 3 asyncio.
Stars: ✭ 692 (-89.44%)
Mutual labels:  shadowsocks
Generator M Ionic
Advanced workflows and setup for building rock-solid Ionic apps
Stars: ✭ 677 (-89.67%)
Mutual labels:  cordova

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.

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 Node 16, in addition to other per-platform requirements.

💡 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 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:

npx gulp build --platform=browser
npx cordova run browser

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

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

Tip: Build with (export BUILD_ENV=development; npx gulp build --platform=browser) to enable source maps.

Building the Android app

Additional requirements for Android:

  • Android Studio 4+
  • Android SDK 29

💡 NOTE: If you're running linux, you can automatically set up the development environment by running bash ./tools/build/setup_linux_android.sh

To build for android, run:

npx gulp build --platform=android

To rebuild after modifying platform dependent files, run:

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

If this gives you unexpected Cordova errors, run:

npm run clean && npm ci && npx 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 npm ci
  • Then build with ./tools/build/build.sh npx 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 11+ (download)
  • XCode command line tools: xcode-select --install

To open the macOS project on XCode:

open ./platforms/osx/Outline.xcodeproj

To open the iOS project on XCode:

open ./platforms/ios/Outline.xcodeproj

To build for macOS (OS X), run:

npx gulp build --platform=osx

To build for iOS, run:

npx gulp build --platform=ios

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

Electron

Unlike the Android and Apple clients, the Windows and Linux clients use the Electron framework, rather than Cordova.

Windows

Additional requirements for building on Windows:

  • Cygwin. It provides the "missing Unix pieces" required by build system such as rsync (and many others). It may be necessary to manually choose to install rsync in the Cygwin installer.

To build the Electron clients, run:

npm run action src/electron/build

To run the Electron clients, run:

npm run action src/electron/start

To package the Electron clients into an installer executable, run:

npm run action src/electron/package_[linux|windows]

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].