OpenVPN Plugin
Описание приложения
Проект демонстрирует как интегрировать VPN в Аврору ОС на основе OpenVPN решения, добавив возможность подключаться через плагин connman. Приложение является плагином, а не самостоятельным приложением и встраивается в систему и становится доступным настройках системы. В нем есть возможность как самостоятельно настроить доступ к серверу, так и использовать .ovpn файл для настройки соединения. Создание VPN соединения предоставляет расширенные настройки, такие как выбор шифрования, выбор сертификата, например. Также поддерживается OTP аутентификация.
Статус сборки:
Содержание
- Совместимость
- Особенности сборки
- Информация о ветках
- Установка и запуск
- Скриншоты
- Структура проекта
- Правила использования и участие в разработке
Совместимость
Приложение корректно работает начиная с ОС Аврора 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 соединение можно двумя вариантами:
- Импорт файл. Для этого на устройство нужно загрузить .ovpn файл, в котором будут находится необходимые настройки для соединения с VPN сервером(рекомендуется).
- Пропустить. При выборе этого варианта придется вручную прописывать адрес сервера и загружать файл центра сертификации.
Также при двух сценариям создания соединения можно изменить некоторые данные в расширенных настройках. В случае если потребуется OTP, то нужно в "Расширенных настройках" снять галочку с пункта "Установить маршрут по умолчанию".
После создания, в списке доступных VPN появится ваше соединение. При включении него в верхнем трее должна появится иконка щита, а соединение должно перейти в состояние "Подключено". Если этого не произошло проверьте настройки VPN соединения.
Скриншоты

Структура проекта
Проект имеет структуру приложения на базе C++ и QML для ОС Аврора.
- Каталог autotools содержит файлы autotools, необходимые для сборки.
- Каталог connman_plugin содержит подпроект с обёрткой connman плагина.
- Каталог src содержит исходный код плагина.
- Файл openvpn.c является главным файлом с макросом
CONNMAN_PLUGIN_DEFINE.
- Файл openvpn.c является главным файлом с макросом
- Файл aurora-openvpn.conf содержит настройки плагина.
- Каталог src содержит исходный код плагина.
- Каталог gitlab-ci содержит файлы для CI.
- Каталог openvpn содержит утилиту OpenVPN.
- Каталог openvpn_plugin содержит реализацию только qml приложения без исходных кодов C++.
- Каталог qml_plugin содержит реализацию OpenVPN плагина.
- Каталог rpm содержит настройки сборки rpm-пакета.
- Файл ru.auroraos.OpenVPNPlugin.spec используется инструментом rpmbuild.
- Каталог settings_controls содержит QML-файлы управления настройками в в пункте VPN.
- Каталог settings_translations содержит файлы перевода плагина OpenVPN.
- Файл ru.auroraos.OpenVPNPlugin.pro описывает структуру проекта для системы сборки qmake.
Правила использования и участие в разработке
Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.
Исходный код OpenVPN предоставляется по лицензии.
Для участия в развитии проекта, пожалуйста, ознакомьтесь с соглашением участника. Если Вы планируете присылать свой исходный код для включения в состав проекта, Вам понадобится принять условия CLA.
Информация об участниках указана в файле AUTHORS.
Кодекс поведения — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.