From 535ba37388f7697ad14b4bce781e76b41b3b67fc Mon Sep 17 00:00:00 2001 From: E <2974895+eduardomozart@users.noreply.github.com> Date: Sun, 5 Jul 2026 12:25:48 -0300 Subject: [PATCH] feat: simplify client download schema and inject client data --- apps/moonlight/moonlight-android.json | 26 ++++++++++++++++- apps/moonlight/moonlight-embedded.json | 15 +++++++++- apps/moonlight/moonlight-ios.json | 26 ++++++++++++++++- apps/moonlight/moonlight-n3ds.json | 15 +++++++++- apps/moonlight/moonlight-qt.json | 30 +++++++++++++++++++- apps/moonlight/moonlight-switch.json | 35 ++++++++++++++++++++++- apps/moonlight/moonlight-tizen.json | 15 +++++++++- apps/moonlight/moonlight-tv.json | 15 +++++++++- apps/moonlight/moonlight-vita.json | 15 +++++++++- apps/moonlight/moonlight-wiiu.json | 15 +++++++++- apps/moonlight/moonlight-xbox.json | 16 ++++++++++- schemas/app.schema.json | 39 ++++++++++++++++++++++++++ 12 files changed, 251 insertions(+), 11 deletions(-) diff --git a/apps/moonlight/moonlight-android.json b/apps/moonlight/moonlight-android.json index 3c33f83..70f56c0 100644 --- a/apps/moonlight/moonlight-android.json +++ b/apps/moonlight/moonlight-android.json @@ -26,5 +26,29 @@ "tags": ["streaming", "android", "mobile", "gaming"], "compatibility": { "sunshine": ">=0.1.0" - } + }, + "icons": [ + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/android.svg", + "alt": "Android", + "invert": true + } + ], + "downloads": [ + { + "label": "Get it on Google Play", + "url": "https://play.google.com/store/apps/details?id=com.limelight", + "img": "https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" + }, + { + "label": "Available at Amazon Appstore", + "url": "https://www.amazon.com/gp/product/B00JK4MFN2", + "img": "https://images-na.ssl-images-amazon.com/images/G/01/mobile-apps/devportal2/res/images/amazon-appstore-badge-english-black.png" + }, + { + "label": "Get it on F-Droid", + "url": "https://f-droid.org/packages/com.limelight", + "img": "https://fdroid.gitlab.io/artwork/badge/get-it-on.png" + } + ] } diff --git a/apps/moonlight/moonlight-embedded.json b/apps/moonlight/moonlight-embedded.json index 4d6ff05..be8c99c 100644 --- a/apps/moonlight/moonlight-embedded.json +++ b/apps/moonlight/moonlight-embedded.json @@ -16,5 +16,18 @@ "tags": ["streaming", "gamestream", "client", "gaming"], "compatibility": { "sunshine": ">=0.1.0" - } + }, + "icons": [ + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/raspberrypi.svg", + "alt": "Raspberry Pi", + "invert": true + } + ], + "downloads": [ + { + "label": "Download", + "url": "https://github.com/irtimmer/moonlight-embedded/wiki/Packages" + } + ] } diff --git a/apps/moonlight/moonlight-ios.json b/apps/moonlight/moonlight-ios.json index 2abe988..82aaf37 100644 --- a/apps/moonlight/moonlight-ios.json +++ b/apps/moonlight/moonlight-ios.json @@ -29,5 +29,29 @@ "tags": ["streaming", "ios", "mobile", "gaming"], "compatibility": { "sunshine": ">=0.1.0" - } + }, + "icons": [ + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/ios.svg", + "alt": "iOS", + "invert": true + }, + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/appletv.svg", + "alt": "Apple TV", + "invert": true + } + ], + "downloads": [ + { + "label": "Download on the App Store", + "url": "https://apps.apple.com/us/app/moonlight-game-streaming/id1000551566", + "img": "https://developer.apple.com/assets/elements/badges/download-on-the-app-store.svg" + }, + { + "label": "Download on Apple TV", + "url": "https://apps.apple.com/us/app/moonlight-game-streaming/id1000551566", + "img": "https://developer.apple.com/app-store/marketing/guidelines/images/badge-download-on-apple-tv.svg" + } + ] } diff --git a/apps/moonlight/moonlight-n3ds.json b/apps/moonlight/moonlight-n3ds.json index a869488..bada152 100644 --- a/apps/moonlight/moonlight-n3ds.json +++ b/apps/moonlight/moonlight-n3ds.json @@ -15,5 +15,18 @@ "tags": ["streaming", "n3ds", "gaming"], "compatibility": { "sunshine": ">=0.1.0" - } + }, + "icons": [ + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@13/icons/nintendo3ds.svg", + "alt": "3DS", + "invert": true + } + ], + "downloads": [ + { + "label": "Download", + "url": "https://github.com/zoeyjodon/moonlight-N3DS" + } + ] } diff --git a/apps/moonlight/moonlight-qt.json b/apps/moonlight/moonlight-qt.json index 605a1fe..62bc2ec 100644 --- a/apps/moonlight/moonlight-qt.json +++ b/apps/moonlight/moonlight-qt.json @@ -16,5 +16,33 @@ "tags": ["streaming", "gamestream", "client", "gaming"], "compatibility": { "sunshine": ">=0.1.0" - } + }, + "icons": [ + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/linux.svg", + "alt": "Linux", + "invert": true + }, + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/macos.svg", + "alt": "macOS", + "invert": true + }, + { + "src": "https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/icons/windows.svg", + "alt": "Windows", + "invert": true + }, + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/steam.svg", + "alt": "Steam", + "invert": true + } + ], + "downloads": [ + { + "label": "Download on GitHub", + "url": "https://github.com/moonlight-stream/moonlight-qt/releases" + } + ] } diff --git a/apps/moonlight/moonlight-switch.json b/apps/moonlight/moonlight-switch.json index b237215..86a6cf3 100644 --- a/apps/moonlight/moonlight-switch.json +++ b/apps/moonlight/moonlight-switch.json @@ -22,5 +22,38 @@ "tags": ["streaming", "nintendo-switch", "gaming"], "compatibility": { "sunshine": ">=0.1.0" - } + }, + "icons": [ + { + "src": "https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/icons/nintendo-switch.svg", + "alt": "Nintendo Switch", + "invert": true + }, + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/android.svg", + "alt": "Android", + "invert": true + }, + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/appletv.svg", + "alt": "Apple TV", + "invert": true + }, + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/ios.svg", + "alt": "iOS", + "invert": true + }, + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/macos.svg", + "alt": "macOS", + "invert": true + } + ], + "downloads": [ + { + "label": "Download on GitHub", + "url": "https://github.com/XITRIX/Moonlight-Switch/releases" + } + ] } diff --git a/apps/moonlight/moonlight-tizen.json b/apps/moonlight/moonlight-tizen.json index f3c720b..531f821 100644 --- a/apps/moonlight/moonlight-tizen.json +++ b/apps/moonlight/moonlight-tizen.json @@ -15,5 +15,18 @@ "tags": ["streaming", "tizen", "gaming"], "compatibility": { "sunshine": ">=0.1.0" - } + }, + "icons": [ + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/samsung.svg", + "alt": "Samsung Tizen TV", + "invert": true + } + ], + "downloads": [ + { + "label": "Download on GitHub", + "url": "https://github.com/brightcraft/moonlight-tizen/releases" + } + ] } diff --git a/apps/moonlight/moonlight-tv.json b/apps/moonlight/moonlight-tv.json index 48ff8d6..d9eec27 100644 --- a/apps/moonlight/moonlight-tv.json +++ b/apps/moonlight/moonlight-tv.json @@ -20,5 +20,18 @@ "tags": ["streaming", "ps-vita", "gaming"], "compatibility": { "sunshine": ">=0.1.0" - } + }, + "icons": [ + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/lg.svg", + "alt": "LG webOS TV", + "invert": true + } + ], + "downloads": [ + { + "label": "Download", + "url": "https://github.com/mariotaku/moonlight-tv#download" + } + ] } diff --git a/apps/moonlight/moonlight-vita.json b/apps/moonlight/moonlight-vita.json index 5b96224..67937ef 100644 --- a/apps/moonlight/moonlight-vita.json +++ b/apps/moonlight/moonlight-vita.json @@ -23,5 +23,18 @@ "tags": ["streaming", "ps-vita", "gaming"], "compatibility": { "sunshine": ">=0.1.0" - } + }, + "icons": [ + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@16/icons/playstationvita.svg", + "alt": "PlayStation Vita", + "invert": true + } + ], + "downloads": [ + { + "label": "Download on GitHub", + "url": "https://github.com/xyzz/vita-moonlight/releases" + } + ] } diff --git a/apps/moonlight/moonlight-wiiu.json b/apps/moonlight/moonlight-wiiu.json index a04088a..ba6c914 100644 --- a/apps/moonlight/moonlight-wiiu.json +++ b/apps/moonlight/moonlight-wiiu.json @@ -15,5 +15,18 @@ "tags": ["streaming", "nintendo-wiiu", "gaming"], "compatibility": { "sunshine": ">=0.1.0" - } + }, + "icons": [ + { + "src": "https://cdn.jsdelivr.net/npm/simple-icons@13/icons/wiiu.svg", + "alt": "Wii U", + "invert": true + } + ], + "downloads": [ + { + "label": "Download", + "url": "https://github.com/GaryOderNichts/moonlight-wiiu#quick-start" + } + ] } diff --git a/apps/moonlight/moonlight-xbox.json b/apps/moonlight/moonlight-xbox.json index 9cf2ff5..5ccedc9 100644 --- a/apps/moonlight/moonlight-xbox.json +++ b/apps/moonlight/moonlight-xbox.json @@ -15,5 +15,19 @@ "tags": ["streaming", "xbox", "gaming"], "compatibility": { "sunshine": ">=0.1.0" - } + }, + "icons": [ + { + "src": "https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/icons/xbox.svg", + "alt": "Xbox", + "invert": true + } + ], + "downloads": [ + { + "label": "Get it from Microsoft", + "url": "https://apps.microsoft.com/store/detail/moonlight-uwp/9MW1BS08ZBTH", + "img": "https://get.microsoft.com/images/en-us%20dark.svg" + } + ] } diff --git a/schemas/app.schema.json b/schemas/app.schema.json index 3ac87da..755b547 100644 --- a/schemas/app.schema.json +++ b/schemas/app.schema.json @@ -99,6 +99,45 @@ "description": "Compatible Sunshine versions (semver range)" } } + }, + "icons": { + "type": "array", + "items": { + "type": "object", + "required": ["src", "alt"], + "properties": { + "src": { + "type": "string", + "format": "uri" + }, + "alt": { + "type": "string" + }, + "invert": { + "type": "boolean" + } + } + } + }, + "downloads": { + "type": "array", + "items": { + "type": "object", + "required": ["label", "url"], + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + }, + "img": { + "type": "string", + "format": "uri" + } + } + } } } }