OpenVPN Plugin

OpenVPN Plugin

The application demonstrates the development of an OpenVPN plugin without scripts for connman

RU | EN

OpenVPN Plugin

Описание приложения

Проект демонстрирует как интегрировать VPN в Аврору ОС на основе OpenVPN решения, добавив возможность подключаться через плагин connman. Приложение является плагином, а не самостоятельным приложением и встраивается в систему и становится доступным настройках системы. В нем есть возможность как самостоятельно настроить доступ к серверу, так и использовать .ovpn файл для настройки соединения. Создание VPN соединения предоставляет расширенные настройки, такие как выбор шифрования, выбор сертификата, например. Также поддерживается OTP аутентификация.

Статус сборки:

  1. example - pipeline status
  2. dev - pipeline status

Содержание

Совместимость

Приложение корректно работает начиная с ОС Аврора 5.х.х и выше.

Особенности сборки

Плагин собирается стандартным способом через SDK или Platform SDK, при этом для сборки необходимо наличие установленного conan.

Зависимости, которые загружает conan:

  • autoconf 2.71
  • automake 1.16.5
  • libtool 2.4.7
  • lz4 1.10.0
  • m4 1.4.19
  • openssl 3.3.3

Начиная с версии Авроры ОС 5.0.1 в системе больше не предустановлена, но доступна в репозитории, утилита openvpn. Поэтому плагин использует кастомный OpenVPN, который собирается вместе с необходимыми библиотеками. Проект имеет следующие зависимости:

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

  • libpkcs11-helper-1
  • connman
  • glib-2.0
  • dbus-1

Для сборки плагина используются утилиты autotools, которые запускаются из собственного окружения.

Информация о ветках

Версии приложения соответствуют соглашению об наименовании веток.

Установка и запуск

Важно

Подпись приложения выполняется extended профилем.

Установка

Как было написано ранее, проект не является самостоятельным приложением и при установке интегрируется в систему. После деплоя, плагин будет доступен в настройках системы в секции управление соединением в разделе VPN. В нем появится кнопка "Добавить VPN", после нажатия которой нужно будет выбрать OpenVPN тип соединения.

Запуск

Создать новое VPN соединение можно двумя вариантами:

  1. Импорт файл. Для этого на устройство нужно загрузить .ovpn файл, в котором будут находится необходимые настройки для соединения с VPN сервером(рекомендуется).
  2. Пропустить. При выборе этого варианта придется вручную прописывать адрес сервера и загружать файл центра сертификации.

Также при двух сценариям создания соединения можно изменить некоторые данные в расширенных настройках. В случае если потребуется OTP, то нужно в "Расширенных настройках" снять галочку с пункта "Установить маршрут по умолчанию".

После создания, в списке доступных VPN появится ваше соединение. При включении него в верхнем трее должна появится иконка щита, а соединение должно перейти в состояние "Подключено". Если этого не произошло проверьте настройки VPN соединения.

Скриншоты

VPN types Import OpenVPN Detail OpenVPN connection Advanced settings OpenVPN connection VPN connection list

Структура проекта

Проект имеет структуру приложения на базе C++ и QML для ОС Аврора.

  • Каталог autotools содержит файлы autotools, необходимые для сборки.
  • Каталог connman_plugin содержит подпроект с обёрткой connman плагина.
    • Каталог src содержит исходный код плагина.
      • Файл openvpn.c является главным файлом с макросом CONNMAN_PLUGIN_DEFINE.
    • Файл aurora-openvpn.conf содержит настройки плагина.
  • Каталог gitlab-ci содержит файлы для CI.
  • Каталог openvpn содержит утилиту OpenVPN.
  • Каталог openvpn_plugin содержит реализацию только qml приложения без исходных кодов C++.
  • Каталог qml_plugin содержит реализацию OpenVPN плагина.
  • Каталог rpm содержит настройки сборки rpm-пакета.
  • Каталог settings_controls содержит QML-файлы управления настройками в в пункте VPN.
  • Каталог settings_translations содержит файлы перевода плагина OpenVPN.
  • Файл ru.auroraos.OpenVPNPlugin.pro описывает структуру проекта для системы сборки qmake.

Правила использования и участие в разработке

Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.
Исходный код OpenVPN предоставляется по лицензии.

Для участия в развитии проекта, пожалуйста, ознакомьтесь с соглашением участника. Если Вы планируете присылать свой исходный код для включения в состав проекта, Вам понадобится принять условия CLA.

Информация об участниках указана в файле AUTHORS.

Кодекс поведения — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.