Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into sbruens/fix-manager
Browse files Browse the repository at this point in the history
  • Loading branch information
sbruens committed Apr 15, 2024
2 parents e66dece + 09f0f1f commit c4d4f68
Show file tree
Hide file tree
Showing 11 changed files with 12 additions and 563 deletions.
102 changes: 7 additions & 95 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,109 +1,21 @@
# Outline Apps

[![Mattermost](https://badgen.net/badge/Mattermost/Outline%20Community/blue)](https://community.internetfreedomfestival.org/community/channels/outline-community) [![Reddit](https://badgen.net/badge/Reddit/r%2Foutlinevpn/orange)](https://www.reddit.com/r/outlinevpn/)
[![Mattermost](https://badgen.net/badge/Mattermost/Outline%20Community/blue)](https://community.internetfreedomfestival.org/community/channels/outline-community) [![Reddit](https://badgen.net/badge/Reddit/r%2Foutlinevpn/orange)](https://www.reddit.com/r/outlinevpn/)
[![codecov](https://codecov.io/gh/Jigsaw-Code/outline-app/branch/master/graph/badge.svg?token=gasD8v5tjn)](https://codecov.io/gh/Jigsaw-Code/outline-app)

## 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](./server_manager) and [Ouline Client](./src). Go to https://getoutline.org for ready-to-use versions of both.
We have two core apps

### Outline Manager
- <img alt="Outline Manager Logo" src="docs/resources/logo_manager.png" title="Outline Manager" width="25"> **Outline Manager** ([`/server_manager`](server_manager)): A graphical user interface for managing Outline servers. It is available for Windows, macOS, and Linux.

The Outline Manager is a graphical user interface for managing Outline servers. It is available for Windows, macOS, and Linux.
- <img alt="Outline Client Logo" src="docs/resources/logo_client.png" title="Outline Client" width="25"> **Outline Client** ([`/client`](client)): 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](https://shadowsocks.org/) server.

### Outline Client
Go to https://getoutline.org for ready-to-use versions of both.

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](https://shadowsocks.org/) server.

<!--- TODO: Move this detail into its own client folder. -->

![Build and Test](https://github.com/Jigsaw-Code/outline-client/actions/workflows/build_and_test_debug_client.yml/badge.svg?branch=master) [![codecov](https://codecov.io/gh/Jigsaw-Code/outline-client/branch/master/graph/badge.svg?token=gasD8v5tjn)](https://codecov.io/gh/Jigsaw-Code/outline-client)

> [!NOTE]
> Test coverage currently only tracks the Apple Libraries and core web view code.
We have two core apps: [Ouline Manager](./server_manager) and [Ouline Client](./client).

To join our Outline Community, [sign up for the IFF Mattermost](https://wiki.digitalrights.community/index.php?title=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:

```sh
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:

```sh
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](src/www/app). UI components are located in [src/www/ui_components](src/www/ui_components). If you want to work specifically on an individual UI element, try the storybook!:

```sh
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
>
> ```sh
> 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:
```sh
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?](docs/life_of_a_packet.md)
#### Accepting a server invite
[Looking for instructions on how to accept a server invite?](docs/invitation_instructions.md)
#### Platform-specific development
Each platform is handled differently:
1. [Developing for Apple **(MacOS and iOS)**](src/cordova/apple)
2. [Developing for **Android**](src/cordova/android)
3. [Developing for Electron **(Windows and Linux)**](src/electron)
#### Error reporting
To enable error reporting through [Sentry](https://sentry.io/) for local builds, run:
```bash
export SENTRY_DSN=[Sentry development API key]
[platform-specific build command]
```
Release builds on CI are configured with a production Sentry API key.
**Join the Outline Community** by signing up for the [IFF Mattermost](https://wiki.digitalrights.community/index.php?title=IFF_Mattermost)!

## Support

Expand Down
11 changes: 5 additions & 6 deletions client/README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
# Outline Client

![Build and Test](https://github.com/Jigsaw-Code/outline-apps/actions/workflows/build_and_test_debug_client.yml/badge.svg?branch=master)
![Build and Test](https://github.com/Jigsaw-Code/outline-apps/actions/workflows/build_and_test_debug_client.yml/badge.svg?branch=master) [![codecov](https://codecov.io/gh/Jigsaw-Code/outline-apps/graph/badge.svg?token=gasD8v5tjn)](https://codecov.io/gh/Jigsaw-Code/outline-apps)

> **Test coverage currently only tracks the Apple Libraries and core web view code:**
>
> [![codecov](https://codecov.io/gh/Jigsaw-Code/outline-apps/branch/master/graph/badge.svg?token=gasD8v5tjn)](https://codecov.io/gh/Jigsaw-Code/outline-apps)
> [!NOTE]
> Test coverage currently only tracks the Apple Libraries and core web view code.
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](https://github.com/Jigsaw-Code/outline-server) software, but it is fully compatible with any [Shadowsocks](https://shadowsocks.org/) server.

The client's user interface is implemented in [Polymer](https://www.polymer-project.org/) 2.0. Platform support is provided by [Cordova](https://cordova.apache.org/) and [Electron](https://electronjs.org/), with additional native components in this repository.

To join our Outline Community, [sign up for the IFF Mattermost](https://internetfreedomfestival.org/wiki/index.php/IFF_Mattermost).

## Requirements for all builds

Expand Down Expand Up @@ -40,7 +38,8 @@ The app logic is located in [src/www/app](src/www/app). UI components are locate
npm run action client/src/www/storybook
```

> 💡 NOTE: every script in this repository can be run with `npm run action` -
> [!NOTE]
> Every script in this repository can be run with `npm run action` -
> for a CLI-like experience, add something like
>
> ```sh
Expand Down
Binary file added docs/resources/logo_client.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/resources/logo_manager.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
98 changes: 0 additions & 98 deletions outline/device/config.go

This file was deleted.

133 changes: 0 additions & 133 deletions outline/device/config_test.go

This file was deleted.

Loading

0 comments on commit c4d4f68

Please sign in to comment.