Removed RELEASE_XXX format
footer writing has been replaced with the version being in the INI sections themselves
This commit is contained in:
6
.github/workflows/generate-release-files.yml
vendored
6
.github/workflows/generate-release-files.yml
vendored
@@ -22,7 +22,7 @@ jobs:
|
||||
with:
|
||||
python-version: '3.x'
|
||||
|
||||
- name: Generate release files
|
||||
- name: Update main INI versions
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GH_API_TOKEN }}
|
||||
run: python3 generate_release_files.py
|
||||
@@ -41,6 +41,6 @@ jobs:
|
||||
run: |
|
||||
git config --local user.email "action@github.com"
|
||||
git config --local user.name "GitHub Action"
|
||||
git add "include/*/RELEASE_*.ini"
|
||||
git commit -m "chore: update release files [skip ci]"
|
||||
git add include/apps/apps.ini include/sysmodules/sysmodules.ini include/overlays/overlays.ini include/emulation/emulation.ini
|
||||
git commit -m "chore: update INI section versions [skip ci]"
|
||||
git push
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Generate RELEASE_X.ini files by fetching latest GitHub/Gitea release tags
|
||||
for sysmodules, overlays, apps, and emulation.
|
||||
Update main INI files (apps, sysmodules, overlays, emulation) with latest
|
||||
GitHub/Gitea release versions in section names, e.g. [DBI_EN - 864].
|
||||
No RELEASE_*.ini files; versions live only in the main INIs.
|
||||
"""
|
||||
|
||||
import re
|
||||
@@ -10,7 +11,6 @@ import os
|
||||
import time
|
||||
import urllib.request
|
||||
import urllib.error
|
||||
import configparser
|
||||
from pathlib import Path
|
||||
from typing import Dict, List, Tuple, Optional, Any
|
||||
|
||||
@@ -22,7 +22,6 @@ GITHUB_TOKEN = os.environ.get('GITHUB_TOKEN', '')
|
||||
|
||||
def extract_repo_from_github_url(url: str) -> Optional[Tuple[str, str]]:
|
||||
"""Extract owner and repo from GitHub API URL."""
|
||||
# Pattern: https://api.github.com/repos/owner/repo/releases?...
|
||||
match = re.search(r'/repos/([^/]+)/([^/]+)/releases', url)
|
||||
if match:
|
||||
return (match.group(1), match.group(2))
|
||||
@@ -30,7 +29,6 @@ def extract_repo_from_github_url(url: str) -> Optional[Tuple[str, 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))
|
||||
@@ -44,7 +42,6 @@ def get_latest_tag_github(owner: str, repo: str) -> Optional[str]:
|
||||
req.add_header('User-Agent', 'Release-Tag-Fetcher/1.0')
|
||||
if GITHUB_TOKEN:
|
||||
req.add_header('Authorization', f'token {GITHUB_TOKEN}')
|
||||
|
||||
with urllib.request.urlopen(req, timeout=10) as response:
|
||||
releases = json.loads(response.read().decode('utf-8'))
|
||||
if releases and len(releases) > 0:
|
||||
@@ -66,7 +63,6 @@ def get_latest_tag_gitea(api_base: str, owner: str, repo: str) -> Optional[str]:
|
||||
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:
|
||||
@@ -86,127 +82,117 @@ def get_latest_tag(entry: Dict[str, Any]) -> Optional[str]:
|
||||
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."""
|
||||
def parse_ini_file(file_path: Path, strip_version_suffix: bool = True) -> List[Dict[str, Any]]:
|
||||
"""Parse .ini file and extract entries with GitHub or Gitea API URLs.
|
||||
With strip_version_suffix=True, section names like [DBI_EN - 864] are treated
|
||||
as base name 'DBI_EN' for API matching; section headers are then updated in place.
|
||||
"""
|
||||
entries = []
|
||||
|
||||
with open(file_path, 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
|
||||
# Find all section headers
|
||||
sections = re.finditer(r'^\[([^\]]+)\]', content, re.MULTILINE)
|
||||
|
||||
for section_match in sections:
|
||||
section_name = section_match.group(1)
|
||||
name = section_name.split(' - ', 1)[0].strip() if strip_version_suffix else section_name
|
||||
section_start = section_match.end()
|
||||
|
||||
# Find next section or end of file
|
||||
next_section = re.search(r'^\[', content[section_start:], re.MULTILINE)
|
||||
section_end = section_start + (next_section.start() if next_section else len(content[section_start:]))
|
||||
section_content = content[section_start:section_end]
|
||||
|
||||
# Look for GitHub API URLs first
|
||||
github_urls = re.findall(r'https://api\.github\.com/repos/[^\s]+', section_content)
|
||||
if github_urls:
|
||||
repo_info = extract_repo_from_github_url(github_urls[0])
|
||||
if repo_info:
|
||||
entries.append({
|
||||
'name': section_name,
|
||||
'name': name,
|
||||
'owner': repo_info[0],
|
||||
'repo': repo_info[1],
|
||||
'source': 'github',
|
||||
'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,
|
||||
'name': name,
|
||||
'api_base': repo_info[0],
|
||||
'owner': repo_info[1],
|
||||
'repo': repo_info[2],
|
||||
'source': 'gitea',
|
||||
'url': gitea_urls[0]
|
||||
})
|
||||
|
||||
return entries
|
||||
|
||||
def generate_release_ini(category: str, entries: List[Dict[str, Any]], output_path: Path):
|
||||
"""Generate RELEASE_X.ini file for a category."""
|
||||
print(f"\nGenerating {output_path.name}...")
|
||||
|
||||
def update_ini_section_versions(ini_path: Path, versions: Dict[str, str]) -> None:
|
||||
"""Rewrite INI section headers to include version, e.g. [DBI_EN] -> [DBI_EN - 864].
|
||||
Only updates sections whose base name (before ' - ') is in versions.
|
||||
"""
|
||||
with open(ini_path, 'r', encoding='utf-8') as f:
|
||||
lines = f.readlines()
|
||||
out = []
|
||||
for line in lines:
|
||||
m = re.match(r'^\[([^\]]+)\]\s*$', line)
|
||||
if m:
|
||||
title = m.group(1)
|
||||
base = title.split(' - ', 1)[0].strip()
|
||||
if base in versions:
|
||||
line = f"[{base} - {versions[base]}]\n"
|
||||
out.append(line)
|
||||
with open(ini_path, 'w', encoding='utf-8') as f:
|
||||
f.writelines(out)
|
||||
print(f" Updated section versions in {ini_path.name}")
|
||||
|
||||
|
||||
def _clean_tag(tag: str) -> str:
|
||||
"""Normalize version string for display (strip v, truncate if needed)."""
|
||||
clean = tag.lstrip('v')
|
||||
if len(clean) > 30:
|
||||
if '-' in clean:
|
||||
parts = clean.split('-')
|
||||
if len(parts) > 1 and len(parts[-1]) > 20:
|
||||
clean = f"{parts[-2]}-{parts[-1][:7]}" if len(parts) > 1 else parts[-1][:7]
|
||||
else:
|
||||
clean = clean[:30]
|
||||
else:
|
||||
clean = clean[:30]
|
||||
return clean
|
||||
|
||||
|
||||
def fetch_versions_and_update_ini(category: str, ini_path: Path) -> Optional[Dict[str, Any]]:
|
||||
"""Parse INI, fetch latest release tag per entry, update section headers in place. Returns result stats."""
|
||||
entries = parse_ini_file(ini_path, strip_version_suffix=True)
|
||||
if not entries:
|
||||
return None
|
||||
print(f"\n{category} ({ini_path.name})...")
|
||||
print(f"Found {len(entries)} entries")
|
||||
|
||||
# Create config parser
|
||||
config = configparser.ConfigParser()
|
||||
config.optionxform = str # Preserve case
|
||||
|
||||
# Create section based on category
|
||||
if category == 'sysmodules':
|
||||
section_name = 'Versions'
|
||||
elif category == 'overlays':
|
||||
section_name = 'Versions'
|
||||
elif category == 'apps':
|
||||
section_name = 'Versions'
|
||||
elif category == 'emulation':
|
||||
section_name = 'Versions'
|
||||
else:
|
||||
section_name = 'Release Info'
|
||||
|
||||
config.add_section(section_name)
|
||||
|
||||
# Monitoring statistics
|
||||
versions_dict: Dict[str, str] = {}
|
||||
success_count = 0
|
||||
failure_count = 0
|
||||
failed_entries = []
|
||||
|
||||
# Fetch tags for each entry
|
||||
failed_entries: List[str] = []
|
||||
for i, entry in enumerate(entries):
|
||||
# Add delay between requests to avoid rate limiting (except for first request)
|
||||
if i > 0:
|
||||
time.sleep(0.5) # 500ms delay between requests
|
||||
|
||||
time.sleep(0.5)
|
||||
source = entry.get('source', 'github')
|
||||
print(f" Fetching {entry['name']} ({entry['owner']}/{entry['repo']}) [{source}]...", end=' ')
|
||||
tag = get_latest_tag(entry)
|
||||
if tag:
|
||||
# Remove 'v' prefix if present for cleaner version
|
||||
clean_tag = tag.lstrip('v')
|
||||
# Truncate very long version strings (e.g., commit hashes) to max 30 chars for Switch display
|
||||
if len(clean_tag) > 30:
|
||||
# Try to extract meaningful part (e.g., commit hash from "weekly-canary-release-25f89d3...")
|
||||
if '-' in clean_tag:
|
||||
parts = clean_tag.split('-')
|
||||
# If it looks like a commit hash at the end, take last part and truncate to 7 chars
|
||||
if len(parts) > 1 and len(parts[-1]) > 20:
|
||||
clean_tag = f"{parts[-2]}-{parts[-1][:7]}" if len(parts) > 1 else parts[-1][:7]
|
||||
else:
|
||||
clean_tag = clean_tag[:30]
|
||||
else:
|
||||
clean_tag = clean_tag[:30]
|
||||
config.set(section_name, entry['name'], clean_tag)
|
||||
clean_tag = _clean_tag(tag)
|
||||
versions_dict[entry['name']] = clean_tag
|
||||
success_count += 1
|
||||
print(f"✓ {clean_tag}")
|
||||
else:
|
||||
failure_count += 1
|
||||
failed_entries.append(f"{entry['name']} ({entry['owner']}/{entry['repo']})")
|
||||
print("✗ Failed")
|
||||
|
||||
# Write to file
|
||||
with open(output_path, 'w', encoding='utf-8') as f:
|
||||
config.write(f, space_around_delimiters=False)
|
||||
|
||||
# Print monitoring summary
|
||||
print(f"\n✓ Created {output_path}")
|
||||
if versions_dict:
|
||||
update_ini_section_versions(ini_path, versions_dict)
|
||||
print(f" Success: {success_count}/{len(entries)}")
|
||||
if failure_count > 0:
|
||||
print(f" Failed: {failure_count}/{len(entries)}")
|
||||
for failed in failed_entries:
|
||||
print(f" - {failed}")
|
||||
|
||||
return {
|
||||
'category': category,
|
||||
'total': len(entries),
|
||||
@@ -215,70 +201,41 @@ def generate_release_ini(category: str, entries: List[Dict[str, Any]], output_pa
|
||||
'failed_entries': failed_entries
|
||||
}
|
||||
|
||||
|
||||
def main():
|
||||
"""Main function."""
|
||||
base_path = Path(__file__).parent
|
||||
include_path = base_path / "include"
|
||||
|
||||
print("GitHub / Gitea Release Tag Fetcher")
|
||||
print("GitHub / Gitea – update main INI section versions")
|
||||
if GITHUB_TOKEN:
|
||||
print("✓ Using GitHub token (higher rate limit)")
|
||||
else:
|
||||
print("⚠ No GitHub token found. Set GITHUB_TOKEN env var for higher rate limits.")
|
||||
print("⚠ No GitHub token. Set GITHUB_TOKEN for higher rate limits.")
|
||||
print("=" * 50)
|
||||
|
||||
# Track all results for final summary
|
||||
all_results = []
|
||||
|
||||
# Process sysmodules
|
||||
sysmodules_path = include_path / "sysmodules" / "sysmodules.ini"
|
||||
if sysmodules_path.exists():
|
||||
entries = parse_ini_file(sysmodules_path)
|
||||
if entries:
|
||||
output_path = include_path / "sysmodules" / "RELEASE_SM.ini"
|
||||
result = generate_release_ini('sysmodules', entries, output_path)
|
||||
all_results.append(result)
|
||||
|
||||
# Process overlays
|
||||
overlays_path = include_path / "overlays" / "overlays.ini"
|
||||
if overlays_path.exists():
|
||||
entries = parse_ini_file(overlays_path)
|
||||
if entries:
|
||||
output_path = include_path / "overlays" / "RELEASE_OV.ini"
|
||||
result = generate_release_ini('overlays', entries, output_path)
|
||||
all_results.append(result)
|
||||
|
||||
# Process apps
|
||||
apps_path = include_path / "apps" / "apps.ini"
|
||||
if apps_path.exists():
|
||||
entries = parse_ini_file(apps_path)
|
||||
if entries:
|
||||
output_path = include_path / "apps" / "RELEASE_APPS.ini"
|
||||
result = generate_release_ini('apps', entries, output_path)
|
||||
all_results.append(result)
|
||||
|
||||
# Process emulation
|
||||
emulation_path = include_path / "emulation" / "emulation.ini"
|
||||
if emulation_path.exists():
|
||||
entries = parse_ini_file(emulation_path)
|
||||
if entries:
|
||||
output_path = include_path / "emulation" / "RELEASE_EM.ini"
|
||||
result = generate_release_ini('emulation', entries, output_path)
|
||||
all_results.append(result)
|
||||
|
||||
# Print final monitoring summary
|
||||
all_results: List[Dict[str, Any]] = []
|
||||
for category, rel_path in [
|
||||
('sysmodules', 'sysmodules/sysmodules.ini'),
|
||||
('overlays', 'overlays/overlays.ini'),
|
||||
('apps', 'apps/apps.ini'),
|
||||
('emulation', 'emulation/emulation.ini'),
|
||||
]:
|
||||
ini_path = include_path / rel_path
|
||||
if ini_path.exists():
|
||||
result = fetch_versions_and_update_ini(category, ini_path)
|
||||
if result:
|
||||
all_results.append(result)
|
||||
print("\n" + "=" * 50)
|
||||
print("FINAL SUMMARY")
|
||||
print("=" * 50)
|
||||
total_entries = sum(r['total'] for r in all_results)
|
||||
total_success = sum(r['success'] for r in all_results)
|
||||
total_failed = sum(r['failed'] for r in all_results)
|
||||
|
||||
print(f"Total entries processed: {total_entries}")
|
||||
print(f"Successfully fetched: {total_success} ({total_success/total_entries*100:.1f}%)" if total_entries > 0 else "Successfully fetched: 0")
|
||||
print(f"Failed: {total_failed} ({total_failed/total_entries*100:.1f}%)" if total_entries > 0 else "Failed: 0")
|
||||
|
||||
# List all failed entries by category
|
||||
if total_entries > 0:
|
||||
print(f"Successfully fetched: {total_success} ({total_success/total_entries*100:.1f}%)")
|
||||
print(f"Failed: {total_failed} ({total_failed/total_entries*100:.1f}%)")
|
||||
else:
|
||||
print("Successfully fetched: 0")
|
||||
if total_failed > 0:
|
||||
print("\nFailed entries by category:")
|
||||
for result in all_results:
|
||||
@@ -286,10 +243,8 @@ def main():
|
||||
print(f" {result['category']}:")
|
||||
for failed in result['failed_entries']:
|
||||
print(f" - {failed}")
|
||||
|
||||
print("\n" + "=" * 50)
|
||||
print("Done!")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
[Versions]
|
||||
aio-switch-updater=2.23.3
|
||||
Amiibo Generator=2.2.1
|
||||
Amiigo=2.4.1
|
||||
Chiaki_NG=release-af569df
|
||||
DBI_DE=864
|
||||
DBI_EN=864
|
||||
DNS_mitm Tester=1.0.4
|
||||
emuiibo=1.1.2
|
||||
Goldleaf=1.2.0
|
||||
Hekate-Toolbox=4.0.4
|
||||
JKSV=12/02/2025
|
||||
linkalho=2.0.2
|
||||
Moonlight Switch=1.3.4
|
||||
Neumann=0.0.31
|
||||
nxmp=0.9.3
|
||||
NX-Activity-Log=1.4.0
|
||||
NXThemesInstaller=4.8.3
|
||||
Sphaira=1.0.0
|
||||
switchfin=0.8.3
|
||||
ThemezerNX=2.0.3
|
||||
Tinwoo=1.0.28
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[Homebrew Apps]
|
||||
|
||||
[aio-switch-updater]
|
||||
[aio-switch-updater - 2.23.3]
|
||||
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
|
||||
@@ -8,7 +8,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
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 - 2.2.1]
|
||||
try:
|
||||
download https://api.github.com/repos/yusufakg/AmiiboGenerator/releases?per_page=1 /config/ultrahand/downloads/amiibo-generator-api.json
|
||||
json_file /config/ultrahand/downloads/amiibo-generator-api.json
|
||||
@@ -16,7 +16,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/amiibo-generator.nro /switch/AmiiboGenerator/
|
||||
delete /config/ultrahand/downloads/amiibo-generator-api.json
|
||||
|
||||
[Amiigo]
|
||||
[Amiigo - 2.4.1]
|
||||
try:
|
||||
download https://api.github.com/repos/CompSciOrBust/Amiigo/releases?per_page=1 /config/ultrahand/downloads/amiigo-api.json
|
||||
json_file /config/ultrahand/downloads/amiigo-api.json
|
||||
@@ -24,7 +24,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/amiigo.nro /switch/Amiigo/
|
||||
delete /config/ultrahand/downloads/amiigo-api.json
|
||||
|
||||
[Chiaki_NG]
|
||||
[Chiaki_NG - release-af569df]
|
||||
try:
|
||||
download https://api.github.com/repos/streetpea/chiaki-ng/releases?per_page=1 /config/ultrahand/downloads/chiaki-api.json
|
||||
json_file /config/ultrahand/downloads/chiaki-api.json
|
||||
@@ -32,7 +32,7 @@ download {json_file(0,assets,8,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/chiaki.nro /switch/Chiaki/
|
||||
delete /config/ultrahand/downloads/chiaki-api.json
|
||||
|
||||
[DBI_DE]
|
||||
[DBI_DE - 864]
|
||||
try:
|
||||
download https://git.niklascfw.de/api/v1/repos/OmniNX/DBI_DE/releases?limit=1 /config/ultrahand/downloads/dbi-api.json
|
||||
json_file /config/ultrahand/downloads/dbi-api.json
|
||||
@@ -41,7 +41,7 @@ unzip /config/ultrahand/downloads/dbi.zip /
|
||||
delete /config/ultrahand/downloads/dbi-api.json
|
||||
delete /config/ultrahand/downloads/dbi.zip
|
||||
|
||||
[DBI_EN]
|
||||
[DBI_EN - 864]
|
||||
try:
|
||||
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/dbi-api.json
|
||||
@@ -50,7 +50,7 @@ unzip /config/ultrahand/downloads/dbi.zip /
|
||||
delete /config/ultrahand/downloads/dbi-api.json
|
||||
delete /config/ultrahand/downloads/dbi.zip
|
||||
|
||||
[DNS_mitm Tester]
|
||||
[DNS_mitm Tester - 1.0.4]
|
||||
try:
|
||||
download https://api.github.com/repos/meganukebmp/Switch_90DNS_tester/releases?per_page=1 /config/ultrahand/downloads/dns-tester-api.json
|
||||
json_file /config/ultrahand/downloads/dns-tester-api.json
|
||||
@@ -58,7 +58,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/dns-tester.nro /switch/DNS-Block_Tester/
|
||||
delete /config/ultrahand/downloads/dns-tester-api.json
|
||||
|
||||
[emuiibo]
|
||||
[emuiibo - 1.1.2]
|
||||
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
|
||||
@@ -66,7 +66,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/emuiibo.nro /switch/emuiibo/
|
||||
delete /config/ultrahand/downloads/emuiibo-api.json
|
||||
|
||||
[Goldleaf]
|
||||
[Goldleaf - 1.2.0]
|
||||
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
|
||||
@@ -75,7 +75,7 @@ unzip /config/ultrahand/downloads/goldleaf.zip /
|
||||
delete /config/ultrahand/downloads/goldleaf-api.json
|
||||
delete /config/ultrahand/downloads/goldleaf.zip
|
||||
|
||||
[Hekate-Toolbox]
|
||||
[Hekate-Toolbox - 4.0.4]
|
||||
try:
|
||||
download https://api.github.com/repos/WerWolv/Hekate-Toolbox/releases?per_page=1 /config/ultrahand/downloads/hekate-toolbox-api.json
|
||||
json_file /config/ultrahand/downloads/hekate-toolbox-api.json
|
||||
@@ -83,7 +83,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/hekate-toolbox.nro /switch/Hekate-Toolbox/
|
||||
delete /config/ultrahand/downloads/hekate-toolbox-api.json
|
||||
|
||||
[JKSV]
|
||||
[JKSV - 12/02/2025]
|
||||
try:
|
||||
download https://api.github.com/repos/J-D-K/JKSV/releases?per_page=1 /config/ultrahand/downloads/jksv-api.json
|
||||
json_file /config/ultrahand/downloads/jksv-api.json
|
||||
@@ -91,7 +91,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/jksv.nro /switch/JKSV/
|
||||
delete /config/ultrahand/downloads/jksv-api.json
|
||||
|
||||
[linkalho]
|
||||
[linkalho - 2.0.2]
|
||||
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
|
||||
@@ -99,7 +99,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/linkalho.nro /switch/linkalho/
|
||||
delete /config/ultrahand/downloads/linkalho-api.json
|
||||
|
||||
[Moonlight Switch]
|
||||
[Moonlight Switch - 1.3.4]
|
||||
try:
|
||||
download https://api.github.com/repos/XITRIX/Moonlight-Switch/releases?per_page=1 /config/ultrahand/downloads/moonlight-api.json
|
||||
json_file /config/ultrahand/downloads/moonlight-api.json
|
||||
@@ -107,7 +107,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/moonlight.nro /switch/Moonlight Switch/
|
||||
delete /config/ultrahand/downloads/moonlight-api.json
|
||||
|
||||
[Neumann]
|
||||
[Neumann - 0.0.31]
|
||||
try:
|
||||
download https://api.github.com/repos/turtle-insect/Neumann/releases?per_page=1 /config/ultrahand/downloads/neumann-api.json
|
||||
json_file /config/ultrahand/downloads/neumann-api.json
|
||||
@@ -115,7 +115,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/neumann.nro /switch/Neumann/
|
||||
delete /config/ultrahand/downloads/neumann-api.json
|
||||
|
||||
[nxmp]
|
||||
[nxmp - 0.9.3]
|
||||
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
|
||||
@@ -123,7 +123,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/nxmp.nro /switch/nxmp/
|
||||
delete /config/ultrahand/downloads/nxmp-api.json
|
||||
|
||||
[NX-Activity-Log]
|
||||
[NX-Activity-Log - 1.4.0]
|
||||
try:
|
||||
download https://api.github.com/repos/tallbl0nde/NX-Activity-Log/releases?per_page=1 /config/ultrahand/downloads/nx-activity-log-api.json
|
||||
json_file /config/ultrahand/downloads/nx-activity-log-api.json
|
||||
@@ -131,7 +131,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/nx-activity-log.nro /switch/NX-Activity-Log/
|
||||
delete /config/ultrahand/downloads/nx-activity-log-api.json
|
||||
|
||||
[NXThemesInstaller]
|
||||
[NXThemesInstaller - 4.8.3]
|
||||
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
|
||||
@@ -139,7 +139,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/switchthemeinjector.nro /switch/NXThemesInstaller/NXThemesInstaller.nro
|
||||
delete /config/ultrahand/downloads/NXThemesInstaller-api.json
|
||||
|
||||
[Sphaira]
|
||||
[Sphaira - 1.0.0]
|
||||
try:
|
||||
download https://api.github.com/repos/ITotalJustice/sphaira/releases?per_page=1 /config/ultrahand/downloads/sphaira-api.json
|
||||
json_file /config/ultrahand/downloads/sphaira-api.json
|
||||
@@ -148,7 +148,7 @@ unzip /config/ultrahand/downloads/sphaira.zip /
|
||||
delete /config/ultrahand/downloads/sphaira-api.json
|
||||
delete /config/ultrahand/downloads/sphaira.zip
|
||||
|
||||
[switchfin]
|
||||
[switchfin - 0.8.3]
|
||||
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
|
||||
@@ -156,7 +156,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/switchfin.nro /switch/switchfin/
|
||||
delete /config/ultrahand/downloads/switchfin-api.json
|
||||
|
||||
[ThemezerNX]
|
||||
[ThemezerNX - 2.0.3]
|
||||
try:
|
||||
download https://api.github.com/repos/suchmememanyskill/themezer-nx/releases?per_page=1 /config/ultrahand/downloads/themezer-api.json
|
||||
json_file /config/ultrahand/downloads/themezer-api.json
|
||||
@@ -165,7 +165,7 @@ mv /config/ultrahand/downloads/themezer.nro /switch/ThemezerNX/
|
||||
cp /Backup/SB/Icongrabber/config.json /config/Icongrabber/config.json
|
||||
delete /config/ultrahand/downloads/themezer-api.json
|
||||
|
||||
[Tinwoo]
|
||||
[Tinwoo - 1.0.28]
|
||||
try:
|
||||
download https://api.github.com/repos/mrdude2478/Tinwoo-Release/releases?per_page=1 /config/ultrahand/downloads/tinwoo-api.json
|
||||
json_file /config/ultrahand/downloads/tinwoo-api.json
|
||||
|
||||
@@ -1,48 +1,3 @@
|
||||
[boot]
|
||||
set-ini-val ./include/apps/config.ini 'Amiibo Generator' 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini Amiigo 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini DBI_EN 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini DBI_DE 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini Chiaki_NG 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini 'DNS_mitm Tester' 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini Hekate-Toolbox 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini JKSV 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini 'Moonlight Switch' 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini Neumann 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini 'NX-Activity-Log' 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini RetroArch 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini Sphaira 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini ThemezerNX 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini emuiibo 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini Tinwoo 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini Goldleaf 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini linkalho 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini nxmp 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini aio-switch-updater 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini switchfin 'footer' ''
|
||||
set-ini-val ./include/apps/config.ini NXThemesInstaller 'footer' ''
|
||||
|
||||
download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/apps/RELEASE_APPS.ini ./include/apps/RELEASE_APPS.ini
|
||||
ini_file ./include/apps/RELEASE_APPS.ini
|
||||
set-ini-val ./include/apps/config.ini 'Amiibo Generator' 'footer' '{ini_file(Versions,Amiibo Generator)}'
|
||||
set-ini-val ./include/apps/config.ini Amiigo 'footer' '{ini_file(Versions,Amiigo)}'
|
||||
set-ini-val ./include/apps/config.ini DBI_EN 'footer' '{ini_file(Versions,DBI_EN)}'
|
||||
set-ini-val ./include/apps/config.ini DBI_DE 'footer' '{ini_file(Versions,DBI_DE)}'
|
||||
set-ini-val ./include/apps/config.ini Chiaki_NG 'footer' '{ini_file(Versions,Chiaki_NG)}'
|
||||
set-ini-val ./include/apps/config.ini 'DNS_mitm Tester' 'footer' '{ini_file(Versions,DNS_mitm Tester)}'
|
||||
set-ini-val ./include/apps/config.ini Hekate-Toolbox 'footer' '{ini_file(Versions,Hekate-Toolbox)}'
|
||||
set-ini-val ./include/apps/config.ini JKSV 'footer' '{ini_file(Versions,JKSV)}'
|
||||
set-ini-val ./include/apps/config.ini 'Moonlight Switch' 'footer' '{ini_file(Versions,Moonlight Switch)}'
|
||||
set-ini-val ./include/apps/config.ini Neumann 'footer' '{ini_file(Versions,Neumann)}'
|
||||
set-ini-val ./include/apps/config.ini 'NX-Activity-Log' 'footer' '{ini_file(Versions,NX-Activity-Log)}'
|
||||
set-ini-val ./include/apps/config.ini RetroArch 'footer' '{ini_file(Versions,RetroArch)}'
|
||||
set-ini-val ./include/apps/config.ini Sphaira 'footer' '{ini_file(Versions,Sphaira)}'
|
||||
set-ini-val ./include/apps/config.ini ThemezerNX 'footer' '{ini_file(Versions,ThemezerNX)}'
|
||||
set-ini-val ./include/apps/config.ini emuiibo 'footer' '{ini_file(Versions,emuiibo)}'
|
||||
set-ini-val ./include/apps/config.ini Tinwoo 'footer' '{ini_file(Versions,Tinwoo)}'
|
||||
set-ini-val ./include/apps/config.ini Goldleaf 'footer' '{ini_file(Versions,Goldleaf)}'
|
||||
set-ini-val ./include/apps/config.ini linkalho 'footer' '{ini_file(Versions,linkalho)}'
|
||||
set-ini-val ./include/apps/config.ini nxmp 'footer' '{ini_file(Versions,nxmp)}'
|
||||
set-ini-val ./include/apps/config.ini aio-switch-updater 'footer' '{ini_file(Versions,aio-switch-updater)}'
|
||||
set-ini-val ./include/apps/config.ini switchfin 'footer' '{ini_file(Versions,switchfin)}'
|
||||
set-ini-val ./include/apps/config.ini NXThemesInstaller 'footer' '{ini_file(Versions,NXThemesInstaller)}'
|
||||
; Versions are now in apps.ini section names (e.g. [DBI_EN - 864]).
|
||||
; No boot steps needed; exec boot removed from package.ini for [*Apps].
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
[Versions]
|
||||
melonDS=7.2.1
|
||||
PPSSPP-NX=1.19.3
|
||||
|
||||
@@ -1,8 +1,2 @@
|
||||
[boot]
|
||||
set-ini-val ./include/emulation/config.ini melonDS 'footer' ''
|
||||
set-ini-val ./include/emulation/config.ini PPSSPP-NX 'footer' ''
|
||||
|
||||
download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/emulation/RELEASE_EM.ini ./include/emulation/RELEASE_EM.ini
|
||||
ini_file ./include/emulation/RELEASE_EM.ini
|
||||
set-ini-val ./include/emulation/config.ini melonDS 'footer' '{ini_file(Versions,melonDS)}'
|
||||
set-ini-val ./include/emulation/config.ini PPSSPP-NX 'footer' '{ini_file(Versions,PPSSPP-NX)}'
|
||||
; Versions are in emulation.ini section names (e.g. [melonDS - 7.2.1]). No boot steps needed.
|
||||
|
||||
@@ -9,7 +9,7 @@ download 'https://cdn.niklascfw.de/switch/pack/os/lakka.zip' '/config/ultrahand/
|
||||
unzip '/config/ultrahand/downloads/lakka.zip' '/'
|
||||
delete '/config/ultrahand/downloads/lakka.zip'
|
||||
|
||||
[melonDS]
|
||||
[melonDS - 7.2.1]
|
||||
try:
|
||||
download https://api.github.com/repos/ArcDelta/melonDS/releases?per_page=1 /config/ultrahand/downloads/melonds-api.json
|
||||
json_file /config/ultrahand/downloads/melonds-api.json
|
||||
@@ -17,7 +17,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/melonds.nro /switch/melonDS/
|
||||
delete /config/ultrahand/downloads/melonds-api.json
|
||||
|
||||
[PPSSPP-NX]
|
||||
[PPSSPP-NX - 1.19.3]
|
||||
try:
|
||||
download https://git.niklascfw.de/api/v1/repos/OmniNX/PPSSPP-NX/releases?limit=1 /config/ultrahand/downloads/ppsspp-nx-api.json
|
||||
json_file /config/ultrahand/downloads/ppsspp-nx-api.json
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
[Versions]
|
||||
DNS-MITM_Manager=0.2.0
|
||||
EdiZon-Overlay=1.0.14
|
||||
FPSLocker=3.2.4
|
||||
Fizeau=2.8.2
|
||||
NXFanControl+=1.0.5+
|
||||
QuickNTP=1.6.0
|
||||
ReverseNX-RT=2.2.1
|
||||
Status-Monitor-Overlay=1.3.2+r6
|
||||
Sys-Clk=2.0.1+r21
|
||||
SysDVR=1.0.14
|
||||
Sysmodules=1.4.7
|
||||
|
||||
@@ -1,26 +1,2 @@
|
||||
[boot]
|
||||
set-ini-val ./include/overlays/config.ini DNS-MITM_Manager 'footer' ''
|
||||
set-ini-val ./include/overlays/config.ini EdiZon-Overlay 'footer' ''
|
||||
set-ini-val ./include/overlays/config.ini FPSLocker 'footer' ''
|
||||
set-ini-val ./include/overlays/config.ini Fizeau 'footer' ''
|
||||
set-ini-val ./include/overlays/config.ini NXFanControl+ 'footer' ''
|
||||
set-ini-val ./include/overlays/config.ini QuickNTP 'footer' ''
|
||||
set-ini-val ./include/overlays/config.ini ReverseNX-RT 'footer' ''
|
||||
set-ini-val ./include/overlays/config.ini Sysmodules 'footer' ''
|
||||
set-ini-val ./include/overlays/config.ini Sys-Clk 'footer' ''
|
||||
set-ini-val ./include/overlays/config.ini SysDVR 'footer' ''
|
||||
set-ini-val ./include/overlays/config.ini Status-Monitor-Overlay 'footer' ''
|
||||
|
||||
download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/overlays/RELEASE_OV.ini ./include/overlays/RELEASE_OV.ini
|
||||
ini_file ./include/overlays/RELEASE_OV.ini
|
||||
set-ini-val ./include/overlays/config.ini DNS-MITM_Manager 'footer' '{ini_file(Versions,DNS-MITM_Manager)}'
|
||||
set-ini-val ./include/overlays/config.ini EdiZon-Overlay 'footer' '{ini_file(Versions,EdiZon-Overlay)}'
|
||||
set-ini-val ./include/overlays/config.ini FPSLocker 'footer' '{ini_file(Versions,FPSLocker)}'
|
||||
set-ini-val ./include/overlays/config.ini Fizeau 'footer' '{ini_file(Versions,Fizeau)}'
|
||||
set-ini-val ./include/overlays/config.ini NXFanControl+ 'footer' '{ini_file(Versions,NXFanControl+)}'
|
||||
set-ini-val ./include/overlays/config.ini QuickNTP 'footer' '{ini_file(Versions,QuickNTP)}'
|
||||
set-ini-val ./include/overlays/config.ini ReverseNX-RT 'footer' '{ini_file(Versions,ReverseNX-RT)}'
|
||||
set-ini-val ./include/overlays/config.ini Sysmodules 'footer' '{ini_file(Versions,Sysmodules)}'
|
||||
set-ini-val ./include/overlays/config.ini Sys-Clk 'footer' '{ini_file(Versions,Sys-Clk)}'
|
||||
set-ini-val ./include/overlays/config.ini SysDVR 'footer' '{ini_file(Versions,SysDVR)}'
|
||||
set-ini-val ./include/overlays/config.ini Status-Monitor-Overlay 'footer' '{ini_file(Versions,Status-Monitor-Overlay)}'
|
||||
; Versions are in overlays.ini section names. No boot steps needed.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[UltraHand Overlays]
|
||||
|
||||
[DNS-MITM_Manager]
|
||||
[DNS-MITM_Manager - 0.2.0]
|
||||
try:
|
||||
download https://api.github.com/repos/sthetix/DNS-MITM_Manager/releases?per_page=1 /config/ultrahand/downloads/dns-mitm-api.json
|
||||
json_file /config/ultrahand/downloads/dns-mitm-api.json
|
||||
@@ -9,7 +9,7 @@ unzip /config/ultrahand/downloads/dns-mitm.zip /
|
||||
delete /config/ultrahand/downloads/dns-mitm-api.json
|
||||
delete /config/ultrahand/downloads/dns-mitm.zip
|
||||
|
||||
[EdiZon-Overlay]
|
||||
[EdiZon-Overlay - 1.0.14]
|
||||
try:
|
||||
download https://api.github.com/repos/proferabg/EdiZon-Overlay/releases?per_page=1 /config/ultrahand/downloads/edizon-api.json
|
||||
json_file /config/ultrahand/downloads/edizon-api.json
|
||||
@@ -17,7 +17,7 @@ download {json_file(0,assets,1,browser_download_url)} /config/ultrahand/download
|
||||
move /config/ultrahand/downloads/edizon.ovl /switch/.overlays/
|
||||
delete /config/ultrahand/downloads/edizon-api.json
|
||||
|
||||
[FPSLocker]
|
||||
[FPSLocker - 3.2.4]
|
||||
try:
|
||||
download https://api.github.com/repos/masagrator/FPSLocker/releases?per_page=1 /config/ultrahand/downloads/fpslocker-api.json
|
||||
json_file /config/ultrahand/downloads/fpslocker-api.json
|
||||
@@ -25,7 +25,7 @@ download {json_file(0,assets,1,browser_download_url)} /config/ultrahand/download
|
||||
move /config/ultrahand/downloads/fpslocker.ovl /switch/.overlays/
|
||||
delete /config/ultrahand/downloads/fpslocker-api.json
|
||||
|
||||
[Fizeau]
|
||||
[Fizeau - 2.8.2]
|
||||
try:
|
||||
download https://api.github.com/repos/averne/Fizeau/releases?per_page=1 /config/ultrahand/downloads/fizeau-api.json
|
||||
json_file /config/ultrahand/downloads/fizeau-api.json
|
||||
@@ -34,7 +34,7 @@ unzip /config/ultrahand/downloads/fizeau.zip /
|
||||
delete /config/ultrahand/downloads/fizeau-api.json
|
||||
delete /config/ultrahand/downloads/fizeau.zip
|
||||
|
||||
[NXFanControl+]
|
||||
[NXFanControl+ - 1.0.5+]
|
||||
try:
|
||||
download https://api.github.com/repos/dominatorul/NX-FanControl/releases?per_page=1 /config/ultrahand/downloads/nxfancontrol-api.json
|
||||
json_file /config/ultrahand/downloads/nxfancontrol-api.json
|
||||
@@ -43,7 +43,7 @@ unzip /config/ultrahand/downloads/nxfancontrol.zip /
|
||||
delete /config/ultrahand/downloads/nxfancontrol-api.json
|
||||
delete /config/ultrahand/downloads/nxfancontrol.zip
|
||||
|
||||
[QuickNTP]
|
||||
[QuickNTP - 1.6.0]
|
||||
try:
|
||||
download https://api.github.com/repos/nedex/QuickNTP/releases?per_page=1 /config/ultrahand/downloads/quickntp-api.json
|
||||
json_file /config/ultrahand/downloads/quickntp-api.json
|
||||
@@ -52,7 +52,7 @@ unzip /config/ultrahand/downloads/quickntp.zip /
|
||||
delete /config/ultrahand/downloads/quickntp-api.json
|
||||
delete /config/ultrahand/downloads/quickntp.zip
|
||||
|
||||
[ReverseNX-RT]
|
||||
[ReverseNX-RT - 2.2.1]
|
||||
try:
|
||||
download https://api.github.com/repos/masagrator/ReverseNX-RT/releases?per_page=1 /config/ultrahand/downloads/reversenx-api.json
|
||||
json_file /config/ultrahand/downloads/reversenx-api.json
|
||||
@@ -60,7 +60,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
move /config/ultrahand/downloads/reversenx.ovl /switch/.overlays/
|
||||
delete /config/ultrahand/downloads/reversenx-api.json
|
||||
|
||||
[Status-Monitor-Overlay]
|
||||
[Status-Monitor-Overlay - 1.3.2+r6]
|
||||
try:
|
||||
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/status-monitor-api.json
|
||||
@@ -68,7 +68,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
move /config/ultrahand/downloads/status-monitor.ovl /switch/.overlays/
|
||||
delete /config/ultrahand/downloads/status-monitor-api.json
|
||||
|
||||
[Sys-Clk]
|
||||
[Sys-Clk - 2.0.1+r21]
|
||||
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
|
||||
@@ -76,7 +76,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
move /config/ultrahand/downloads/sys-clk.ovl /switch/.overlays/
|
||||
delete /config/ultrahand/downloads/sys-clk-api.json
|
||||
|
||||
[SysDVR]
|
||||
[SysDVR - 1.0.14]
|
||||
try:
|
||||
download https://api.github.com/repos/zdm65477730/sysdvr-overlay/releases?per_page=1 /config/ultrahand/downloads/sysdvr-api.json
|
||||
json_file /config/ultrahand/downloads/sysdvr-api.json
|
||||
@@ -85,7 +85,7 @@ unzip /config/ultrahand/downloads/sysdvr.zip /
|
||||
delete /config/ultrahand/downloads/sysdvr-api.json
|
||||
delete /config/ultrahand/downloads/sysdvr.zip
|
||||
|
||||
[Sysmodules]
|
||||
[Sysmodules - 1.4.7]
|
||||
try:
|
||||
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/sysmodules-ovl-api.json
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
[Versions]
|
||||
Alchemist=1.0.5
|
||||
EdiZon-Overlay=1.0.15
|
||||
Fizeau=2.8.2+r2
|
||||
FPSLocker=3.2.3+r1
|
||||
ldn-mitm=1.20.2
|
||||
Memory-Kit=1.0.0
|
||||
MissionControl=0.14.2
|
||||
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
|
||||
|
||||
@@ -1,36 +1,2 @@
|
||||
[boot]
|
||||
set-ini-val ./include/sysmodules/config.ini ldn-mitm 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini MissionControl 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini sys-patch 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini SaltyNX 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini sys-botbase 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini TriPlayer 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini Alchemist 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini Memory-Kit 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini Fizeau 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini QuickNTP 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini ovl-sysmodules 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini EdiZon-Overlay 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini FPSLocker 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini sys-clk 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini Status-Monitor-Overlay 'footer' ''
|
||||
set-ini-val ./include/sysmodules/config.ini NX-FanControl 'footer' ''
|
||||
|
||||
download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/sysmodules/RELEASE_SM.ini ./include/sysmodules/RELEASE_SM.ini
|
||||
ini_file ./include/sysmodules/RELEASE_SM.ini
|
||||
set-ini-val ./include/sysmodules/config.ini ldn-mitm 'footer' '{ini_file(Versions,ldn-mitm)}'
|
||||
set-ini-val ./include/sysmodules/config.ini MissionControl 'footer' '{ini_file(Versions,MissionControl)}'
|
||||
set-ini-val ./include/sysmodules/config.ini sys-patch 'footer' '{ini_file(Versions,sys-patch)}'
|
||||
set-ini-val ./include/sysmodules/config.ini SaltyNX 'footer' '{ini_file(Versions,SaltyNX)}'
|
||||
set-ini-val ./include/sysmodules/config.ini sys-botbase 'footer' '{ini_file(Versions,sys-botbase)}'
|
||||
set-ini-val ./include/sysmodules/config.ini TriPlayer 'footer' '{ini_file(Versions,TriPlayer)}'
|
||||
set-ini-val ./include/sysmodules/config.ini Alchemist 'footer' '{ini_file(Versions,Alchemist)}'
|
||||
set-ini-val ./include/sysmodules/config.ini Memory-Kit 'footer' '{ini_file(Versions,Memory-Kit)}'
|
||||
set-ini-val ./include/sysmodules/config.ini Fizeau 'footer' '{ini_file(Versions,Fizeau)}'
|
||||
set-ini-val ./include/sysmodules/config.ini QuickNTP 'footer' '{ini_file(Versions,QuickNTP)}'
|
||||
set-ini-val ./include/sysmodules/config.ini ovl-sysmodules 'footer' '{ini_file(Versions,ovl-sysmodules)}'
|
||||
set-ini-val ./include/sysmodules/config.ini EdiZon-Overlay 'footer' '{ini_file(Versions,EdiZon-Overlay)}'
|
||||
set-ini-val ./include/sysmodules/config.ini FPSLocker 'footer' '{ini_file(Versions,FPSLocker)}'
|
||||
set-ini-val ./include/sysmodules/config.ini sys-clk 'footer' '{ini_file(Versions,sys-clk)}'
|
||||
set-ini-val ./include/sysmodules/config.ini Status-Monitor-Overlay 'footer' '{ini_file(Versions,Status-Monitor-Overlay)}'
|
||||
set-ini-val ./include/sysmodules/config.ini NX-FanControl 'footer' '{ini_file(Versions,NX-FanControl)}'
|
||||
; Versions are in sysmodules.ini section names. No boot steps needed.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[System Module]
|
||||
|
||||
[Alchemist]
|
||||
[Alchemist - 1.0.5]
|
||||
try:
|
||||
download https://api.github.com/repos/ppkantorski/Alchemist/releases?per_page=1 /config/ultrahand/downloads/alchemist-api.json
|
||||
json_file /config/ultrahand/downloads/alchemist-api.json
|
||||
@@ -9,7 +9,7 @@ unzip /config/ultrahand/downloads/alchemist.zip /
|
||||
delete /config/ultrahand/downloads/alchemist-api.json
|
||||
delete /config/ultrahand/downloads/alchemist.zip
|
||||
|
||||
[EdiZon-Overlay]
|
||||
[EdiZon-Overlay - 1.0.15]
|
||||
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
|
||||
@@ -17,7 +17,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/edizon-overlay.ovl /switch/.overlays/
|
||||
delete /config/ultrahand/downloads/edizon-overlay-api.json
|
||||
|
||||
[Fizeau]
|
||||
[Fizeau - 2.8.2+r2]
|
||||
try:
|
||||
download https://api.github.com/repos/ppkantorski/Fizeau/releases?per_page=1 /config/ultrahand/downloads/fizeau-api.json
|
||||
json_file /config/ultrahand/downloads/fizeau-api.json
|
||||
@@ -25,7 +25,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/fizeau.ovl /switch/.overlays/
|
||||
delete /config/ultrahand/downloads/fizeau-api.json
|
||||
|
||||
[FPSLocker]
|
||||
[FPSLocker - 3.2.3+r1]
|
||||
try:
|
||||
download https://api.github.com/repos/ppkantorski/FPSLocker/releases?per_page=1 /config/ultrahand/downloads/fpslocker-api.json
|
||||
json_file /config/ultrahand/downloads/fpslocker-api.json
|
||||
@@ -33,7 +33,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/fpslocker.ovl /switch/.overlays/
|
||||
delete /config/ultrahand/downloads/fpslocker-api.json
|
||||
|
||||
[ldn-mitm]
|
||||
[ldn-mitm - 1.20.2]
|
||||
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
|
||||
@@ -42,7 +42,7 @@ unzip /config/ultrahand/downloads/ldn-mitm.zip /
|
||||
delete /config/ultrahand/downloads/ldn-mitm-api.json
|
||||
delete /config/ultrahand/downloads/ldn-mitm.zip
|
||||
|
||||
[Memory-Kit]
|
||||
[Memory-Kit - 1.0.0]
|
||||
try:
|
||||
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/memory-kit-api.json
|
||||
@@ -51,7 +51,7 @@ unzip /config/ultrahand/downloads/memory-kit.zip /
|
||||
delete /config/ultrahand/downloads/memory-kit-api.json
|
||||
delete /config/ultrahand/downloads/memory-kit.zip
|
||||
|
||||
[MissionControl]
|
||||
[MissionControl - 0.14.2]
|
||||
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
|
||||
@@ -60,7 +60,7 @@ unzip /config/ultrahand/downloads/missioncontrol.zip /
|
||||
delete /config/ultrahand/downloads/missioncontrol-api.json
|
||||
delete /config/ultrahand/downloads/missioncontrol.zip
|
||||
|
||||
[NX-FanControl]
|
||||
[NX-FanControl - 1.0.3]
|
||||
try:
|
||||
download https://api.github.com/repos/auggeythecat/NX-FanControl-recomp/releases?per_page=1 /config/ultrahand/downloads/nx-fancontrol-api.json
|
||||
json_file /config/ultrahand/downloads/nx-fancontrol-api.json
|
||||
@@ -69,7 +69,7 @@ unzip /config/ultrahand/downloads/nx-fancontrol.zip /
|
||||
delete /config/ultrahand/downloads/nx-fancontrol-api.json
|
||||
delete /config/ultrahand/downloads/nx-fancontrol.zip
|
||||
|
||||
[ovl-sysmodules]
|
||||
[ovl-sysmodules - 1.4.7]
|
||||
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
|
||||
@@ -77,7 +77,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/ovl-sysmodules.ovl /switch/.overlays/
|
||||
delete /config/ultrahand/downloads/ovl-sysmodules-api.json
|
||||
|
||||
[QuickNTP]
|
||||
[QuickNTP - 1.6.0+r2]
|
||||
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
|
||||
@@ -85,7 +85,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/quickntp.ovl /switch/.overlays/
|
||||
delete /config/ultrahand/downloads/quickntp-api.json
|
||||
|
||||
[SaltyNX]
|
||||
[SaltyNX - 1.7.3]
|
||||
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
|
||||
@@ -94,7 +94,7 @@ unzip /config/ultrahand/downloads/saltynx.zip /
|
||||
delete /config/ultrahand/downloads/saltynx-api.json
|
||||
delete /config/ultrahand/downloads/saltynx.zip
|
||||
|
||||
[Status-Monitor-Overlay]
|
||||
[Status-Monitor-Overlay - 1.3.2+r6]
|
||||
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
|
||||
@@ -102,7 +102,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
|
||||
mv /config/ultrahand/downloads/status-monitor-overlay.ovl /switch/.overlays/
|
||||
delete /config/ultrahand/downloads/status-monitor-overlay-api.json
|
||||
|
||||
[sys-botbase]
|
||||
[sys-botbase - 2.41]
|
||||
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
|
||||
@@ -111,7 +111,7 @@ unzip /config/ultrahand/downloads/sys-botbase.zip /
|
||||
delete /config/ultrahand/downloads/sys-botbase-api.json
|
||||
delete /config/ultrahand/downloads/sys-botbase.zip
|
||||
|
||||
[sys-clk]
|
||||
[sys-clk - 2.0.1+r21]
|
||||
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
|
||||
@@ -120,7 +120,7 @@ unzip /config/ultrahand/downloads/sys-clk.zip /
|
||||
delete /config/ultrahand/downloads/sys-clk-api.json
|
||||
delete /config/ultrahand/downloads/sys-clk.zip
|
||||
|
||||
[sys-patch]
|
||||
[sys-patch - 1.5.9]
|
||||
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
|
||||
@@ -129,7 +129,7 @@ unzip /config/ultrahand/downloads/sys-patch.zip /
|
||||
delete /config/ultrahand/downloads/sys-patch-api.json
|
||||
delete /config/ultrahand/downloads/sys-patch.zip
|
||||
|
||||
[TriPlayer]
|
||||
[TriPlayer - 2.2.6]
|
||||
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
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
[OmniNX Downloader]
|
||||
version=1.0.0
|
||||
[Current]
|
||||
omninx_downloader=1.0.0
|
||||
@@ -1,3 +1,4 @@
|
||||
[Release Info]
|
||||
pack_version=1.0.0
|
||||
omninx_pack=1.0.0
|
||||
omninx_downloader=1.0.0
|
||||
firmware_version=21.2.0
|
||||
@@ -8,26 +8,26 @@ try:
|
||||
download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/updater/RELEASE.ini ./include/updater/RELEASE.ini
|
||||
ini_file ./include/updater/RELEASE.ini
|
||||
|
||||
set-ini-val ./include/updater/config.ini 'OmniNX' footer '{ini_file(Release Info,pack_version)}'
|
||||
set-ini-val ./include/updater/config.ini 'OmniNX' footer '{ini_file(Release Info,omninx_pack)}'
|
||||
ini_file /config/omninx/manifest.ini
|
||||
json '{"null":"true","{ini_file(OmniNX,version)}":"false"}'
|
||||
ini_file ./include/updater/RELEASE.ini
|
||||
set-ini-val ./include/updater/config.ini 'OmniNX' footer_highlight '{json({ini_file(Release Info,pack_version)})}'
|
||||
set-ini-val ./include/updater/config.ini 'OmniNX' footer_highlight '{json({ini_file(Release Info,omninx_pack)})}'
|
||||
|
||||
set-ini-val ./include/updater/config.ini 'Switch Firmware' footer '{ini_file(Release Info,firmware_version)}'
|
||||
json '{"null":"true","{hos_version}":"false"}'
|
||||
set-ini-val ./include/updater/config.ini 'Switch Firmware' footer_highlight '{json({ini_file(Release Info,firmware_version)})}'
|
||||
|
||||
set-ini-val ./include/updater/config.ini 'Omni Downloader' footer '{ini_file(Release Info,pack_version)}'
|
||||
set-ini-val ./include/updater/config.ini 'Omni Downloader' footer '{ini_file(Release Info,omninx_downloader)}'
|
||||
ini_file ./include/updater/CURRENT.ini
|
||||
json '{"null":"true","{ini_file(OmniNX Downloader,version)}":"false"}'
|
||||
json '{"null":"true","{ini_file(Current,omninx_downloader)}":"false"}'
|
||||
ini_file ./include/updater/RELEASE.ini
|
||||
set-ini-val ./include/updater/config.ini 'Omni Downloader' footer_highlight '{json({ini_file(Release Info,pack_version)})}'
|
||||
set-ini-val ./include/updater/config.ini 'Omni Downloader' footer_highlight '{json({ini_file(Release Info,omninx_downloader)})}'
|
||||
|
||||
ini_file /config/omninx/manifest.ini
|
||||
json '{"null":"notify","{ini_file(OmniNX,version)}":""}'
|
||||
ini_file ./include/updater/RELEASE.ini
|
||||
'{json({ini_file(Release Info,pack_version)})}' '{WARNING_SYMBOL} Pack update verfügbar!' 24
|
||||
'{json({ini_file(Release Info,omninx_pack)})}' '{WARNING_SYMBOL} Pack update verfügbar!' 24
|
||||
|
||||
ini_file ./include/updater/RELEASE.ini
|
||||
json '{"null":"notify","{hos_version}":""}'
|
||||
|
||||
@@ -68,7 +68,7 @@ notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
;background=true
|
||||
;gap=20
|
||||
ini_file './CURRENT.ini'
|
||||
'Zurzeit installiert' = '{ini_file(OmniNX Downloader,version)}'
|
||||
'Zurzeit installiert' = '{ini_file(Current,omninx_downloader)}'
|
||||
|
||||
[Omni Downloader]
|
||||
try:
|
||||
|
||||
@@ -25,7 +25,6 @@ package_source ./include/updater/updater.ini
|
||||
|
||||
[*Apps]
|
||||
;mode=forwarder
|
||||
exec boot ./include/apps/boot_package.ini
|
||||
package_source ./include/apps/apps.ini
|
||||
|
||||
[*Betriebssysteme]
|
||||
@@ -34,15 +33,12 @@ package_source ./include/os/os.ini
|
||||
|
||||
[*Emulatoren]
|
||||
;mode=forwarder
|
||||
exec boot ./include/emulation/boot_package.ini
|
||||
package_source ./include/emulation/emulation.ini
|
||||
|
||||
[*System Module]
|
||||
;mode=forwarder
|
||||
exec boot ./include/sysmodules/boot_package.ini
|
||||
package_source ./include/sysmodules/sysmodules.ini
|
||||
|
||||
[*Overlays]
|
||||
;mode=forwarder
|
||||
exec boot ./include/overlays/boot_package.ini
|
||||
package_source ./include/overlays/overlays.ini
|
||||
|
||||
Reference in New Issue
Block a user