Skip to content

Outline Manager, developed by Jigsaw. 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.

License

Notifications You must be signed in to change notification settings

vo0doO/outline-server

 
 

Repository files navigation

Outline Server

Build Status

Этот репозиторий содержит весь код, необходимый для создания и управления серверами Outline на DigitalOcean. Сервер Outline запускает экземпляры прокси Shadowsocks и предоставляет API, используемый приложением Outline Manager.

Components

Система состоит из следующих компонентов:

  • Outline Server: прокси-сервер, который запускает экземпляр Shadowsocks для каждого ключ доступа и REST API для управления ключами доступа. Outline Server работает в контейнере Docker на хост-машине.

    See src/shadowbox

  • Outline Manager: [Электрон] (https://electronjs.org/) приложение, которое может создавать Outline-серверы в облаке и общаться с их ключом доступа API управления для управления доступом к серверу.

    See src/server_manager

  • Metrics Server: REST-сервис, с которым общается Outline Server если пользователь включил анонимный обмен метриками.

    See src/metrics_server

Code Prerequisites

Для сборки и запуска кода вам необходимо установить следующее:

  • Node
  • Yarn
  • Wine, если вы хотите сгенерировать двоичные файлы для Windows.

Затем вам нужно установить все зависимости пакета NPM:

yarn

Примечание: если вы используете root (не рекомендуется на вашем компьютере разработчика, может быть, в контейнере), вам нужно добавить {" allow_root ": true} в ваш файл / root / .bowerrc.

Этот проект использует Yarn workspaces.

Build System

У нас очень простая система сборки, основанная на сценариях package.json, которые вызываются с помощью yarn` и тонкая оболочка для того, что мы называем "действиями" сборки.

Мы определилиdoскрипт package.json, который принимает action параметр:

yarn do $ACTION

Эта команда определит функцию do_action () и вызовет $ {ACTION} _action.sh, которая должна существовать. Сценарий вызываемого действия может использовать do_action для вызова своих зависимостей. Параметр $ ACTION всегда разрешается из корня проекта, независимо от местоположения вызывающего.

Идея do_action состоит в том, чтобы держать логику сборки рядом с соответствующим кодом. Он также определяет две переменные среды:

  • ROOT_DIR: корневой каталог проекта, как абсолютный путь.
  • BUILD_DIR: куда должен идти вывод сборки, как абсолютный путь.

Build output

Building создает следующие каталоги под build/:

  • web_app/: Веб-приложение Manager.
    • static/: Статические файлы автономного веб-приложения. Это то, что вы развертываете на веб-сервере или работает с Electron.
  • electron_app/: Настольное приложение Electron для запуска
    • static/: Приложение Manager Electron для запуска из командной строки электронов
    • bundled/: Приложение Electron для автономной работы на каждой платформе
    • packaged/: Пакеты приложений Electron упакованы как отдельные файлы для распространения
  • invite_page: страница приглашения
    • static: Автономные статические файлы для развертывания
  • shadowbox: Прокси-сервер

В каталогах есть подкаталоги для промежуточного вывода:

  • ts/: Автоматически сгенерированные файлы Typescript
  • js/: Вывод из компиляции кода Typescript
  • browserified/: Вывод браузерного кода JavaScript

для хорошо сложенный успех:

yarn run clean

About

Outline Manager, developed by Jigsaw. 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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 53.0%
  • HTML 32.5%
  • Shell 12.9%
  • Other 1.6%