Sorted alphabetically and fixed scripts Gitea detection
All checks were successful
Generate Release Files / generate-releases (push) Successful in 40s

This commit is contained in:
2026-02-06 16:11:45 +01:00
parent 88c581d816
commit 72aa9f54e9
8 changed files with 277 additions and 228 deletions

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
""" """
Generate RELEASE_X.ini files by fetching latest GitHub release tags Generate RELEASE_X.ini files by fetching latest GitHub/Gitea release tags
for sysmodules, overlays, apps, and emulation. for sysmodules, overlays, apps, and emulation.
""" """
@@ -12,7 +12,7 @@ import urllib.request
import urllib.error import urllib.error
import configparser import configparser
from pathlib import Path from pathlib import Path
from typing import Dict, List, Tuple, Optional from typing import Dict, List, Tuple, Optional, Any
# GitHub API base URL # GitHub API base URL
GITHUB_API = "https://api.github.com/repos" GITHUB_API = "https://api.github.com/repos"
@@ -20,7 +20,7 @@ GITHUB_API = "https://api.github.com/repos"
# Get GitHub token from environment variable if available # Get GitHub token from environment variable if available
GITHUB_TOKEN = os.environ.get('GITHUB_TOKEN', '') GITHUB_TOKEN = os.environ.get('GITHUB_TOKEN', '')
def extract_repo_from_url(url: str) -> Optional[Tuple[str, str]]: def extract_repo_from_github_url(url: str) -> Optional[Tuple[str, str]]:
"""Extract owner and repo from GitHub API URL.""" """Extract owner and repo from GitHub API URL."""
# Pattern: https://api.github.com/repos/owner/repo/releases?... # Pattern: https://api.github.com/repos/owner/repo/releases?...
match = re.search(r'/repos/([^/]+)/([^/]+)/releases', url) match = re.search(r'/repos/([^/]+)/([^/]+)/releases', url)
@@ -28,7 +28,15 @@ def extract_repo_from_url(url: str) -> Optional[Tuple[str, str]]:
return (match.group(1), match.group(2)) return (match.group(1), match.group(2))
return None return None
def get_latest_tag(owner: str, repo: str) -> Optional[str]: def extract_repo_from_gitea_url(url: str) -> Optional[Tuple[str, str, str]]:
"""Extract API base, owner and repo from Gitea API URL. Returns (api_base, owner, repo)."""
# Pattern: https://host/api/v1/repos/owner/repo/releases?...
match = re.search(r'(https://[^/]+/api/v1)/repos/([^/]+)/([^/]+)/releases', url)
if match:
return (match.group(1), match.group(2), match.group(3))
return None
def get_latest_tag_github(owner: str, repo: str) -> Optional[str]:
"""Fetch the latest release tag from GitHub API.""" """Fetch the latest release tag from GitHub API."""
url = f"{GITHUB_API}/{owner}/{repo}/releases?per_page=1" url = f"{GITHUB_API}/{owner}/{repo}/releases?per_page=1"
try: try:
@@ -52,8 +60,34 @@ def get_latest_tag(owner: str, repo: str) -> Optional[str]:
print(f" Error: {e}") print(f" Error: {e}")
return None return None
def parse_ini_file(file_path: Path) -> List[Dict[str, str]]: def get_latest_tag_gitea(api_base: str, owner: str, repo: str) -> Optional[str]:
"""Parse .ini file and extract entries with GitHub API URLs.""" """Fetch the latest release tag from Gitea API."""
url = f"{api_base}/repos/{owner}/{repo}/releases?limit=1"
try:
req = urllib.request.Request(url)
req.add_header('User-Agent', 'Release-Tag-Fetcher/1.0')
with urllib.request.urlopen(req, timeout=10) as response:
releases = json.loads(response.read().decode('utf-8'))
if releases and len(releases) > 0:
return releases[0].get('tag_name', releases[0].get('name', ''))
except urllib.error.HTTPError as e:
if e.code == 404:
print(f" Repository not found")
else:
print(f" HTTP {e.code}: {e.reason}")
except Exception as e:
print(f" Error: {e}")
return None
def get_latest_tag(entry: Dict[str, Any]) -> Optional[str]:
"""Fetch the latest release tag from GitHub or Gitea depending on entry source."""
if entry.get('source') == 'gitea':
return get_latest_tag_gitea(entry['api_base'], entry['owner'], entry['repo'])
return get_latest_tag_github(entry['owner'], entry['repo'])
def parse_ini_file(file_path: Path) -> List[Dict[str, Any]]:
"""Parse .ini file and extract entries with GitHub or Gitea API URLs."""
entries = [] entries = []
with open(file_path, 'r', encoding='utf-8') as f: with open(file_path, 'r', encoding='utf-8') as f:
@@ -71,22 +105,37 @@ def parse_ini_file(file_path: Path) -> List[Dict[str, str]]:
section_end = section_start + (next_section.start() if next_section else len(content[section_start:])) section_end = section_start + (next_section.start() if next_section else len(content[section_start:]))
section_content = content[section_start:section_end] section_content = content[section_start:section_end]
# Look for GitHub API URLs in this section # Look for GitHub API URLs first
github_urls = re.findall(r'https://api\.github\.com/repos/[^\s]+', section_content) github_urls = re.findall(r'https://api\.github\.com/repos/[^\s]+', section_content)
if github_urls: if github_urls:
repo_info = extract_repo_from_url(github_urls[0]) repo_info = extract_repo_from_github_url(github_urls[0])
if repo_info: if repo_info:
entries.append({ entries.append({
'name': section_name, 'name': section_name,
'owner': repo_info[0], 'owner': repo_info[0],
'repo': repo_info[1], 'repo': repo_info[1],
'source': 'github',
'url': github_urls[0] 'url': github_urls[0]
}) })
continue
# Look for Gitea API URLs (e.g. https://host/api/v1/repos/owner/repo/releases?...)
gitea_urls = re.findall(r'https://[^\s]+/api/v1/repos/[^\s]+/releases[^\s]*', section_content)
if gitea_urls:
repo_info = extract_repo_from_gitea_url(gitea_urls[0])
if repo_info:
entries.append({
'name': section_name,
'api_base': repo_info[0],
'owner': repo_info[1],
'repo': repo_info[2],
'source': 'gitea',
'url': gitea_urls[0]
})
return entries return entries
def generate_release_ini(category: str, entries: List[Dict[str, str]], output_path: Path): def generate_release_ini(category: str, entries: List[Dict[str, Any]], output_path: Path):
"""Generate RELEASE_X.ini file for a category.""" """Generate RELEASE_X.ini file for a category."""
print(f"\nGenerating {output_path.name}...") print(f"\nGenerating {output_path.name}...")
print(f"Found {len(entries)} entries") print(f"Found {len(entries)} entries")
@@ -120,8 +169,9 @@ def generate_release_ini(category: str, entries: List[Dict[str, str]], output_pa
if i > 0: if i > 0:
time.sleep(0.5) # 500ms delay between requests time.sleep(0.5) # 500ms delay between requests
print(f" Fetching {entry['name']} ({entry['owner']}/{entry['repo']})...", end=' ') source = entry.get('source', 'github')
tag = get_latest_tag(entry['owner'], entry['repo']) print(f" Fetching {entry['name']} ({entry['owner']}/{entry['repo']}) [{source}]...", end=' ')
tag = get_latest_tag(entry)
if tag: if tag:
# Remove 'v' prefix if present for cleaner version # Remove 'v' prefix if present for cleaner version
clean_tag = tag.lstrip('v') clean_tag = tag.lstrip('v')
@@ -170,7 +220,7 @@ def main():
base_path = Path(__file__).parent base_path = Path(__file__).parent
include_path = base_path / "include" include_path = base_path / "include"
print("GitHub Release Tag Fetcher") print("GitHub / Gitea Release Tag Fetcher")
if GITHUB_TOKEN: if GITHUB_TOKEN:
print("✓ Using GitHub token (higher rate limit)") print("✓ Using GitHub token (higher rate limit)")
else: else:

View File

@@ -1,23 +1,23 @@
[Versions] [Versions]
aio-switch-updater=2.23.3
Amiibo Generator=2.2.1 Amiibo Generator=2.2.1
Amiigo=2.4.1 Amiigo=2.4.1
DBI_EN=849
DBI_DE=849
Chiaki_NG=release-af569df Chiaki_NG=release-af569df
DBI_DE=849
DBI_EN=849
DNS_mitm Tester=1.0.4 DNS_mitm Tester=1.0.4
emuiibo=1.1.2
Goldleaf=1.2.0
Hekate-Toolbox=4.0.4 Hekate-Toolbox=4.0.4
JKSV=12/02/2025 JKSV=12/02/2025
Moonlight Switch=1.3.4
Neumann=0.0.30-2
NX-Activity-Log=1.4.0
Sphaira=1.0.0
ThemezerNX=2.0.3
emuiibo=1.1.2
Tinwoo=1.0.28
Goldleaf=1.2.0
linkalho=2.0.2 linkalho=2.0.2
Moonlight Switch=1.3.4
Neumann=0.0.31
nxmp=0.9.3 nxmp=0.9.3
aio-switch-updater=2.23.3 NX-Activity-Log=1.4.0
switchfin=0.8.3
NXThemesInstaller=4.8.3 NXThemesInstaller=4.8.3
Sphaira=1.0.0
switchfin=0.8.3
ThemezerNX=2.0.3
Tinwoo=1.0.28

View File

@@ -1,5 +1,13 @@
[Homebrew Apps] [Homebrew Apps]
[aio-switch-updater]
try:
download https://api.github.com/repos/HamletDuFromage/aio-switch-updater/releases?per_page=1 /config/ultrahand/downloads/aio-switch-updater-api.json
json_file /config/ultrahand/downloads/aio-switch-updater-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/aio-switch-updater.nro
mv /config/ultrahand/downloads/aio-switch-updater.nro /switch/aio-switch-updater/
delete /config/ultrahand/downloads/aio-switch-updater-api.json
[Amiibo Generator] [Amiibo Generator]
try: try:
download https://api.github.com/repos/yusufakg/AmiiboGenerator/releases?per_page=1 /config/ultrahand/downloads/amiibo-generator-api.json download https://api.github.com/repos/yusufakg/AmiiboGenerator/releases?per_page=1 /config/ultrahand/downloads/amiibo-generator-api.json
@@ -16,14 +24,13 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/amiigo.nro /switch/Amiigo/ mv /config/ultrahand/downloads/amiigo.nro /switch/Amiigo/
delete /config/ultrahand/downloads/amiigo-api.json delete /config/ultrahand/downloads/amiigo-api.json
[DBI_EN] [Chiaki_NG]
try: try:
download https://git.niklascfw.de/api/v1/repos/OmniNX/DBI_EN/releases?limit=1 /config/ultrahand/downloads/dbi-api.json download https://api.github.com/repos/streetpea/chiaki-ng/releases?per_page=1 /config/ultrahand/downloads/chiaki-api.json
json_file /config/ultrahand/downloads/dbi-api.json json_file /config/ultrahand/downloads/chiaki-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/dbi.zip download {json_file(0,assets,8,browser_download_url)} /config/ultrahand/downloads/chiaki.nro
unzip /config/ultrahand/downloads/dbi.zip / mv /config/ultrahand/downloads/chiaki.nro /switch/Chiaki/
delete /config/ultrahand/downloads/dbi-api.json delete /config/ultrahand/downloads/chiaki-api.json
delete /config/ultrahand/downloads/dbi.zip
[DBI_DE] [DBI_DE]
try: try:
@@ -34,13 +41,14 @@ unzip /config/ultrahand/downloads/dbi.zip /
delete /config/ultrahand/downloads/dbi-api.json delete /config/ultrahand/downloads/dbi-api.json
delete /config/ultrahand/downloads/dbi.zip delete /config/ultrahand/downloads/dbi.zip
[Chiaki_NG] [DBI_EN]
try: try:
download https://api.github.com/repos/streetpea/chiaki-ng/releases?per_page=1 /config/ultrahand/downloads/chiaki-api.json download https://git.niklascfw.de/api/v1/repos/OmniNX/DBI_EN/releases?limit=1 /config/ultrahand/downloads/dbi-api.json
json_file /config/ultrahand/downloads/chiaki-api.json json_file /config/ultrahand/downloads/dbi-api.json
download {json_file(0,assets,8,browser_download_url)} /config/ultrahand/downloads/chiaki.nro download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/dbi.zip
mv /config/ultrahand/downloads/chiaki.nro /switch/Chiaki/ unzip /config/ultrahand/downloads/dbi.zip /
delete /config/ultrahand/downloads/chiaki-api.json delete /config/ultrahand/downloads/dbi-api.json
delete /config/ultrahand/downloads/dbi.zip
[DNS_mitm Tester] [DNS_mitm Tester]
try: try:
@@ -50,6 +58,23 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/dns-tester.nro /switch/DNS-Block_Tester/ mv /config/ultrahand/downloads/dns-tester.nro /switch/DNS-Block_Tester/
delete /config/ultrahand/downloads/dns-tester-api.json delete /config/ultrahand/downloads/dns-tester-api.json
[emuiibo]
try:
download https://api.github.com/repos/XorTroll/emuiibo/releases?per_page=1 /config/ultrahand/downloads/emuiibo-api.json
json_file /config/ultrahand/downloads/emuiibo-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/emuiibo.nro
mv /config/ultrahand/downloads/emuiibo.nro /switch/emuiibo/
delete /config/ultrahand/downloads/emuiibo-api.json
[Goldleaf]
try:
download https://api.github.com/repos/XorTroll/Goldleaf/releases?per_page=1 /config/ultrahand/downloads/goldleaf-api.json
json_file /config/ultrahand/downloads/goldleaf-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/goldleaf.zip
unzip /config/ultrahand/downloads/goldleaf.zip /
delete /config/ultrahand/downloads/goldleaf-api.json
delete /config/ultrahand/downloads/goldleaf.zip
[Hekate-Toolbox] [Hekate-Toolbox]
try: try:
download https://api.github.com/repos/WerWolv/Hekate-Toolbox/releases?per_page=1 /config/ultrahand/downloads/hekate-toolbox-api.json download https://api.github.com/repos/WerWolv/Hekate-Toolbox/releases?per_page=1 /config/ultrahand/downloads/hekate-toolbox-api.json
@@ -66,6 +91,14 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/jksv.nro /switch/JKSV/ mv /config/ultrahand/downloads/jksv.nro /switch/JKSV/
delete /config/ultrahand/downloads/jksv-api.json delete /config/ultrahand/downloads/jksv-api.json
[linkalho]
try:
download https://api.github.com/repos/impeeza/linkalho/releases?per_page=1 /config/ultrahand/downloads/linkalho-api.json
json_file /config/ultrahand/downloads/linkalho-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/linkalho.nro
mv /config/ultrahand/downloads/linkalho.nro /switch/linkalho/
delete /config/ultrahand/downloads/linkalho-api.json
[Moonlight Switch] [Moonlight Switch]
try: try:
download https://api.github.com/repos/XITRIX/Moonlight-Switch/releases?per_page=1 /config/ultrahand/downloads/moonlight-api.json download https://api.github.com/repos/XITRIX/Moonlight-Switch/releases?per_page=1 /config/ultrahand/downloads/moonlight-api.json
@@ -82,6 +115,14 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/neumann.nro /switch/Neumann/ mv /config/ultrahand/downloads/neumann.nro /switch/Neumann/
delete /config/ultrahand/downloads/neumann-api.json delete /config/ultrahand/downloads/neumann-api.json
[nxmp]
try:
download https://api.github.com/repos/proconsule/nxmp/releases?per_page=1 /config/ultrahand/downloads/nxmp-api.json
json_file /config/ultrahand/downloads/nxmp-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/nxmp.nro
mv /config/ultrahand/downloads/nxmp.nro /switch/nxmp/
delete /config/ultrahand/downloads/nxmp-api.json
[NX-Activity-Log] [NX-Activity-Log]
try: try:
download https://api.github.com/repos/tallbl0nde/NX-Activity-Log/releases?per_page=1 /config/ultrahand/downloads/nx-activity-log-api.json download https://api.github.com/repos/tallbl0nde/NX-Activity-Log/releases?per_page=1 /config/ultrahand/downloads/nx-activity-log-api.json
@@ -90,6 +131,14 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/nx-activity-log.nro /switch/NX-Activity-Log/ mv /config/ultrahand/downloads/nx-activity-log.nro /switch/NX-Activity-Log/
delete /config/ultrahand/downloads/nx-activity-log-api.json delete /config/ultrahand/downloads/nx-activity-log-api.json
[NXThemesInstaller]
try:
download https://api.github.com/repos/exelix11/SwitchThemeInjector/releases?per_page=1 /config/ultrahand/downloads/switchthemeinjector-api.json
json_file /config/ultrahand/downloads/switchthemeinjector-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/switchthemeinjector.nro
mv /config/ultrahand/downloads/switchthemeinjector.nro /switch/NXThemesInstaller/
delete /config/ultrahand/downloads/switchthemeinjector-api.json
[Sphaira] [Sphaira]
try: try:
download https://api.github.com/repos/ITotalJustice/sphaira/releases?per_page=1 /config/ultrahand/downloads/sphaira-api.json download https://api.github.com/repos/ITotalJustice/sphaira/releases?per_page=1 /config/ultrahand/downloads/sphaira-api.json
@@ -99,6 +148,14 @@ unzip /config/ultrahand/downloads/sphaira.zip /
delete /config/ultrahand/downloads/sphaira-api.json delete /config/ultrahand/downloads/sphaira-api.json
delete /config/ultrahand/downloads/sphaira.zip delete /config/ultrahand/downloads/sphaira.zip
[switchfin]
try:
download https://api.github.com/repos/dragonflylee/switchfin/releases?per_page=1 /config/ultrahand/downloads/switchfin-api.json
json_file /config/ultrahand/downloads/switchfin-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/switchfin.nro
mv /config/ultrahand/downloads/switchfin.nro /switch/switchfin/
delete /config/ultrahand/downloads/switchfin-api.json
[ThemezerNX] [ThemezerNX]
try: try:
download https://api.github.com/repos/suchmememanyskill/themezer-nx/releases?per_page=1 /config/ultrahand/downloads/themezer-api.json download https://api.github.com/repos/suchmememanyskill/themezer-nx/releases?per_page=1 /config/ultrahand/downloads/themezer-api.json
@@ -108,14 +165,6 @@ mv /config/ultrahand/downloads/themezer.nro /switch/ThemezerNX/
cp /Backup/SB/Icongrabber/config.json /config/Icongrabber/config.json cp /Backup/SB/Icongrabber/config.json /config/Icongrabber/config.json
delete /config/ultrahand/downloads/themezer-api.json delete /config/ultrahand/downloads/themezer-api.json
[emuiibo]
try:
download https://api.github.com/repos/XorTroll/emuiibo/releases?per_page=1 /config/ultrahand/downloads/emuiibo-api.json
json_file /config/ultrahand/downloads/emuiibo-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/emuiibo.nro
mv /config/ultrahand/downloads/emuiibo.nro /switch/emuiibo/
delete /config/ultrahand/downloads/emuiibo-api.json
[Tinwoo] [Tinwoo]
try: try:
download https://api.github.com/repos/mrdude2478/Tinwoo-Release/releases?per_page=1 /config/ultrahand/downloads/tinwoo-api.json download https://api.github.com/repos/mrdude2478/Tinwoo-Release/releases?per_page=1 /config/ultrahand/downloads/tinwoo-api.json
@@ -124,55 +173,6 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/tinwoo.nro /switch/Tinwoo/ mv /config/ultrahand/downloads/tinwoo.nro /switch/Tinwoo/
delete /config/ultrahand/downloads/tinwoo-api.json delete /config/ultrahand/downloads/tinwoo-api.json
[Goldleaf]
try:
download https://api.github.com/repos/XorTroll/Goldleaf/releases?per_page=1 /config/ultrahand/downloads/goldleaf-api.json
json_file /config/ultrahand/downloads/goldleaf-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/goldleaf.zip
unzip /config/ultrahand/downloads/goldleaf.zip /
delete /config/ultrahand/downloads/goldleaf-api.json
delete /config/ultrahand/downloads/goldleaf.zip
[linkalho]
try:
download https://api.github.com/repos/impeeza/linkalho/releases?per_page=1 /config/ultrahand/downloads/linkalho-api.json
json_file /config/ultrahand/downloads/linkalho-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/linkalho.nro
mv /config/ultrahand/downloads/linkalho.nro /switch/linkalho/
delete /config/ultrahand/downloads/linkalho-api.json
[nxmp]
try:
download https://api.github.com/repos/proconsule/nxmp/releases?per_page=1 /config/ultrahand/downloads/nxmp-api.json
json_file /config/ultrahand/downloads/nxmp-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/nxmp.nro
mv /config/ultrahand/downloads/nxmp.nro /switch/nxmp/
delete /config/ultrahand/downloads/nxmp-api.json
[aio-switch-updater]
try:
download https://api.github.com/repos/HamletDuFromage/aio-switch-updater/releases?per_page=1 /config/ultrahand/downloads/aio-switch-updater-api.json
json_file /config/ultrahand/downloads/aio-switch-updater-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/aio-switch-updater.nro
mv /config/ultrahand/downloads/aio-switch-updater.nro /switch/aio-switch-updater/
delete /config/ultrahand/downloads/aio-switch-updater-api.json
[switchfin]
try:
download https://api.github.com/repos/dragonflylee/switchfin/releases?per_page=1 /config/ultrahand/downloads/switchfin-api.json
json_file /config/ultrahand/downloads/switchfin-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/switchfin.nro
mv /config/ultrahand/downloads/switchfin.nro /switch/switchfin/
delete /config/ultrahand/downloads/switchfin-api.json
[NXThemesInstaller]
try:
download https://api.github.com/repos/exelix11/SwitchThemeInjector/releases?per_page=1 /config/ultrahand/downloads/switchthemeinjector-api.json
json_file /config/ultrahand/downloads/switchthemeinjector-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/switchthemeinjector.nro
mv /config/ultrahand/downloads/switchthemeinjector.nro /switch/NXThemesInstaller/
delete /config/ultrahand/downloads/switchthemeinjector-api.json
[Patched Apps] [Patched Apps]
@@ -191,4 +191,4 @@ delete '/config/ultrahand/downloads/YouTube_Patched.zip'
[gap] [gap]
;mode=table ;mode=table
;background=false ;background=false
;gap=30 ;gap=30

View File

@@ -9,12 +9,6 @@ download 'https://cdn.niklascfw.de/switch/pack/os/lakka.zip' '/config/ultrahand/
unzip '/config/ultrahand/downloads/lakka.zip' '/' unzip '/config/ultrahand/downloads/lakka.zip' '/'
delete '/config/ultrahand/downloads/lakka.zip' delete '/config/ultrahand/downloads/lakka.zip'
[RetroArch - 1.22.2]
try:
download 'https://cdn.niklascfw.de/switch/pack/apps/RetroArch_1.22.2.zip' '/config/ultrahand/downloads/RetroArch_1.22.2.zip'
unzip '/config/ultrahand/downloads/RetroArch_1.22.2.zip' '/'
delete '/config/ultrahand/downloads/RetroArch_1.22.2.zip'
[melonDS] [melonDS]
try: try:
download https://api.github.com/repos/ArcDelta/melonDS/releases?per_page=1 /config/ultrahand/downloads/melonds-api.json download https://api.github.com/repos/ArcDelta/melonDS/releases?per_page=1 /config/ultrahand/downloads/melonds-api.json
@@ -32,4 +26,9 @@ unzip '/config/ultrahand/downloads/ppsspp-nx.zip' '/switch/'
delete /config/ultrahand/downloads/ppsspp-nx-api.json delete /config/ultrahand/downloads/ppsspp-nx-api.json
delete /config/ultrahand/downloads/ppsspp-nx.zip delete /config/ultrahand/downloads/ppsspp-nx.zip
[RetroArch - 1.22.2]
try:
download 'https://cdn.niklascfw.de/switch/pack/apps/RetroArch_1.22.2.zip' '/config/ultrahand/downloads/RetroArch_1.22.2.zip'
unzip '/config/ultrahand/downloads/RetroArch_1.22.2.zip' '/'
delete '/config/ultrahand/downloads/RetroArch_1.22.2.zip'

View File

@@ -6,8 +6,8 @@ Fizeau=2.8.2
NXFanControl+=1.0.5+ NXFanControl+=1.0.5+
QuickNTP=1.6.0 QuickNTP=1.6.0
ReverseNX-RT=2.2.1 ReverseNX-RT=2.2.1
Sysmodules=1.4.7 Status-Monitor-Overlay=1.3.2+r6
Sys-Clk=2.0.1+r21 Sys-Clk=2.0.1+r21
SysDVR=1.0.14 SysDVR=1.0.14
Status-Monitor-Overlay=1.3.2+r6 Sysmodules=1.4.7

View File

@@ -60,13 +60,13 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
move /config/ultrahand/downloads/reversenx.ovl /switch/.overlays/ move /config/ultrahand/downloads/reversenx.ovl /switch/.overlays/
delete /config/ultrahand/downloads/reversenx-api.json delete /config/ultrahand/downloads/reversenx-api.json
[Sysmodules] [Status-Monitor-Overlay]
try: try:
download https://api.github.com/repos/ppkantorski/ovl-sysmodules/releases?per_page=1 /config/ultrahand/downloads/sysmodules-ovl-api.json download https://api.github.com/repos/ppkantorski/Status-Monitor-Overlay/releases?per_page=1 /config/ultrahand/downloads/status-monitor-api.json
json_file /config/ultrahand/downloads/sysmodules-ovl-api.json json_file /config/ultrahand/downloads/status-monitor-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/sysmodules.ovl download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/status-monitor.ovl
move /config/ultrahand/downloads/sysmodules.ovl /switch/.overlays/ move /config/ultrahand/downloads/status-monitor.ovl /switch/.overlays/
delete /config/ultrahand/downloads/sysmodules-ovl-api.json delete /config/ultrahand/downloads/status-monitor-api.json
[Sys-Clk] [Sys-Clk]
try: try:
@@ -85,15 +85,15 @@ unzip /config/ultrahand/downloads/sysdvr.zip /
delete /config/ultrahand/downloads/sysdvr-api.json delete /config/ultrahand/downloads/sysdvr-api.json
delete /config/ultrahand/downloads/sysdvr.zip delete /config/ultrahand/downloads/sysdvr.zip
[Status-Monitor-Overlay] [Sysmodules]
try: try:
download https://api.github.com/repos/ppkantorski/Status-Monitor-Overlay/releases?per_page=1 /config/ultrahand/downloads/status-monitor-api.json download https://api.github.com/repos/ppkantorski/ovl-sysmodules/releases?per_page=1 /config/ultrahand/downloads/sysmodules-ovl-api.json
json_file /config/ultrahand/downloads/status-monitor-api.json json_file /config/ultrahand/downloads/sysmodules-ovl-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/status-monitor.ovl download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/sysmodules.ovl
move /config/ultrahand/downloads/status-monitor.ovl /switch/.overlays/ move /config/ultrahand/downloads/sysmodules.ovl /switch/.overlays/
delete /config/ultrahand/downloads/status-monitor-api.json delete /config/ultrahand/downloads/sysmodules-ovl-api.json
[gap] [gap]
;mode=table ;mode=table
;background=false ;background=false
;gap=30 ;gap=30

View File

@@ -1,18 +1,18 @@
[Versions] [Versions]
ldn-mitm=1.20.2
MissionControl=0.14.2
sys-patch=1.5.9
SaltyNX=1.7.3
sys-botbase=2.41
TriPlayer=2.2.6
Alchemist=1.0.5 Alchemist=1.0.5
Memory-Kit=1.0.0
Fizeau=2.8.2+r2
QuickNTP=1.6.0+r2
ovl-sysmodules=1.4.7
EdiZon-Overlay=1.0.15 EdiZon-Overlay=1.0.15
Fizeau=2.8.2+r2
FPSLocker=3.2.3+r1 FPSLocker=3.2.3+r1
sys-clk=2.0.1+r21 ldn-mitm=1.20.2
Status-Monitor-Overlay=1.3.2+r6 Memory-Kit=1.0.0
MissionControl=0.14.2
NX-FanControl=1.0.3 NX-FanControl=1.0.3
ovl-sysmodules=1.4.7
QuickNTP=1.6.0+r2
SaltyNX=1.7.3
Status-Monitor-Overlay=1.3.2+r6
sys-botbase=2.41
sys-clk=2.0.1+r21
sys-patch=1.5.9
TriPlayer=2.2.6

View File

@@ -1,59 +1,5 @@
[System Module] [System Module]
[ldn-mitm]
try:
download https://api.github.com/repos/DefenderOfHyrule/ldn_mitm/releases?per_page=1 /config/ultrahand/downloads/ldn-mitm-api.json
json_file /config/ultrahand/downloads/ldn-mitm-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/ldn-mitm.zip
unzip /config/ultrahand/downloads/ldn-mitm.zip /
delete /config/ultrahand/downloads/ldn-mitm-api.json
delete /config/ultrahand/downloads/ldn-mitm.zip
[MissionControl]
try:
download https://api.github.com/repos/ndeadly/MissionControl/releases?per_page=1 /config/ultrahand/downloads/missioncontrol-api.json
json_file /config/ultrahand/downloads/missioncontrol-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/missioncontrol.zip
unzip /config/ultrahand/downloads/missioncontrol.zip /
delete /config/ultrahand/downloads/missioncontrol-api.json
delete /config/ultrahand/downloads/missioncontrol.zip
[sys-patch]
try:
download https://api.github.com/repos/impeeza/sys-patch/releases?per_page=1 /config/ultrahand/downloads/sys-patch-api.json
json_file /config/ultrahand/downloads/sys-patch-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/sys-patch.zip
unzip /config/ultrahand/downloads/sys-patch.zip /
delete /config/ultrahand/downloads/sys-patch-api.json
delete /config/ultrahand/downloads/sys-patch.zip
[SaltyNX]
try:
download https://api.github.com/repos/masagrator/SaltyNX/releases?per_page=1 /config/ultrahand/downloads/saltynx-api.json
json_file /config/ultrahand/downloads/saltynx-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/saltynx.zip
unzip /config/ultrahand/downloads/saltynx.zip /
delete /config/ultrahand/downloads/saltynx-api.json
delete /config/ultrahand/downloads/saltynx.zip
[sys-botbase]
try:
download https://api.github.com/repos/olliz0r/sys-botbase/releases?per_page=1 /config/ultrahand/downloads/sys-botbase-api.json
json_file /config/ultrahand/downloads/sys-botbase-api.json
download {json_file(0,assets,1,browser_download_url)} /config/ultrahand/downloads/sys-botbase.zip
unzip /config/ultrahand/downloads/sys-botbase.zip /
delete /config/ultrahand/downloads/sys-botbase-api.json
delete /config/ultrahand/downloads/sys-botbase.zip
[TriPlayer]
try:
download https://api.github.com/repos/DefenderOfHyrule/TriPlayer/releases?per_page=1 /config/ultrahand/downloads/triplayer-api.json
json_file /config/ultrahand/downloads/triplayer-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/triplayer.zip
unzip /config/ultrahand/downloads/triplayer.zip /
delete /config/ultrahand/downloads/triplayer-api.json
delete /config/ultrahand/downloads/triplayer.zip
[Alchemist] [Alchemist]
try: try:
download https://api.github.com/repos/ppkantorski/Alchemist/releases?per_page=1 /config/ultrahand/downloads/alchemist-api.json download https://api.github.com/repos/ppkantorski/Alchemist/releases?per_page=1 /config/ultrahand/downloads/alchemist-api.json
@@ -63,14 +9,13 @@ unzip /config/ultrahand/downloads/alchemist.zip /
delete /config/ultrahand/downloads/alchemist-api.json delete /config/ultrahand/downloads/alchemist-api.json
delete /config/ultrahand/downloads/alchemist.zip delete /config/ultrahand/downloads/alchemist.zip
[Memory-Kit] [EdiZon-Overlay]
try: try:
download https://api.github.com/repos/ppkantorski/Memory-Kit/releases?per_page=1 /config/ultrahand/downloads/memory-kit-api.json download https://api.github.com/repos/Arch9SK7/EdiZon-Overlay/releases?per_page=1 /config/ultrahand/downloads/edizon-overlay-api.json
json_file /config/ultrahand/downloads/memory-kit-api.json json_file /config/ultrahand/downloads/edizon-overlay-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/memory-kit.zip download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/edizon-overlay.ovl
unzip /config/ultrahand/downloads/memory-kit.zip / mv /config/ultrahand/downloads/edizon-overlay.ovl /switch/.overlays/
delete /config/ultrahand/downloads/memory-kit-api.json delete /config/ultrahand/downloads/edizon-overlay-api.json
delete /config/ultrahand/downloads/memory-kit.zip
[Fizeau] [Fizeau]
try: try:
@@ -80,30 +25,6 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/fizeau.ovl /switch/.overlays/ mv /config/ultrahand/downloads/fizeau.ovl /switch/.overlays/
delete /config/ultrahand/downloads/fizeau-api.json delete /config/ultrahand/downloads/fizeau-api.json
[QuickNTP]
try:
download https://api.github.com/repos/ppkantorski/QuickNTP/releases?per_page=1 /config/ultrahand/downloads/quickntp-api.json
json_file /config/ultrahand/downloads/quickntp-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/quickntp.ovl
mv /config/ultrahand/downloads/quickntp.ovl /switch/.overlays/
delete /config/ultrahand/downloads/quickntp-api.json
[ovl-sysmodules]
try:
download https://api.github.com/repos/ppkantorski/ovl-sysmodules/releases?per_page=1 /config/ultrahand/downloads/ovl-sysmodules-api.json
json_file /config/ultrahand/downloads/ovl-sysmodules-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/ovl-sysmodules.ovl
mv /config/ultrahand/downloads/ovl-sysmodules.ovl /switch/.overlays/
delete /config/ultrahand/downloads/ovl-sysmodules-api.json
[EdiZon-Overlay]
try:
download https://api.github.com/repos/Arch9SK7/EdiZon-Overlay/releases?per_page=1 /config/ultrahand/downloads/edizon-overlay-api.json
json_file /config/ultrahand/downloads/edizon-overlay-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/edizon-overlay.ovl
mv /config/ultrahand/downloads/edizon-overlay.ovl /switch/.overlays/
delete /config/ultrahand/downloads/edizon-overlay-api.json
[FPSLocker] [FPSLocker]
try: try:
download https://api.github.com/repos/ppkantorski/FPSLocker/releases?per_page=1 /config/ultrahand/downloads/fpslocker-api.json download https://api.github.com/repos/ppkantorski/FPSLocker/releases?per_page=1 /config/ultrahand/downloads/fpslocker-api.json
@@ -112,22 +33,32 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/fpslocker.ovl /switch/.overlays/ mv /config/ultrahand/downloads/fpslocker.ovl /switch/.overlays/
delete /config/ultrahand/downloads/fpslocker-api.json delete /config/ultrahand/downloads/fpslocker-api.json
[sys-clk] [ldn-mitm]
try: try:
download https://api.github.com/repos/ppkantorski/sys-clk/releases?per_page=1 /config/ultrahand/downloads/sys-clk-api.json download https://api.github.com/repos/DefenderOfHyrule/ldn_mitm/releases?per_page=1 /config/ultrahand/downloads/ldn-mitm-api.json
json_file /config/ultrahand/downloads/sys-clk-api.json json_file /config/ultrahand/downloads/ldn-mitm-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/sys-clk.zip download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/ldn-mitm.zip
unzip /config/ultrahand/downloads/sys-clk.zip / unzip /config/ultrahand/downloads/ldn-mitm.zip /
delete /config/ultrahand/downloads/sys-clk-api.json delete /config/ultrahand/downloads/ldn-mitm-api.json
delete /config/ultrahand/downloads/sys-clk.zip delete /config/ultrahand/downloads/ldn-mitm.zip
[Status-Monitor-Overlay] [Memory-Kit]
try: try:
download https://api.github.com/repos/ppkantorski/Status-Monitor-Overlay/releases?per_page=1 /config/ultrahand/downloads/status-monitor-overlay-api.json download https://api.github.com/repos/ppkantorski/Memory-Kit/releases?per_page=1 /config/ultrahand/downloads/memory-kit-api.json
json_file /config/ultrahand/downloads/status-monitor-overlay-api.json json_file /config/ultrahand/downloads/memory-kit-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/status-monitor-overlay.ovl download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/memory-kit.zip
mv /config/ultrahand/downloads/status-monitor-overlay.ovl /switch/.overlays/ unzip /config/ultrahand/downloads/memory-kit.zip /
delete /config/ultrahand/downloads/status-monitor-overlay-api.json delete /config/ultrahand/downloads/memory-kit-api.json
delete /config/ultrahand/downloads/memory-kit.zip
[MissionControl]
try:
download https://api.github.com/repos/ndeadly/MissionControl/releases?per_page=1 /config/ultrahand/downloads/missioncontrol-api.json
json_file /config/ultrahand/downloads/missioncontrol-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/missioncontrol.zip
unzip /config/ultrahand/downloads/missioncontrol.zip /
delete /config/ultrahand/downloads/missioncontrol-api.json
delete /config/ultrahand/downloads/missioncontrol.zip
[NX-FanControl] [NX-FanControl]
try: try:
@@ -138,7 +69,76 @@ unzip /config/ultrahand/downloads/nx-fancontrol.zip /
delete /config/ultrahand/downloads/nx-fancontrol-api.json delete /config/ultrahand/downloads/nx-fancontrol-api.json
delete /config/ultrahand/downloads/nx-fancontrol.zip delete /config/ultrahand/downloads/nx-fancontrol.zip
[ovl-sysmodules]
try:
download https://api.github.com/repos/ppkantorski/ovl-sysmodules/releases?per_page=1 /config/ultrahand/downloads/ovl-sysmodules-api.json
json_file /config/ultrahand/downloads/ovl-sysmodules-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/ovl-sysmodules.ovl
mv /config/ultrahand/downloads/ovl-sysmodules.ovl /switch/.overlays/
delete /config/ultrahand/downloads/ovl-sysmodules-api.json
[QuickNTP]
try:
download https://api.github.com/repos/ppkantorski/QuickNTP/releases?per_page=1 /config/ultrahand/downloads/quickntp-api.json
json_file /config/ultrahand/downloads/quickntp-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/quickntp.ovl
mv /config/ultrahand/downloads/quickntp.ovl /switch/.overlays/
delete /config/ultrahand/downloads/quickntp-api.json
[SaltyNX]
try:
download https://api.github.com/repos/masagrator/SaltyNX/releases?per_page=1 /config/ultrahand/downloads/saltynx-api.json
json_file /config/ultrahand/downloads/saltynx-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/saltynx.zip
unzip /config/ultrahand/downloads/saltynx.zip /
delete /config/ultrahand/downloads/saltynx-api.json
delete /config/ultrahand/downloads/saltynx.zip
[Status-Monitor-Overlay]
try:
download https://api.github.com/repos/ppkantorski/Status-Monitor-Overlay/releases?per_page=1 /config/ultrahand/downloads/status-monitor-overlay-api.json
json_file /config/ultrahand/downloads/status-monitor-overlay-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/status-monitor-overlay.ovl
mv /config/ultrahand/downloads/status-monitor-overlay.ovl /switch/.overlays/
delete /config/ultrahand/downloads/status-monitor-overlay-api.json
[sys-botbase]
try:
download https://api.github.com/repos/olliz0r/sys-botbase/releases?per_page=1 /config/ultrahand/downloads/sys-botbase-api.json
json_file /config/ultrahand/downloads/sys-botbase-api.json
download {json_file(0,assets,1,browser_download_url)} /config/ultrahand/downloads/sys-botbase.zip
unzip /config/ultrahand/downloads/sys-botbase.zip /
delete /config/ultrahand/downloads/sys-botbase-api.json
delete /config/ultrahand/downloads/sys-botbase.zip
[sys-clk]
try:
download https://api.github.com/repos/ppkantorski/sys-clk/releases?per_page=1 /config/ultrahand/downloads/sys-clk-api.json
json_file /config/ultrahand/downloads/sys-clk-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/sys-clk.zip
unzip /config/ultrahand/downloads/sys-clk.zip /
delete /config/ultrahand/downloads/sys-clk-api.json
delete /config/ultrahand/downloads/sys-clk.zip
[sys-patch]
try:
download https://api.github.com/repos/impeeza/sys-patch/releases?per_page=1 /config/ultrahand/downloads/sys-patch-api.json
json_file /config/ultrahand/downloads/sys-patch-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/sys-patch.zip
unzip /config/ultrahand/downloads/sys-patch.zip /
delete /config/ultrahand/downloads/sys-patch-api.json
delete /config/ultrahand/downloads/sys-patch.zip
[TriPlayer]
try:
download https://api.github.com/repos/DefenderOfHyrule/TriPlayer/releases?per_page=1 /config/ultrahand/downloads/triplayer-api.json
json_file /config/ultrahand/downloads/triplayer-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/triplayer.zip
unzip /config/ultrahand/downloads/triplayer.zip /
delete /config/ultrahand/downloads/triplayer-api.json
delete /config/ultrahand/downloads/triplayer.zip
[gap] [gap]
;mode=table ;mode=table
;background=false ;background=false
;gap=30 ;gap=30