31 Commits

Author SHA1 Message Date
1cf3dda353 include/updater/RELEASE.ini aktualisiert
All checks were successful
Build and Release / build-and-release (push) Successful in 10s
Generate Release Files / generate-releases (push) Successful in 1m0s
2026-03-07 00:00:31 +01:00
GitHub Action
5110828131 chore: update INI section versions [skip ci] 2026-03-06 21:24:36 +00:00
GitHub Action
be5c83453f chore: update INI section versions [skip ci] 2026-03-03 00:00:42 +00:00
f9806e1561 include/updater/RELEASE.ini aktualisiert
All checks were successful
Build and Release / build-and-release (push) Successful in 11s
Generate Release Files / generate-releases (push) Successful in 41s
2026-03-01 15:20:21 +01:00
8414885659 Remove show_widget attribute from ini files
All checks were successful
Build and Release / build-and-release (push) Successful in 10s
Made-with: Cursor
2026-03-01 15:01:30 +01:00
GitHub Action
01d2bf46fc chore: update INI section versions [skip ci] 2026-02-25 00:00:40 +00:00
GitHub Action
3ac1b6a3a8 chore: update INI section versions [skip ci] 2026-02-24 00:00:42 +00:00
5da087b391 Pack Version bump to 1.0.0-b3
All checks were successful
Build and Release / build-and-release (push) Successful in 9s
Generate Release Files / generate-releases (push) Successful in 40s
2026-02-22 23:12:44 +01:00
170759c063 Added mGBA to emulators
All checks were successful
Build and Release / build-and-release (push) Successful in 11s
2026-02-22 23:00:08 +01:00
GitHub Action
7984a41bda chore: update INI section versions [skip ci] 2026-02-22 00:00:39 +00:00
3a69140bd3 Fix Goldleaf and linkalho download formats in apps.ini
All checks were successful
Build and Release / build-and-release (push) Successful in 11s
Generate Release Files / generate-releases (push) Successful in 37s
2026-02-17 20:20:04 +01:00
GitHub Action
5e03eb3455 chore: update INI section versions [skip ci] 2026-02-17 00:00:39 +00:00
GitHub Action
fa4dd6f4de chore: update INI section versions [skip ci] 2026-02-15 00:00:39 +00:00
3aa1cd1b11 Updated workflow
All checks were successful
Build and Release / build-and-release (push) Successful in 9s
Generate Release Files / generate-releases (push) Successful in 38s
2026-02-15 00:27:19 +01:00
5229fa8274 Updated workflow
All checks were successful
Build and Release / build-and-release (push) Successful in 9s
2026-02-15 00:26:05 +01:00
1a7d03cb19 Updated workflow and current
All checks were successful
Build and Release / build-and-release (push) Successful in 11s
2026-02-15 00:24:38 +01:00
6c58601db8 Version bumped main 1.0.0-b2 2026-02-15 00:20:53 +01:00
f37cb9e23a Version bump to 1.0.0-b2 2026-02-15 00:19:29 +01:00
effe5c2dac Fixed emuiibo extraction
All checks were successful
Generate Release Files / generate-releases (push) Successful in 38s
2026-02-13 22:03:31 +01:00
GitHub Action
a643c9ca40 chore: update INI section versions [skip ci] 2026-02-11 15:26:23 +00:00
2f84cf11ea Updated NX-Activity-Log Repo 2026-02-11 16:25:26 +01:00
69d3107c26 Added NX in advanced section 2026-02-11 16:01:18 +01:00
6894ba4601 Fixed missmatched INI link
All checks were successful
Generate Release Files / generate-releases (push) Successful in 39s
2026-02-10 17:29:45 +01:00
90002e2273 bugfixed boot files
Quoted the Paths, otherwise it didn't work
2026-02-10 17:10:39 +01:00
650eebdc3a Fixed boot files 2026-02-10 16:44:54 +01:00
7dfdfa0462 Removed RELEASE_XXX format
footer writing has been replaced with the version being in the INI sections themselves
2026-02-10 16:38:44 +01:00
7995cc5d94 include/apps/apps.ini aktualisiert
All checks were successful
Generate Release Files / generate-releases (push) Successful in 39s
2026-02-08 17:19:19 +01:00
d695f43a22 Fix NXThemeinstaller Download 2026-02-08 17:15:40 +01:00
6409e06f1b include/apps/apps.ini aktualisiert
Fix NXThemesInstaller
2026-02-08 16:57:46 +01:00
2273195dec include/apps/apps.ini aktualisiert 2026-02-08 16:53:35 +01:00
GitHub Action
d1bf5997ce chore: update release files [skip ci] 2026-02-07 09:34:32 +00:00
25 changed files with 194 additions and 497 deletions

View File

@@ -2,138 +2,39 @@ name: Build and Release
on: on:
push: push:
tags:
- '[0-9]+.[0-9]+.[0-9]+*' # Trigger on version tags like 1.0.0
workflow_dispatch: # Allow manual trigger
inputs:
hotfix:
description: 'Hotfix mode - update latest release instead of creating new one'
required: false
type: boolean
default: false
jobs: jobs:
build-and-release: build-and-release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: write # Required to create releases contents: write
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Make - name: Set up build tools
run: | run: |
# Make is pre-installed on Ubuntu, but ensure zip is available
sudo apt-get update sudo apt-get update
sudo apt-get install -y zip rsync sudo apt-get install -y zip rsync
- name: Verify GitHub CLI
if: steps.get_version.outputs.hotfix == 'true'
run: |
gh --version || echo "GitHub CLI not available"
- name: Build zip package - name: Build zip package
run: make zip run: make zip
- name: Get version from tag or use default - name: Get version
id: get_version id: version
run: | run: echo "tag_name=dev-$(date +'%Y%m%d-%H%M%S')-${GITHUB_SHA::8}" >> $GITHUB_OUTPUT
if [ "${{ inputs.hotfix }}" = "true" ]; then
echo "mode=hotfix" >> $GITHUB_OUTPUT - name: Create dev release
echo "hotfix=true" >> $GITHUB_OUTPUT
elif [ "${{ github.ref_type }}" = "tag" ]; then
VERSION="${{ github.ref_name }}"
IS_PRERELEASE="false"
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "tag_name=$VERSION" >> $GITHUB_OUTPUT
echo "prerelease=$IS_PRERELEASE" >> $GITHUB_OUTPUT
echo "hotfix=false" >> $GITHUB_OUTPUT
else
VERSION="dev-$(date +'%Y%m%d-%H%M%S')-${GITHUB_SHA::8}"
IS_PRERELEASE="true"
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "tag_name=$VERSION" >> $GITHUB_OUTPUT
echo "prerelease=$IS_PRERELEASE" >> $GITHUB_OUTPUT
echo "hotfix=false" >> $GITHUB_OUTPUT
fi
- name: Get latest release for hotfix
if: steps.get_version.outputs.hotfix == 'true'
id: get_latest_release
run: |
# Get the latest release (non-draft, non-prerelease)
LATEST_RELEASE=$(gh api repos/${{ github.repository }}/releases/latest --jq '.tag_name' 2>/dev/null || echo "")
if [ -z "$LATEST_RELEASE" ]; then
echo "Error: No latest release found. Cannot perform hotfix."
exit 1
fi
RELEASE_ID=$(gh api repos/${{ github.repository }}/releases/latest --jq '.id')
echo "tag_name=$LATEST_RELEASE" >> $GITHUB_OUTPUT
echo "release_id=$RELEASE_ID" >> $GITHUB_OUTPUT
echo "Latest release: $LATEST_RELEASE (ID: $RELEASE_ID)"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Delete existing asset if hotfix
if: steps.get_version.outputs.hotfix == 'true'
run: |
ASSET_ID=$(gh api repos/${{ github.repository }}/releases/${{ steps.get_latest_release.outputs.release_id }}/assets --jq '.[] | select(.name == "OmniNX Downloader.zip") | .id' || echo "")
if [ -n "$ASSET_ID" ]; then
echo "Deleting existing asset (ID: $ASSET_ID)"
gh api repos/${{ github.repository }}/releases/assets/$ASSET_ID -X DELETE
echo "Waiting for asset deletion to complete..."
sleep 2
else
echo "No existing asset found"
fi
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Prepare release info
id: release_info
run: |
if [ "${{ inputs.hotfix }}" = "true" ]; then
echo "release_name=Release ${{ steps.get_latest_release.outputs.tag_name }} (Hotfix Update)" >> $GITHUB_OUTPUT
RELEASE_BODY="**HOTFIX UPDATE** - Updated existing release"
echo "release_body<<EOF" >> $GITHUB_OUTPUT
echo "$RELEASE_BODY" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "release_tag=${{ steps.get_latest_release.outputs.tag_name }}" >> $GITHUB_OUTPUT
echo "is_prerelease=false" >> $GITHUB_OUTPUT
else
echo "release_name=Release ${{ steps.get_version.outputs.version }}" >> $GITHUB_OUTPUT
RELEASE_BODY="Automated build of OmniNX Downloader"
echo "release_body<<EOF" >> $GITHUB_OUTPUT
echo "$RELEASE_BODY" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "release_tag=${{ steps.get_version.outputs.tag_name }}" >> $GITHUB_OUTPUT
echo "is_prerelease=${{ steps.get_version.outputs.prerelease }}" >> $GITHUB_OUTPUT
fi
- name: Create or Update Release (Normal Mode)
if: steps.get_version.outputs.hotfix != 'true'
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
with: with:
tag_name: ${{ steps.release_info.outputs.release_tag }} tag_name: ${{ steps.version.outputs.tag_name }}
name: ${{ steps.release_info.outputs.release_name }} name: Release ${{ steps.version.outputs.tag_name }}
body: ${{ steps.release_info.outputs.release_body }} body: |
Automated dev build of OmniNX Downloader
Commit: ${{ github.sha }}
Branch: ${{ github.ref_name }}
draft: false draft: false
prerelease: ${{ steps.release_info.outputs.is_prerelease == 'true' }} prerelease: true
files: ./output/OmniNX Downloader.zip files: ./output/OmniNX Downloader.zip
- name: Update Release (Hotfix Mode)
if: steps.get_version.outputs.hotfix == 'true'
run: |
# Update release body
gh release edit ${{ steps.get_latest_release.outputs.tag_name }} \
--title "${{ steps.release_info.outputs.release_name }}" \
--notes "${{ steps.release_info.outputs.release_body }}"
# Upload new asset
gh release upload ${{ steps.get_latest_release.outputs.tag_name }} \
"./output/OmniNX Downloader.zip" \
--clobber
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -22,7 +22,7 @@ jobs:
with: with:
python-version: '3.x' python-version: '3.x'
- name: Generate release files - name: Update main INI versions
env: env:
GITHUB_TOKEN: ${{ secrets.GH_API_TOKEN }} GITHUB_TOKEN: ${{ secrets.GH_API_TOKEN }}
run: python3 generate_release_files.py run: python3 generate_release_files.py
@@ -41,6 +41,6 @@ jobs:
run: | run: |
git config --local user.email "action@github.com" git config --local user.email "action@github.com"
git config --local user.name "GitHub Action" git config --local user.name "GitHub Action"
git add "include/*/RELEASE_*.ini" git add include/apps/apps.ini include/sysmodules/sysmodules.ini include/overlays/overlays.ini include/emulation/emulation.ini
git commit -m "chore: update release files [skip ci]" git commit -m "chore: update INI section versions [skip ci]"
git push git push

View File

@@ -1,7 +1,8 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
""" """
Generate RELEASE_X.ini files by fetching latest GitHub/Gitea release tags Update main INI files (apps, sysmodules, overlays, emulation) with latest
for sysmodules, overlays, apps, and emulation. 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 import re
@@ -10,7 +11,6 @@ import os
import time import time
import urllib.request import urllib.request
import urllib.error import urllib.error
import configparser
from pathlib import Path from pathlib import Path
from typing import Dict, List, Tuple, Optional, Any 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]]: 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?...
match = re.search(r'/repos/([^/]+)/([^/]+)/releases', url) match = re.search(r'/repos/([^/]+)/([^/]+)/releases', url)
if match: if match:
return (match.group(1), match.group(2)) 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]]: 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).""" """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) match = re.search(r'(https://[^/]+/api/v1)/repos/([^/]+)/([^/]+)/releases', url)
if match: if match:
return (match.group(1), match.group(2), match.group(3)) 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') req.add_header('User-Agent', 'Release-Tag-Fetcher/1.0')
if GITHUB_TOKEN: if GITHUB_TOKEN:
req.add_header('Authorization', f'token {GITHUB_TOKEN}') req.add_header('Authorization', f'token {GITHUB_TOKEN}')
with urllib.request.urlopen(req, timeout=10) as response: with urllib.request.urlopen(req, timeout=10) as response:
releases = json.loads(response.read().decode('utf-8')) releases = json.loads(response.read().decode('utf-8'))
if releases and len(releases) > 0: 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: try:
req = urllib.request.Request(url) req = urllib.request.Request(url)
req.add_header('User-Agent', 'Release-Tag-Fetcher/1.0') req.add_header('User-Agent', 'Release-Tag-Fetcher/1.0')
with urllib.request.urlopen(req, timeout=10) as response: with urllib.request.urlopen(req, timeout=10) as response:
releases = json.loads(response.read().decode('utf-8')) releases = json.loads(response.read().decode('utf-8'))
if releases and len(releases) > 0: 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_gitea(entry['api_base'], entry['owner'], entry['repo'])
return get_latest_tag_github(entry['owner'], entry['repo']) return get_latest_tag_github(entry['owner'], entry['repo'])
def parse_ini_file(file_path: Path) -> List[Dict[str, Any]]: 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.""" """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 = [] entries = []
with open(file_path, 'r', encoding='utf-8') as f: with open(file_path, 'r', encoding='utf-8') as f:
content = f.read() content = f.read()
# Find all section headers
sections = re.finditer(r'^\[([^\]]+)\]', content, re.MULTILINE) sections = re.finditer(r'^\[([^\]]+)\]', content, re.MULTILINE)
for section_match in sections: for section_match in sections:
section_name = section_match.group(1) 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() section_start = section_match.end()
# Find next section or end of file
next_section = re.search(r'^\[', content[section_start:], re.MULTILINE) 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_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 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_github_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': name,
'owner': repo_info[0], 'owner': repo_info[0],
'repo': repo_info[1], 'repo': repo_info[1],
'source': 'github', 'source': 'github',
'url': github_urls[0] 'url': github_urls[0]
}) })
continue 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) gitea_urls = re.findall(r'https://[^\s]+/api/v1/repos/[^\s]+/releases[^\s]*', section_content)
if gitea_urls: if gitea_urls:
repo_info = extract_repo_from_gitea_url(gitea_urls[0]) repo_info = extract_repo_from_gitea_url(gitea_urls[0])
if repo_info: if repo_info:
entries.append({ entries.append({
'name': section_name, 'name': name,
'api_base': repo_info[0], 'api_base': repo_info[0],
'owner': repo_info[1], 'owner': repo_info[1],
'repo': repo_info[2], 'repo': repo_info[2],
'source': 'gitea', 'source': 'gitea',
'url': gitea_urls[0] 'url': gitea_urls[0]
}) })
return entries return entries
def generate_release_ini(category: str, entries: List[Dict[str, Any]], output_path: Path):
"""Generate RELEASE_X.ini file for a category.""" def update_ini_section_versions(ini_path: Path, versions: Dict[str, str]) -> None:
print(f"\nGenerating {output_path.name}...") """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") print(f"Found {len(entries)} entries")
versions_dict: Dict[str, str] = {}
# 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
success_count = 0 success_count = 0
failure_count = 0 failure_count = 0
failed_entries = [] failed_entries: List[str] = []
# Fetch tags for each entry
for i, entry in enumerate(entries): for i, entry in enumerate(entries):
# Add delay between requests to avoid rate limiting (except for first request)
if i > 0: if i > 0:
time.sleep(0.5) # 500ms delay between requests time.sleep(0.5)
source = entry.get('source', 'github') source = entry.get('source', 'github')
print(f" Fetching {entry['name']} ({entry['owner']}/{entry['repo']}) [{source}]...", end=' ') print(f" Fetching {entry['name']} ({entry['owner']}/{entry['repo']}) [{source}]...", end=' ')
tag = get_latest_tag(entry) tag = get_latest_tag(entry)
if tag: if tag:
# Remove 'v' prefix if present for cleaner version clean_tag = _clean_tag(tag)
clean_tag = tag.lstrip('v') versions_dict[entry['name']] = clean_tag
# 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)
success_count += 1 success_count += 1
print(f"{clean_tag}") print(f"{clean_tag}")
else: else:
failure_count += 1 failure_count += 1
failed_entries.append(f"{entry['name']} ({entry['owner']}/{entry['repo']})") failed_entries.append(f"{entry['name']} ({entry['owner']}/{entry['repo']})")
print("✗ Failed") print("✗ Failed")
if versions_dict:
# Write to file update_ini_section_versions(ini_path, versions_dict)
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}")
print(f" Success: {success_count}/{len(entries)}") print(f" Success: {success_count}/{len(entries)}")
if failure_count > 0: if failure_count > 0:
print(f" Failed: {failure_count}/{len(entries)}") print(f" Failed: {failure_count}/{len(entries)}")
for failed in failed_entries: for failed in failed_entries:
print(f" - {failed}") print(f" - {failed}")
return { return {
'category': category, 'category': category,
'total': len(entries), 'total': len(entries),
@@ -215,70 +201,41 @@ def generate_release_ini(category: str, entries: List[Dict[str, Any]], output_pa
'failed_entries': failed_entries 'failed_entries': failed_entries
} }
def main(): def main():
"""Main function.""" """Main function."""
base_path = Path(__file__).parent base_path = Path(__file__).parent
include_path = base_path / "include" include_path = base_path / "include"
print("GitHub / Gitea update main INI section versions")
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:
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) print("=" * 50)
all_results: List[Dict[str, Any]] = []
# Track all results for final summary for category, rel_path in [
all_results = [] ('sysmodules', 'sysmodules/sysmodules.ini'),
('overlays', 'overlays/overlays.ini'),
# Process sysmodules ('apps', 'apps/apps.ini'),
sysmodules_path = include_path / "sysmodules" / "sysmodules.ini" ('emulation', 'emulation/emulation.ini'),
if sysmodules_path.exists(): ]:
entries = parse_ini_file(sysmodules_path) ini_path = include_path / rel_path
if entries: if ini_path.exists():
output_path = include_path / "sysmodules" / "RELEASE_SM.ini" result = fetch_versions_and_update_ini(category, ini_path)
result = generate_release_ini('sysmodules', entries, output_path) if result:
all_results.append(result) 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
print("\n" + "=" * 50) print("\n" + "=" * 50)
print("FINAL SUMMARY") print("FINAL SUMMARY")
print("=" * 50) print("=" * 50)
total_entries = sum(r['total'] for r in all_results) total_entries = sum(r['total'] for r in all_results)
total_success = sum(r['success'] 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) total_failed = sum(r['failed'] for r in all_results)
print(f"Total entries processed: {total_entries}") 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") if total_entries > 0:
print(f"Failed: {total_failed} ({total_failed/total_entries*100:.1f}%)" if total_entries > 0 else "Failed: 0") print(f"Successfully fetched: {total_success} ({total_success/total_entries*100:.1f}%)")
print(f"Failed: {total_failed} ({total_failed/total_entries*100:.1f}%)")
# List all failed entries by category else:
print("Successfully fetched: 0")
if total_failed > 0: if total_failed > 0:
print("\nFailed entries by category:") print("\nFailed entries by category:")
for result in all_results: for result in all_results:
@@ -286,10 +243,8 @@ def main():
print(f" {result['category']}:") print(f" {result['category']}:")
for failed in result['failed_entries']: for failed in result['failed_entries']:
print(f" - {failed}") print(f" - {failed}")
print("\n" + "=" * 50) print("\n" + "=" * 50)
print("Done!") print("Done!")
if __name__ == "__main__": if __name__ == "__main__":
main() main()

View File

@@ -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=849
DBI_EN=849
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

View File

@@ -1,6 +1,6 @@
[Homebrew Apps] [Homebrew Apps]
[aio-switch-updater] [aio-switch-updater - 2.23.3]
try: try:
download https://api.github.com/repos/HamletDuFromage/aio-switch-updater/releases?per_page=1 /config/ultrahand/downloads/aio-switch-updater-api.json 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 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/ mv /config/ultrahand/downloads/aio-switch-updater.nro /switch/aio-switch-updater/
delete /config/ultrahand/downloads/aio-switch-updater-api.json delete /config/ultrahand/downloads/aio-switch-updater-api.json
[Amiibo Generator] [Amiibo Generator - 2.2.1]
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
json_file /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/ mv /config/ultrahand/downloads/amiibo-generator.nro /switch/AmiiboGenerator/
delete /config/ultrahand/downloads/amiibo-generator-api.json delete /config/ultrahand/downloads/amiibo-generator-api.json
[Amiigo] [Amiigo - 2.4.1]
try: try:
download https://api.github.com/repos/CompSciOrBust/Amiigo/releases?per_page=1 /config/ultrahand/downloads/amiigo-api.json 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 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/ mv /config/ultrahand/downloads/amiigo.nro /switch/Amiigo/
delete /config/ultrahand/downloads/amiigo-api.json delete /config/ultrahand/downloads/amiigo-api.json
[Chiaki_NG] [Chiaki_NG - release-af569df]
try: try:
download https://api.github.com/repos/streetpea/chiaki-ng/releases?per_page=1 /config/ultrahand/downloads/chiaki-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/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/ mv /config/ultrahand/downloads/chiaki.nro /switch/Chiaki/
delete /config/ultrahand/downloads/chiaki-api.json delete /config/ultrahand/downloads/chiaki-api.json
[DBI_DE] [DBI_DE - 874]
try: try:
download https://git.niklascfw.de/api/v1/repos/OmniNX/DBI_DE/releases?limit=1 /config/ultrahand/downloads/dbi-api.json 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 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-api.json
delete /config/ultrahand/downloads/dbi.zip delete /config/ultrahand/downloads/dbi.zip
[DBI_EN] [DBI_EN - 874]
try: try:
download https://git.niklascfw.de/api/v1/repos/OmniNX/DBI_EN/releases?limit=1 /config/ultrahand/downloads/dbi-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/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-api.json
delete /config/ultrahand/downloads/dbi.zip delete /config/ultrahand/downloads/dbi.zip
[DNS_mitm Tester] [DNS_mitm Tester - 1.0.4]
try: try:
download https://api.github.com/repos/meganukebmp/Switch_90DNS_tester/releases?per_page=1 /config/ultrahand/downloads/dns-tester-api.json 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 json_file /config/ultrahand/downloads/dns-tester-api.json
@@ -58,24 +58,27 @@ 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] [emuiibo - 1.1.2]
try: try:
download https://api.github.com/repos/XorTroll/emuiibo/releases?per_page=1 /config/ultrahand/downloads/emuiibo-api.json 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 json_file /config/ultrahand/downloads/emuiibo-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/emuiibo.nro download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/emuiibo.zip
mv /config/ultrahand/downloads/emuiibo.nro /switch/emuiibo/ unzip /config/ultrahand/downloads/emuiibo.zip /config/ultrahand/downloads
mv /config/ultrahand/downloads/SdOut/* /
delete /config/ultrahand/downloads/emuiibo.zip
delete /config/ultrahand/downloads/SdOut/
delete /config/ultrahand/downloads/emuiibo-api.json delete /config/ultrahand/downloads/emuiibo-api.json
[Goldleaf] [Goldleaf - 1.2.0]
try: try:
download https://api.github.com/repos/XorTroll/Goldleaf/releases?per_page=1 /config/ultrahand/downloads/goldleaf-api.json 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 json_file /config/ultrahand/downloads/goldleaf-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/goldleaf.zip download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/goldleaf.nro
unzip /config/ultrahand/downloads/goldleaf.zip / mv /config/ultrahand/downloads/goldleaf.nro /switch/Goldleaf/
delete /config/ultrahand/downloads/goldleaf.nro
delete /config/ultrahand/downloads/goldleaf-api.json delete /config/ultrahand/downloads/goldleaf-api.json
delete /config/ultrahand/downloads/goldleaf.zip
[Hekate-Toolbox] [Hekate-Toolbox - 4.0.4]
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
json_file /config/ultrahand/downloads/hekate-toolbox-api.json json_file /config/ultrahand/downloads/hekate-toolbox-api.json
@@ -83,7 +86,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/hekate-toolbox.nro /switch/Hekate-Toolbox/ mv /config/ultrahand/downloads/hekate-toolbox.nro /switch/Hekate-Toolbox/
delete /config/ultrahand/downloads/hekate-toolbox-api.json delete /config/ultrahand/downloads/hekate-toolbox-api.json
[JKSV] [JKSV - 12/02/2025]
try: try:
download https://api.github.com/repos/J-D-K/JKSV/releases?per_page=1 /config/ultrahand/downloads/jksv-api.json 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 json_file /config/ultrahand/downloads/jksv-api.json
@@ -91,15 +94,16 @@ 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] [linkalho - 2.0.2]
try: try:
download https://api.github.com/repos/impeeza/linkalho/releases?per_page=1 /config/ultrahand/downloads/linkalho-api.json 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 json_file /config/ultrahand/downloads/linkalho-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/linkalho.nro download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/linkalho.zip
mv /config/ultrahand/downloads/linkalho.nro /switch/linkalho/ unzip /config/ultrahand/downloads/linkalho.zip /
delete /config/ultrahand/downloads/linkalho.zip
delete /config/ultrahand/downloads/linkalho-api.json delete /config/ultrahand/downloads/linkalho-api.json
[Moonlight Switch] [Moonlight Switch - 1.3.4]
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
json_file /config/ultrahand/downloads/moonlight-api.json json_file /config/ultrahand/downloads/moonlight-api.json
@@ -107,7 +111,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/moonlight.nro /switch/Moonlight Switch/ mv /config/ultrahand/downloads/moonlight.nro /switch/Moonlight Switch/
delete /config/ultrahand/downloads/moonlight-api.json delete /config/ultrahand/downloads/moonlight-api.json
[Neumann] [Neumann - 0.0.31]
try: try:
download https://api.github.com/repos/turtle-insect/Neumann/releases?per_page=1 /config/ultrahand/downloads/neumann-api.json 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 json_file /config/ultrahand/downloads/neumann-api.json
@@ -115,7 +119,7 @@ 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] [nxmp - 0.9.3]
try: try:
download https://api.github.com/repos/proconsule/nxmp/releases?per_page=1 /config/ultrahand/downloads/nxmp-api.json 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 json_file /config/ultrahand/downloads/nxmp-api.json
@@ -123,23 +127,23 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/nxmp.nro /switch/nxmp/ mv /config/ultrahand/downloads/nxmp.nro /switch/nxmp/
delete /config/ultrahand/downloads/nxmp-api.json delete /config/ultrahand/downloads/nxmp-api.json
[NX-Activity-Log] [NX-Activity-Log - 1.5.8]
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/zdm65477730/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 json_file /config/ultrahand/downloads/nx-activity-log-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/nx-activity-log.nro download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/nx-activity-log.nro
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] [NXThemesInstaller - 4.8.3]
try: try:
download https://api.github.com/repos/exelix11/SwitchThemeInjector/releases?per_page=1 /config/ultrahand/downloads/switchthemeinjector-api.json 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 json_file /config/ultrahand/downloads/switchthemeinjector-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/switchthemeinjector.nro download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/switchthemeinjector.nro
mv /config/ultrahand/downloads/switchthemeinjector.nro /switch/NXThemesInstaller/ mv /config/ultrahand/downloads/switchthemeinjector.nro /switch/NXThemesInstaller/NXThemesInstaller.nro
delete /config/ultrahand/downloads/switchthemeinjector-api.json delete /config/ultrahand/downloads/NXThemesInstaller-api.json
[Sphaira] [Sphaira - 1.0.0]
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
json_file /config/ultrahand/downloads/sphaira-api.json json_file /config/ultrahand/downloads/sphaira-api.json
@@ -148,7 +152,7 @@ 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] [switchfin - 0.8.3]
try: try:
download https://api.github.com/repos/dragonflylee/switchfin/releases?per_page=1 /config/ultrahand/downloads/switchfin-api.json 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 json_file /config/ultrahand/downloads/switchfin-api.json
@@ -156,7 +160,7 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/switchfin.nro /switch/switchfin/ mv /config/ultrahand/downloads/switchfin.nro /switch/switchfin/
delete /config/ultrahand/downloads/switchfin-api.json delete /config/ultrahand/downloads/switchfin-api.json
[ThemezerNX] [ThemezerNX - 2.0.3]
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
json_file /config/ultrahand/downloads/themezer-api.json json_file /config/ultrahand/downloads/themezer-api.json
@@ -165,7 +169,7 @@ 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
[Tinwoo] [Tinwoo - 1.0.28]
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
json_file /config/ultrahand/downloads/tinwoo-api.json json_file /config/ultrahand/downloads/tinwoo-api.json
@@ -191,4 +195,4 @@ delete '/config/ultrahand/downloads/YouTube_Patched.zip'
[gap] [gap]
;mode=table ;mode=table
;background=false ;background=false
;gap=30 ;gap=30

View File

@@ -1,48 +1,2 @@
[boot] [boot]
set-ini-val ./include/apps/config.ini 'Amiibo Generator' 'footer' '' download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/apps/apps.ini '/switch/.packages/OmniNX Downloader/include/apps/apps.ini'
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)}'

View File

@@ -1,4 +0,0 @@
[Versions]
melonDS=7.2.1
PPSSPP-NX=1.19.3

View File

@@ -1,8 +1,2 @@
[boot] [boot]
set-ini-val ./include/emulation/config.ini melonDS 'footer' '' download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/emulation/emulation.ini '/switch/.packages/OmniNX Downloader/include/emulation/emulation.ini'
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)}'

View File

@@ -1,5 +1,3 @@
;show_widget=true
[Emulatoren] [Emulatoren]
@@ -9,7 +7,7 @@ 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'
[melonDS] [melonDS - 7.2.1]
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
json_file /config/ultrahand/downloads/melonds-api.json json_file /config/ultrahand/downloads/melonds-api.json
@@ -17,7 +15,16 @@ download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/download
mv /config/ultrahand/downloads/melonds.nro /switch/melonDS/ mv /config/ultrahand/downloads/melonds.nro /switch/melonDS/
delete /config/ultrahand/downloads/melonds-api.json delete /config/ultrahand/downloads/melonds-api.json
[PPSSPP-NX] [mGBA - 0.10.5]
try:
download https://git.niklascfw.de/api/v1/repos/omninx/mGBA/releases?limit=1 /config/ultrahand/downloads/mgba-api.json
json_file /config/ultrahand/downloads/mgba-api.json
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/mgba.zip
unzip '/config/ultrahand/downloads/mgba.zip' /
delete /config/ultrahand/downloads/mgba-api.json
delete /config/ultrahand/downloads/mgba.zip
[PPSSPP-NX - 1.19.3]
try: try:
download https://git.niklascfw.de/api/v1/repos/OmniNX/PPSSPP-NX/releases?limit=1 /config/ultrahand/downloads/ppsspp-nx-api.json 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 json_file /config/ultrahand/downloads/ppsspp-nx-api.json

View File

@@ -27,7 +27,7 @@ download 'https://cdn.niklascfw.de/switch/pack/inis/Ubuntu_Jammy.ini' '/bootload
[Ubuntu_Noble.ini - SD] [Ubuntu_Noble.ini - SD]
try: try:
download 'https://cdn.niklascfw.de/switch/pack/inis/Ubuntu_Jammy_eMMC.ini' '/bootloader/ini/' download 'https://cdn.niklascfw.de/switch/pack/inis/Ubuntu_Noble.ini' '/bootloader/ini/'
[Stock_CFW.ini - SysMMC] [Stock_CFW.ini - SysMMC]
try: try:

View File

@@ -1,5 +1,3 @@
;show_widget=true
[Betriebssysteme] [Betriebssysteme]
[*Android] [*Android]

View File

@@ -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

View File

@@ -1,26 +1,2 @@
[boot] [boot]
set-ini-val ./include/overlays/config.ini DNS-MITM_Manager 'footer' '' download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/overlays/overlays.ini '/switch/.packages/OmniNX Downloader/include/overlays/overlays.ini'
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)}'

View File

@@ -1,6 +1,6 @@
[UltraHand Overlays] [UltraHand Overlays]
[DNS-MITM_Manager] [DNS-MITM_Manager - 0.2.0]
try: try:
download https://api.github.com/repos/sthetix/DNS-MITM_Manager/releases?per_page=1 /config/ultrahand/downloads/dns-mitm-api.json 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 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-api.json
delete /config/ultrahand/downloads/dns-mitm.zip delete /config/ultrahand/downloads/dns-mitm.zip
[EdiZon-Overlay] [EdiZon-Overlay - 1.0.14]
try: try:
download https://api.github.com/repos/proferabg/EdiZon-Overlay/releases?per_page=1 /config/ultrahand/downloads/edizon-api.json 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 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/ move /config/ultrahand/downloads/edizon.ovl /switch/.overlays/
delete /config/ultrahand/downloads/edizon-api.json delete /config/ultrahand/downloads/edizon-api.json
[FPSLocker] [FPSLocker - 3.3.1]
try: try:
download https://api.github.com/repos/masagrator/FPSLocker/releases?per_page=1 /config/ultrahand/downloads/fpslocker-api.json 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 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/ move /config/ultrahand/downloads/fpslocker.ovl /switch/.overlays/
delete /config/ultrahand/downloads/fpslocker-api.json delete /config/ultrahand/downloads/fpslocker-api.json
[Fizeau] [Fizeau - 2.8.2]
try: try:
download https://api.github.com/repos/averne/Fizeau/releases?per_page=1 /config/ultrahand/downloads/fizeau-api.json 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 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-api.json
delete /config/ultrahand/downloads/fizeau.zip delete /config/ultrahand/downloads/fizeau.zip
[NXFanControl+] [NXFanControl+ - 1.0.5+]
try: try:
download https://api.github.com/repos/dominatorul/NX-FanControl/releases?per_page=1 /config/ultrahand/downloads/nxfancontrol-api.json 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 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-api.json
delete /config/ultrahand/downloads/nxfancontrol.zip delete /config/ultrahand/downloads/nxfancontrol.zip
[QuickNTP] [QuickNTP - 1.6.0]
try: try:
download https://api.github.com/repos/nedex/QuickNTP/releases?per_page=1 /config/ultrahand/downloads/quickntp-api.json 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 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-api.json
delete /config/ultrahand/downloads/quickntp.zip delete /config/ultrahand/downloads/quickntp.zip
[ReverseNX-RT] [ReverseNX-RT - 2.2.1]
try: try:
download https://api.github.com/repos/masagrator/ReverseNX-RT/releases?per_page=1 /config/ultrahand/downloads/reversenx-api.json 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 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/ move /config/ultrahand/downloads/reversenx.ovl /switch/.overlays/
delete /config/ultrahand/downloads/reversenx-api.json delete /config/ultrahand/downloads/reversenx-api.json
[Status-Monitor-Overlay] [Status-Monitor-Overlay - 1.3.2+r6]
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/Status-Monitor-Overlay/releases?per_page=1 /config/ultrahand/downloads/status-monitor-api.json
json_file /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/ move /config/ultrahand/downloads/status-monitor.ovl /switch/.overlays/
delete /config/ultrahand/downloads/status-monitor-api.json delete /config/ultrahand/downloads/status-monitor-api.json
[Sys-Clk] [Sys-Clk - 2.0.1+r21]
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/ppkantorski/sys-clk/releases?per_page=1 /config/ultrahand/downloads/sys-clk-api.json
json_file /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/ move /config/ultrahand/downloads/sys-clk.ovl /switch/.overlays/
delete /config/ultrahand/downloads/sys-clk-api.json delete /config/ultrahand/downloads/sys-clk-api.json
[SysDVR] [SysDVR - 1.0.15]
try: try:
download https://api.github.com/repos/zdm65477730/sysdvr-overlay/releases?per_page=1 /config/ultrahand/downloads/sysdvr-api.json 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 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-api.json
delete /config/ultrahand/downloads/sysdvr.zip delete /config/ultrahand/downloads/sysdvr.zip
[Sysmodules] [Sysmodules - 1.4.7]
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/ovl-sysmodules/releases?per_page=1 /config/ultrahand/downloads/sysmodules-ovl-api.json
json_file /config/ultrahand/downloads/sysmodules-ovl-api.json json_file /config/ultrahand/downloads/sysmodules-ovl-api.json

View File

@@ -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

View File

@@ -1,36 +1,2 @@
[boot] [boot]
set-ini-val ./include/sysmodules/config.ini ldn-mitm 'footer' '' download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/sysmodules/sysmodules.ini '/switch/.packages/OmniNX Downloader/include/sysmodules/sysmodules.ini'
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)}'

View File

@@ -1,6 +1,6 @@
[System Module] [System Module]
[Alchemist] [Alchemist - 1.0.5]
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
json_file /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-api.json
delete /config/ultrahand/downloads/alchemist.zip delete /config/ultrahand/downloads/alchemist.zip
[EdiZon-Overlay] [EdiZon-Overlay - 1.0.15]
try: try:
download https://api.github.com/repos/Arch9SK7/EdiZon-Overlay/releases?per_page=1 /config/ultrahand/downloads/edizon-overlay-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/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/ mv /config/ultrahand/downloads/edizon-overlay.ovl /switch/.overlays/
delete /config/ultrahand/downloads/edizon-overlay-api.json delete /config/ultrahand/downloads/edizon-overlay-api.json
[Fizeau] [Fizeau - 2.8.2+r2]
try: try:
download https://api.github.com/repos/ppkantorski/Fizeau/releases?per_page=1 /config/ultrahand/downloads/fizeau-api.json 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 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/ mv /config/ultrahand/downloads/fizeau.ovl /switch/.overlays/
delete /config/ultrahand/downloads/fizeau-api.json delete /config/ultrahand/downloads/fizeau-api.json
[FPSLocker] [FPSLocker - 3.3.1+]
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
json_file /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/ mv /config/ultrahand/downloads/fpslocker.ovl /switch/.overlays/
delete /config/ultrahand/downloads/fpslocker-api.json delete /config/ultrahand/downloads/fpslocker-api.json
[ldn-mitm] [ldn-mitm - 1.20.2]
try: try:
download https://api.github.com/repos/DefenderOfHyrule/ldn_mitm/releases?per_page=1 /config/ultrahand/downloads/ldn-mitm-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/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-api.json
delete /config/ultrahand/downloads/ldn-mitm.zip delete /config/ultrahand/downloads/ldn-mitm.zip
[Memory-Kit] [Memory-Kit - 1.0.0]
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/ppkantorski/Memory-Kit/releases?per_page=1 /config/ultrahand/downloads/memory-kit-api.json
json_file /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-api.json
delete /config/ultrahand/downloads/memory-kit.zip delete /config/ultrahand/downloads/memory-kit.zip
[MissionControl] [MissionControl - 0.14.2]
try: try:
download https://api.github.com/repos/ndeadly/MissionControl/releases?per_page=1 /config/ultrahand/downloads/missioncontrol-api.json 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 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-api.json
delete /config/ultrahand/downloads/missioncontrol.zip delete /config/ultrahand/downloads/missioncontrol.zip
[NX-FanControl] [NX-FanControl - 1.0.3]
try: try:
download https://api.github.com/repos/auggeythecat/NX-FanControl-recomp/releases?per_page=1 /config/ultrahand/downloads/nx-fancontrol-api.json 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 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-api.json
delete /config/ultrahand/downloads/nx-fancontrol.zip delete /config/ultrahand/downloads/nx-fancontrol.zip
[ovl-sysmodules] [ovl-sysmodules - 1.4.7]
try: try:
download https://api.github.com/repos/ppkantorski/ovl-sysmodules/releases?per_page=1 /config/ultrahand/downloads/ovl-sysmodules-api.json 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 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/ mv /config/ultrahand/downloads/ovl-sysmodules.ovl /switch/.overlays/
delete /config/ultrahand/downloads/ovl-sysmodules-api.json delete /config/ultrahand/downloads/ovl-sysmodules-api.json
[QuickNTP] [QuickNTP - 1.6.0+r2]
try: try:
download https://api.github.com/repos/ppkantorski/QuickNTP/releases?per_page=1 /config/ultrahand/downloads/quickntp-api.json 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 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/ mv /config/ultrahand/downloads/quickntp.ovl /switch/.overlays/
delete /config/ultrahand/downloads/quickntp-api.json delete /config/ultrahand/downloads/quickntp-api.json
[SaltyNX] [SaltyNX - 1.7.4]
try: try:
download https://api.github.com/repos/masagrator/SaltyNX/releases?per_page=1 /config/ultrahand/downloads/saltynx-api.json 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 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-api.json
delete /config/ultrahand/downloads/saltynx.zip delete /config/ultrahand/downloads/saltynx.zip
[Status-Monitor-Overlay] [Status-Monitor-Overlay - 1.3.2+r6]
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/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 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/ mv /config/ultrahand/downloads/status-monitor-overlay.ovl /switch/.overlays/
delete /config/ultrahand/downloads/status-monitor-overlay-api.json delete /config/ultrahand/downloads/status-monitor-overlay-api.json
[sys-botbase] [sys-botbase - 2.41]
try: try:
download https://api.github.com/repos/olliz0r/sys-botbase/releases?per_page=1 /config/ultrahand/downloads/sys-botbase-api.json 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 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-api.json
delete /config/ultrahand/downloads/sys-botbase.zip delete /config/ultrahand/downloads/sys-botbase.zip
[sys-clk] [sys-clk - 2.0.1+r21]
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/ppkantorski/sys-clk/releases?per_page=1 /config/ultrahand/downloads/sys-clk-api.json
json_file /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-api.json
delete /config/ultrahand/downloads/sys-clk.zip delete /config/ultrahand/downloads/sys-clk.zip
[sys-patch] [sys-patch - 1.5.9]
try: try:
download https://api.github.com/repos/impeeza/sys-patch/releases?per_page=1 /config/ultrahand/downloads/sys-patch-api.json 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 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-api.json
delete /config/ultrahand/downloads/sys-patch.zip delete /config/ultrahand/downloads/sys-patch.zip
[TriPlayer] [TriPlayer - 2.2.6]
try: try:
download https://api.github.com/repos/DefenderOfHyrule/TriPlayer/releases?per_page=1 /config/ultrahand/downloads/triplayer-api.json 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 json_file /config/ultrahand/downloads/triplayer-api.json

View File

@@ -1,2 +1,2 @@
[OmniNX Downloader] [Current]
version=1.0.0 omninx_downloader=1.0.0-b2

View File

@@ -1,3 +1,4 @@
[Release Info] [Release Info]
pack_version=1.0.0 omninx_pack=1.0.0-b5
omninx_downloader=1.0.0-b2
firmware_version=21.2.0 firmware_version=21.2.0

View File

@@ -2,32 +2,32 @@
make /config/omninx/manifest.ini make /config/omninx/manifest.ini
set-ini-val ./include/updater/config.ini 'OmniNX' footer '' set-ini-val ./include/updater/config.ini 'OmniNX' footer ''
set-ini-val ./include/updater/config.ini 'Switch Firmware' footer '' set-ini-val ./include/updater/config.ini 'Switch Firmware' footer ''
set-ini-val ./include/updater/config.ini 'Omni Downloader' footer '' set-ini-val ./include/updater/config.ini 'OmniNX Downloader' footer ''
try: try:
download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/updater/RELEASE.ini ./include/updater/RELEASE.ini 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 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 ini_file /config/omninx/manifest.ini
json '{"null":"true","{ini_file(OmniNX,version)}":"false"}' json '{"null":"true","{ini_file(OmniNX,version)}":"false"}'
ini_file ./include/updater/RELEASE.ini 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)}' set-ini-val ./include/updater/config.ini 'Switch Firmware' footer '{ini_file(Release Info,firmware_version)}'
json '{"null":"true","{hos_version}":"false"}' 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 '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 'OmniNX Downloader' footer '{ini_file(Release Info,omninx_downloader)}'
ini_file ./include/updater/CURRENT.ini 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 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 'OmniNX Downloader' footer_highlight '{json({ini_file(Release Info,omninx_downloader)})}'
ini_file /config/omninx/manifest.ini ini_file /config/omninx/manifest.ini
json '{"null":"notify","{ini_file(OmniNX,version)}":""}' json '{"null":"notify","{ini_file(OmniNX,version)}":""}'
ini_file ./include/updater/RELEASE.ini 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 ini_file ./include/updater/RELEASE.ini
json '{"null":"notify","{hos_version}":""}' json '{"null":"notify","{hos_version}":""}'

View File

@@ -2,7 +2,6 @@
;creator=Woody2408, NiklasCFW ;creator=Woody2408, NiklasCFW
;version=1.0.0 ;version=1.0.0
;about='OmniNX Updater' ;about='OmniNX Updater'
;show_widget=true
[@CFW Pack] [@CFW Pack]
@@ -68,9 +67,9 @@ notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
;background=true ;background=true
;gap=20 ;gap=20
ini_file './CURRENT.ini' ini_file './CURRENT.ini'
'Zurzeit installiert' = '{ini_file(OmniNX Downloader,version)}' 'Zurzeit installiert' = '{ini_file(Current,omninx_downloader)}'
[Omni Downloader] [OmniNX Downloader]
try: try:
download https://git.niklascfw.de/api/v1/repos/OmniNX/OmniNX-Downloader/releases?limit=1 /config/ultrahand/downloads/omni-downloader-api.json download https://git.niklascfw.de/api/v1/repos/OmniNX/OmniNX-Downloader/releases?limit=1 /config/ultrahand/downloads/omni-downloader-api.json
json_file /config/ultrahand/downloads/omni-downloader-api.json json_file /config/ultrahand/downloads/omni-downloader-api.json