OFVPN client
An example project that shows how to integrate VPN into Aurora OS which is provided by openfortivpn application.
The main purpose is to demonstrate using a minimum of source code to get a correct VPN plugin with an external configuration file.
The application signing must be made with extended-keys.
Limitations
- CLI passing of the password, related: NetworkManager-fortisslvpn#12
- Since openfortivpn has no async control interface (similar to OpenVPN), option skip cert check was temporary added to openfortivpn
Dependencies
- connman
- connman-vpn-scripts
- glib-2.0
- dbus-1
- openfortivpn fork
- jolla-settings as a gui client 4
Terms of Use and Participation
The source code of the project is provided under the license, which allows its use in third-party applications.
The contributor agreement documents the rights granted by contributors of the Open Mobile Platform.
Information about the contributors is specified in the AUTHORS file.
Code of conduct is a current set of rules of the Open Mobile Platform which informs you how we expect the members of the community will interact while contributing and communicating.
Project Structure
ru.auroraos.OFVPN directory contains OFVPN external configurator:
- ru.auroraos.OFVPN.pro file describes the app subproject structure for the qmake build system.
- icons directory contains the application icons for different screen resolutions.
-
qml directory contains the QML source code and the UI resources.
- cover directory contains the application cover implementations.
- pages directory contains the application pages.
- types directory contains user QML components which implements some input fields.
- ru.auroraos.OFVPN.qml file provides the application window implementation.
-
src directory contains the C++ source code.
- main.cpp file is the application entry point.
- translations directory contains the UI translation files.
- ru.auroraos.OFVPN.desktop file defines the display and parameters for launching the application.
- ru.auroraos.OFVPN.pro file describes the project structure for the qmake build system.
-
rpm directory contains the rpm-package build settings.
- ru.auroraos.OFVPN.spec file is used by rpmbuild tool.
-
jolla-settings-controls directory contains QML settings controls files for Aurora OS 3 and Aurora OS 4.
- jolla-settings-controls/aurora_4_0 directory contains QML files for the jolla-setting sailfish-vpn module for Aurora OS 4.
- jolla-settings-controls/aurora_3_5 directory contains QML files for the jolla-setting sailfish-vpn module for Aurora OS 3.
- jolla-settings-translations directory contains the OFVPN plugin translation files.
-
connman-plugin directory contains subproject with a wrapper of the ConnMan plugin.
-
aurora-ofvpn-vpn.c is the main file with the
CONNMAN_PLUGIN_DEFINE
macros. - clang-format file is a clang-format configuration file from Linux kernel.
-
aurora-ofvpn-vpn.c is the main file with the
- qml-plugin directory contains the implementation of the OFVPN plugin.
Compatibility
The project is compatible with all the current versions of the Aurora OS.