diff --git a/plinth/clients.py b/plinth/clients.py
index 01da5cb63..9cd9a4ffb 100644
--- a/plinth/clients.py
+++ b/plinth/clients.py
@@ -116,7 +116,7 @@ def _validate_platform_package(platform):
def _validate_platform_download(platform):
"""Validate a platform of type download."""
- assert platform['os'] in enum_values(Desktop_OS)
+ assert platform['os'] in enum_values(Desktop_OS) + enum_values(Mobile_OS)
assert isinstance(platform['url'], (str, Promise))
diff --git a/plinth/modules/wireguard/manifest.py b/plinth/modules/wireguard/manifest.py
index 97fb9c05f..2fa8dfb6d 100644
--- a/plinth/modules/wireguard/manifest.py
+++ b/plinth/modules/wireguard/manifest.py
@@ -25,6 +25,11 @@ clients = [{
'type': 'package',
'format': 'deb',
'name': 'wireguard'
+ }, {
+ 'type': 'download',
+ 'os': 'android',
+ 'url': ('https://www.wireguard.com/'
+ 'install/#android-play-store-direct-apk-file')
}, {
'type': 'store',
'os': 'android',
diff --git a/plinth/templates/clients.html b/plinth/templates/clients.html
index ccd280880..b4466d70f 100644
--- a/plinth/templates/clients.html
+++ b/plinth/templates/clients.html
@@ -45,20 +45,22 @@
{% for platform in client.platforms %}
{% if platform.type == 'download' %}
-
-
- {% with 'theme/icons/'|add:platform.os|add:'.png' as icon %}
-
- {% if platform.os == 'gnu-linux' %}
- {% trans 'GNU/Linux' %}
- {% elif platform.os == 'windows' %}
- {% trans 'Windows' %}
- {% elif platform.os == 'macos' %}
- {% trans 'macOS' %}
- {% endif %}
- {% endwith %}
-
-
+ {% if platform.os == 'gnu-linux' or platform.os == 'macos' or platform.os == 'windows' %}
+
+
+ {% with 'theme/icons/'|add:platform.os|add:'.png' as icon %}
+
+ {% if platform.os == 'gnu-linux' %}
+ {% trans 'GNU/Linux' %}
+ {% elif platform.os == 'windows' %}
+ {% trans 'Windows' %}
+ {% elif platform.os == 'macos' %}
+ {% trans 'macOS' %}
+ {% endif %}
+ {% endwith %}
+
+
+ {% endif %}
{% endif %}
{% endfor %}
|
@@ -75,6 +77,16 @@
{{ client.name }} |
{% for platform in client.platforms %}
+ {% if platform.type == 'download' and platform.os == 'android' %}
+
+
+ {% with 'theme/icons/'|add:platform.os|add:'.png' as icon %}
+
+ {% trans 'Android APK' %}
+ {% endwith %}
+
+
+ {% endif %}
{% if platform.type == 'store' and platform.os == 'android' or platform.os == 'ios' %}
diff --git a/static/themes/default/icons/android.png b/static/themes/default/icons/android.png
new file mode 100644
index 000000000..c64703ec7
Binary files /dev/null and b/static/themes/default/icons/android.png differ
|