openvpn: Add client apps

Closes #1702

Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
Joseph Nuthalapati 2019-11-29 16:21:58 +05:30 committed by James Valleroy
parent 126f0a793e
commit 005e9ffbd8
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808
4 changed files with 52 additions and 6 deletions

View File

@ -28,7 +28,7 @@ from plinth.daemon import Daemon
from plinth.modules.firewall.components import Firewall
from plinth.utils import format_lazy
from .manifest import backup # noqa, pylint: disable=unused-import
from .manifest import backup, clients # noqa, pylint: disable=unused-import
version = 3
@ -57,6 +57,8 @@ port_forwarding_info = [('UDP', 1194)]
app = None
clients = clients
class OpenVPNApp(app_module.App):
"""FreedomBox app for OpenVPN."""

View File

@ -18,11 +18,52 @@
Application manifest for OpenVPN.
"""
from django.utils.translation import ugettext_lazy as _
from plinth.clients import store_url, validate
from plinth.modules.backups.api import validate as validate_backup
_package_id = 'de.blinkt.openvpn'
_download_url = 'https://openvpn.net/community-downloads'
backup = validate_backup({
'secrets': {
'directories': ['/etc/openvpn/']
}
})
backup = validate_backup({'secrets': {'directories': ['/etc/openvpn/']}})
clients = validate([{
'name':
_('OpenVPN'),
'platforms': [{
'type': 'package',
'format': 'deb',
'name': 'openvpn',
}, {
'type': 'package',
'format': 'brew',
'name': 'openvpn',
}, {
'type': 'store',
'os': 'android',
'store_name': 'f-droid',
'url': store_url('f-droid', _package_id)
}, {
'type': 'store',
'os': 'android',
'store_name': 'google-play',
'url': store_url('google-play', _package_id)
}, {
'type': 'download',
'os': 'gnu-linux',
'url': _download_url,
}, {
'type': 'download',
'os': 'windows',
'url': _download_url,
}]
}, {
'name':
_('TunnelBlick'),
'platforms': [{
'type': 'download',
'os': 'macos',
'url': 'https://tunnelblick.net/downloads.html'
}]
}])

View File

@ -35,6 +35,8 @@
{% block configuration %}
{% include "clients.html" with clients=clients enabled=is_enabled %}
{% if status.is_setup %}
<h3>{% trans "Profile" %}</h3>

View File

@ -59,6 +59,7 @@ def index(request):
return TemplateResponse(
request, 'openvpn.html', {
'title': openvpn.name,
'clients': openvpn.clients,
'description': openvpn.description,
'manual_page': openvpn.manual_page,
'port_forwarding_info': openvpn.port_forwarding_info,