Compare commits
164 Commits
72aa9f54e9
...
nightly
| Author | SHA1 | Date | |
|---|---|---|---|
| 2a163a98d4 | |||
| 1917066ca4 | |||
|
|
e6039aa713 | ||
| 53d6f5b683 | |||
|
|
7a8e007813 | ||
|
|
a078855fbb | ||
|
|
dbaef148bf | ||
|
|
e2acb210b6 | ||
|
|
e028ec0824 | ||
| a6260ee881 | |||
|
|
6a0c94a51a | ||
|
|
d51640f06c | ||
|
|
85b546b5b0 | ||
|
|
1bf72c7714 | ||
|
|
e55c28ba18 | ||
|
|
92bc14f706 | ||
|
|
53ea433a19 | ||
|
|
52d5b8c5e0 | ||
|
|
9f9bf36cb5 | ||
|
|
e7dbafc5c1 | ||
| b0e788851b | |||
|
|
f7655145d2 | ||
|
|
f33e432b0b | ||
| 7ef148c950 | |||
|
|
8b16a203be | ||
|
|
bf3469b7fb | ||
|
|
da8ac082ee | ||
|
|
1d4f7b3a30 | ||
|
|
879e6d8465 | ||
|
|
e8ad58bedb | ||
|
|
7a13af1e2b | ||
|
|
2a31576ffb | ||
| d813ed46fd | |||
| e936c6897f | |||
|
|
d0bfac921b | ||
| dc8ec20b34 | |||
| 454e31395d | |||
| 01552a3311 | |||
|
|
045d493d57 | ||
| 9cf2229446 | |||
|
|
7c3583be96 | ||
|
|
e6a2864e1a | ||
|
|
b8a0b66e34 | ||
|
|
87eb5342f5 | ||
| 98c9d48236 | |||
| e5af38391c | |||
| 3723320386 | |||
| 411a1310eb | |||
| 3616624bea | |||
|
|
f6f9acebdb | ||
|
|
424cd49cb9 | ||
|
|
a51141dc5d | ||
|
|
f46c28d08b | ||
| 82eedf1b91 | |||
| a02725f860 | |||
| f55080e1ee | |||
| c69631b209 | |||
| fbcddb36df | |||
| 6305d4c6bc | |||
|
|
0dea13e3b0 | ||
|
|
c47807d93b | ||
|
|
b2c1830e56 | ||
|
|
91ea312786 | ||
|
|
f5f03c5d9f | ||
|
|
0d28d6bb27 | ||
| f50d23bd57 | |||
| a3fc37077e | |||
|
|
5f00a8c611 | ||
|
|
89fbc708ab | ||
|
|
cac1d31bdc | ||
|
|
ad780d1c0c | ||
|
|
077411b1bd | ||
|
|
33ee5f13a1 | ||
| 5c1b8e1025 | |||
|
|
cf11dfb1f3 | ||
|
|
0504fe4561 | ||
|
|
b13716a05d | ||
| 3cb19b6162 | |||
|
|
482cd0cc9e | ||
|
|
b5b25d4e22 | ||
| 639cfb3b95 | |||
| e418e4d390 | |||
|
|
7db73a15eb | ||
|
|
82694657ac | ||
| b510f54205 | |||
| ca03237fc8 | |||
|
|
fc348d53be | ||
|
|
00c6707104 | ||
|
|
498b4f2087 | ||
| 7002becb7f | |||
|
|
73bdfb37d1 | ||
|
|
19a51c802c | ||
| e69f16cab7 | |||
| e9188cfbd7 | |||
| 812e7775f7 | |||
| 1232086981 | |||
| e19195befa | |||
| b9fb40bf96 | |||
| d1bf59b33b | |||
| bd096c8809 | |||
| ee7fd5d4fd | |||
|
|
f367e1809b | ||
| 34fd8c70fd | |||
| 1b3c80d3eb | |||
| 8ca42f98e1 | |||
| 4f4a33fd08 | |||
| 0df78ce06a | |||
|
|
78e06eaf72 | ||
| 2baf6e0c2e | |||
| 9b0bbf3e28 | |||
|
|
34bf62e855 | ||
| d0da4ef0dd | |||
|
|
eaba1e8011 | ||
| 5e70dedf49 | |||
|
|
1911f37dfb | ||
| 9ea5dde880 | |||
|
|
d175e6de26 | ||
|
|
a533edc2ba | ||
|
|
3e6d324979 | ||
| 7619b6c886 | |||
|
|
1bbf038ad4 | ||
|
|
ee359257e8 | ||
| 0e3a114657 | |||
|
|
759a542be8 | ||
|
|
6f160a3527 | ||
|
|
5164af3178 | ||
|
|
84abfb3a32 | ||
|
|
234668ea2c | ||
|
|
085e9810dd | ||
|
|
d47a640108 | ||
|
|
44711ff6f4 | ||
|
|
f0cd2b79a8 | ||
|
|
7f6b118078 | ||
| 1cf3dda353 | |||
|
|
5110828131 | ||
|
|
be5c83453f | ||
| f9806e1561 | |||
| 8414885659 | |||
|
|
01d2bf46fc | ||
|
|
3ac1b6a3a8 | ||
| 5da087b391 | |||
| 170759c063 | |||
|
|
7984a41bda | ||
| 3a69140bd3 | |||
|
|
5e03eb3455 | ||
|
|
fa4dd6f4de | ||
| 3aa1cd1b11 | |||
| 5229fa8274 | |||
| 1a7d03cb19 | |||
| 6c58601db8 | |||
| f37cb9e23a | |||
| effe5c2dac | |||
|
|
a643c9ca40 | ||
| 2f84cf11ea | |||
| 69d3107c26 | |||
| 6894ba4601 | |||
| 90002e2273 | |||
| 650eebdc3a | |||
| 7dfdfa0462 | |||
| 7995cc5d94 | |||
| d695f43a22 | |||
| 6409e06f1b | |||
| 2273195dec | |||
|
|
d1bf5997ce |
214
.github/workflows/build-and-release.yml
vendored
214
.github/workflows/build-and-release.yml
vendored
@@ -1,139 +1,111 @@
|
||||
name: Build and Release
|
||||
|
||||
on:
|
||||
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
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
# Midnight UTC every day (Actions cron is UTC). For local midnight, shift hours, e.g. 22:00 UTC ≈ midnight CET (winter).
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
concurrency:
|
||||
group: nightly-release-${{ github.repository }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build-and-release:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
||||
permissions:
|
||||
contents: write # Required to create releases
|
||||
|
||||
contents: write
|
||||
|
||||
steps:
|
||||
# Clone from Gitea (this runner cannot reach github.com for actions/checkout@v4)
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Set up Make
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
cd "${GITHUB_WORKSPACE}"
|
||||
SERVER="${{ github.server_url }}"
|
||||
REPO="${{ github.repository }}"
|
||||
SHA="${{ github.sha }}"
|
||||
HOST="${SERVER#*://}"
|
||||
HOST="${HOST%%/*}"
|
||||
if [ -n "${GITHUB_TOKEN:-}" ]; then
|
||||
URL="https://oauth2:${GITHUB_TOKEN}@${HOST}/${REPO}.git"
|
||||
else
|
||||
URL="${SERVER}/${REPO}.git"
|
||||
fi
|
||||
git init
|
||||
git remote add origin "$URL"
|
||||
git fetch --depth 1 origin "$SHA"
|
||||
git checkout --force FETCH_HEAD
|
||||
|
||||
- name: Set up build tools
|
||||
run: |
|
||||
# Make is pre-installed on Ubuntu, but ensure zip is available
|
||||
sudo apt-get update
|
||||
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
|
||||
run: make zip
|
||||
|
||||
- name: Get version from tag or use default
|
||||
id: get_version
|
||||
run: |
|
||||
if [ "${{ inputs.hotfix }}" = "true" ]; then
|
||||
echo "mode=hotfix" >> $GITHUB_OUTPUT
|
||||
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)"
|
||||
|
||||
# Gitea has no `gh` CLI; use REST API (same host as checkout).
|
||||
- name: Nightly release (single tag, updated in place)
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Delete existing asset if hotfix
|
||||
if: steps.get_version.outputs.hotfix == 'true'
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
SERVER_URL: ${{ github.server_url }}
|
||||
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"
|
||||
set -euo pipefail
|
||||
TAG=nightly
|
||||
ZIP="./output/OmniNX Downloader.zip"
|
||||
FULL="${{ github.repository }}"
|
||||
OWNER="${FULL%%/*}"
|
||||
REPO_NAME="${FULL#*/}"
|
||||
SHA="${{ github.sha }}"
|
||||
REF="${{ github.ref_name }}"
|
||||
API="${SERVER_URL%/}/api/v1"
|
||||
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git tag -f "$TAG"
|
||||
git push origin "refs/tags/$TAG" --force
|
||||
|
||||
NOTES="Single nightly build artifact (updated on schedule or manual run).
|
||||
|
||||
**Commit:** \`${SHA}\`
|
||||
**Branch:** \`${REF}\`
|
||||
**Built:** $(date -u '+%Y-%m-%d %H:%M:%S UTC')"
|
||||
|
||||
AUTH=(-H "Authorization: token ${GITHUB_TOKEN}")
|
||||
|
||||
# Remove existing release so we can recreate with a fresh attachment (Gitea has no clobber).
|
||||
HTTP_CODE=$(curl -sS -o /tmp/gitea_rel.json -w "%{http_code}" "${AUTH[@]}" \
|
||||
"${API}/repos/${OWNER}/${REPO_NAME}/releases/tags/${TAG}")
|
||||
if [ "$HTTP_CODE" = "200" ]; then
|
||||
RID=$(python3 -c "import json; print(json.load(open('/tmp/gitea_rel.json'))['id'])")
|
||||
curl -sS -X DELETE "${AUTH[@]}" \
|
||||
"${API}/repos/${OWNER}/${REPO_NAME}/releases/${RID}"
|
||||
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
|
||||
with:
|
||||
tag_name: ${{ steps.release_info.outputs.release_tag }}
|
||||
name: ${{ steps.release_info.outputs.release_name }}
|
||||
body: ${{ steps.release_info.outputs.release_body }}
|
||||
draft: false
|
||||
prerelease: ${{ steps.release_info.outputs.is_prerelease == 'true' }}
|
||||
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 }}
|
||||
|
||||
export NOTES TAG
|
||||
JSON_BODY=$(python3 <<'PY'
|
||||
import json, os
|
||||
print(json.dumps({
|
||||
"tag_name": os.environ["TAG"],
|
||||
"name": "Nightly",
|
||||
"body": os.environ["NOTES"],
|
||||
"draft": False,
|
||||
"prerelease": True,
|
||||
}))
|
||||
PY
|
||||
)
|
||||
curl -sS -f -X POST "${AUTH[@]}" -H "Content-Type: application/json" \
|
||||
-d "$JSON_BODY" \
|
||||
"${API}/repos/${OWNER}/${REPO_NAME}/releases" | tee /tmp/gitea_create.json
|
||||
|
||||
RID=$(python3 -c "import json; print(json.load(open('/tmp/gitea_create.json'))['id'])")
|
||||
export ASSET_NAME="OmniNX Downloader.zip"
|
||||
QNAME=$(python3 -c "import urllib.parse,os; print(urllib.parse.quote(os.environ['ASSET_NAME']))")
|
||||
|
||||
curl -sS -f -X POST "${AUTH[@]}" \
|
||||
-F "attachment=@${ZIP};filename=${ASSET_NAME}" \
|
||||
"${API}/repos/${OWNER}/${REPO_NAME}/releases/${RID}/assets?name=${QNAME}"
|
||||
|
||||
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,120 @@ 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')
|
||||
# Long canary nightly tags (e.g. canary-2026-04-12-160947) — short label for Ultrahand list UI
|
||||
if re.match(r"^canary-\d{4}-\d{2}-\d{2}", clean, re.IGNORECASE):
|
||||
return "canary"
|
||||
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 +204,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 +246,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=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
|
||||
|
||||
@@ -1,14 +1,23 @@
|
||||
[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
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/aio-switch-updater.nro
|
||||
mv /config/ultrahand/downloads/aio-switch-updater.nro /switch/aio-switch-updater/
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/aio-switch-updater.zip
|
||||
unzip /config/ultrahand/downloads/aio-switch-updater.zip /
|
||||
delete /config/ultrahand/downloads/aio-switch-updater.zip
|
||||
delete /config/ultrahand/downloads/aio-switch-updater-api.json
|
||||
|
||||
[Amiibo Generator]
|
||||
[Akira - 0.6.0-rc.9]
|
||||
try:
|
||||
download https://api.github.com/repos/xlanor/akira/releases?per_page=1 /config/ultrahand/downloads/akira-api.json
|
||||
json_file /config/ultrahand/downloads/akira-api.json
|
||||
download {json_file(0,assets,name=akira.nro,browser_download_url)} /config/ultrahand/downloads/akira.nro
|
||||
mv /config/ultrahand/downloads/akira.nro /switch/Akira/
|
||||
delete /config/ultrahand/downloads/akira-api.json
|
||||
|
||||
[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 +25,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,15 +33,25 @@ 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]
|
||||
[Awoo Installer - 1.3.6]
|
||||
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
|
||||
download {json_file(0,assets,8,browser_download_url)} /config/ultrahand/downloads/chiaki.nro
|
||||
mv /config/ultrahand/downloads/chiaki.nro /switch/Chiaki/
|
||||
delete /config/ultrahand/downloads/chiaki-api.json
|
||||
download https://api.github.com/repos/Huntereb/Awoo-Installer/releases?per_page=1 /config/ultrahand/downloads/awoo-api.json
|
||||
json_file /config/ultrahand/downloads/awoo-api.json
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/Awoo-Installer.zip
|
||||
unzip /config/ultrahand/downloads/Awoo-Installer.zip /
|
||||
delete /config/ultrahand/downloads/Awoo-Installer.zip
|
||||
delete /config/ultrahand/downloads/awoo-api.json
|
||||
|
||||
[DBI_DE]
|
||||
[CyberFoil - 1.4.5]
|
||||
try:
|
||||
download https://api.github.com/repos/luketanti/CyberFoil/releases?per_page=1 /config/ultrahand/downloads/cyberfoil-api.json
|
||||
json_file /config/ultrahand/downloads/cyberfoil-api.json
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/cyberfoil.zip
|
||||
unzip /config/ultrahand/downloads/cyberfoil.zip /
|
||||
delete /config/ultrahand/downloads/cyberfoil.zip
|
||||
delete /config/ultrahand/downloads/cyberfoil-api.json
|
||||
|
||||
[DBI_DE - 874]
|
||||
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 +60,7 @@ unzip /config/ultrahand/downloads/dbi.zip /
|
||||
delete /config/ultrahand/downloads/dbi-api.json
|
||||
delete /config/ultrahand/downloads/dbi.zip
|
||||
|
||||
[DBI_EN]
|
||||
[DBI_EN - 895]
|
||||
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 +69,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.1.0]
|
||||
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,24 +77,27 @@ 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.3]
|
||||
try:
|
||||
download https://api.github.com/repos/XorTroll/emuiibo/releases?per_page=1 /config/ultrahand/downloads/emuiibo-api.json
|
||||
json_file /config/ultrahand/downloads/emuiibo-api.json
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/emuiibo.nro
|
||||
mv /config/ultrahand/downloads/emuiibo.nro /switch/emuiibo/
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/emuiibo.zip
|
||||
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
|
||||
|
||||
[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
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/goldleaf.zip
|
||||
unzip /config/ultrahand/downloads/goldleaf.zip /
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/goldleaf.nro
|
||||
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.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 +105,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,23 +113,24 @@ 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
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/linkalho.nro
|
||||
mv /config/ultrahand/downloads/linkalho.nro /switch/linkalho/
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/linkalho.zip
|
||||
unzip /config/ultrahand/downloads/linkalho.zip /
|
||||
delete /config/ultrahand/downloads/linkalho.zip
|
||||
delete /config/ultrahand/downloads/linkalho-api.json
|
||||
|
||||
[Moonlight Switch]
|
||||
[Moonlight - 1.5.0]
|
||||
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
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/moonlight.nro
|
||||
mv /config/ultrahand/downloads/moonlight.nro /switch/Moonlight Switch/
|
||||
download {json_file(0,assets,2,browser_download_url)} /config/ultrahand/downloads/moonlight.nro
|
||||
mv /config/ultrahand/downloads/moonlight.nro /switch/Moonlight/
|
||||
delete /config/ultrahand/downloads/moonlight-api.json
|
||||
|
||||
[Neumann]
|
||||
[Neumann - 0.0.32]
|
||||
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 +138,15 @@ 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]
|
||||
[NX-Activity-Log - 1.5.8]
|
||||
try:
|
||||
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
|
||||
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/
|
||||
delete /config/ultrahand/downloads/nx-activity-log-api.json
|
||||
|
||||
[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,40 +154,41 @@ 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]
|
||||
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
|
||||
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/
|
||||
delete /config/ultrahand/downloads/nx-activity-log-api.json
|
||||
|
||||
[NXThemesInstaller]
|
||||
[NXThemesInstaller - nxt-3.0]
|
||||
try:
|
||||
download https://api.github.com/repos/exelix11/SwitchThemeInjector/releases?per_page=1 /config/ultrahand/downloads/switchthemeinjector-api.json
|
||||
json_file /config/ultrahand/downloads/switchthemeinjector-api.json
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/switchthemeinjector.nro
|
||||
mv /config/ultrahand/downloads/switchthemeinjector.nro /switch/NXThemesInstaller/
|
||||
download {json_file(0,assets,name=NXThemesInstaller.nro,browser_download_url)} /config/ultrahand/downloads/switchthemeinjector.nro
|
||||
mv /config/ultrahand/downloads/switchthemeinjector.nro /switch/Switch_themes_Installer/NXThemesInstaller.nro
|
||||
delete /themes/systemData/
|
||||
delete /config/ultrahand/downloads/switchthemeinjector-api.json
|
||||
|
||||
[Sphaira]
|
||||
[Prelude - 3.3.2]
|
||||
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/NextendoNetwork/Prelude-Nro/releases?per_page=1 /config/ultrahand/downloads/prelude-api.json
|
||||
json_file /config/ultrahand/downloads/prelude-api.json
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/nextendo.nro
|
||||
mv /config/ultrahand/downloads/nextendo.nro /switch/nextendo.nro
|
||||
delete /config/ultrahand/downloads/prelude-api.json
|
||||
|
||||
[Sphaira - 1.0.6]
|
||||
try:
|
||||
download https://api.github.com/repos/NaGaa95/sphaira/releases?per_page=1 /config/ultrahand/downloads/sphaira-api.json
|
||||
json_file /config/ultrahand/downloads/sphaira-api.json
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/sphaira.zip
|
||||
unzip /config/ultrahand/downloads/sphaira.zip /
|
||||
delete /config/ultrahand/downloads/sphaira-api.json
|
||||
delete /config/ultrahand/downloads/sphaira.zip
|
||||
|
||||
[switchfin]
|
||||
[switchfin - 0.9.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
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/switchfin.nro
|
||||
download {json_file(0,assets,12,browser_download_url)} /config/ultrahand/downloads/switchfin.nro
|
||||
mv /config/ultrahand/downloads/switchfin.nro /switch/switchfin/
|
||||
delete /config/ultrahand/downloads/switchfin-api.json
|
||||
|
||||
[ThemezerNX]
|
||||
[ThemezerNX - 3.2.1]
|
||||
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,21 +197,13 @@ 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]
|
||||
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
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/tinwoo.nro
|
||||
mv /config/ultrahand/downloads/tinwoo.nro /switch/Tinwoo/
|
||||
delete /config/ultrahand/downloads/tinwoo-api.json
|
||||
|
||||
|
||||
[Patched Apps]
|
||||
|
||||
[Crunchyroll Patched]
|
||||
try:
|
||||
download 'https://cdn.niklascfw.de/switch/pack/apps/Crunchyroll_Patched.zip' '/config/ultrahand/downloads/Crunchyroll_Patched.zip'
|
||||
unzip '/config/ultrahand/downloads/Crunchyroll_Patched.zip' '/Patched Apps/'
|
||||
unzip '/config/ultrahand/downloads/Crunchyroll_Patched.zip' /
|
||||
delete '/config/ultrahand/downloads/Crunchyroll_Patched.zip'
|
||||
|
||||
[YouTube Patched]
|
||||
@@ -192,3 +216,18 @@ delete '/config/ultrahand/downloads/YouTube_Patched.zip'
|
||||
;mode=table
|
||||
;background=false
|
||||
;gap=30
|
||||
|
||||
[Install Hinweis]
|
||||
;mode=table
|
||||
;alignment=left
|
||||
;header=false
|
||||
;scrollable=true
|
||||
;wrapping_mode=word
|
||||
;background=true
|
||||
;info_text_color=warning
|
||||
list_file_source './install_hinweis.txt'
|
||||
|
||||
[gap]
|
||||
;mode=table
|
||||
;background=false
|
||||
;gap=30
|
||||
@@ -1,48 +1,2 @@
|
||||
[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)}'
|
||||
download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/apps/apps.ini '/switch/.packages/OmniNX Downloader/include/apps/apps.ini'
|
||||
|
||||
3
include/apps/install_hinweis.txt
Normal file
3
include/apps/install_hinweis.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
Hinweis:
|
||||
- Patched Apps werden nach dem Download in 'sd:/Patched Apps' gespeichert.
|
||||
- .nsp Datei muss danach manuell per Sphaira/DBI installiert werden.
|
||||
@@ -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)}'
|
||||
download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/emulation/emulation.ini '/switch/.packages/OmniNX Downloader/include/emulation/emulation.ini'
|
||||
@@ -1,5 +1,3 @@
|
||||
;show_widget=true
|
||||
|
||||
[Emulatoren]
|
||||
|
||||
|
||||
@@ -9,7 +7,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 +15,16 @@ 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]
|
||||
[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:
|
||||
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
|
||||
@@ -32,3 +39,11 @@ download 'https://cdn.niklascfw.de/switch/pack/apps/RetroArch_1.22.2.zip' '/conf
|
||||
unzip '/config/ultrahand/downloads/RetroArch_1.22.2.zip' '/'
|
||||
delete '/config/ultrahand/downloads/RetroArch_1.22.2.zip'
|
||||
|
||||
[tico - 0.7.9]
|
||||
try:
|
||||
download https://api.github.com/repos/ticohq/tico/releases?per_page=1 /config/ultrahand/downloads/tico-api.json
|
||||
json_file /config/ultrahand/downloads/tico-api.json
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/tico.nro
|
||||
mv /config/ultrahand/downloads/tico.nro /switch/tico/
|
||||
delete /config/ultrahand/downloads/tico-api.json
|
||||
|
||||
|
||||
@@ -27,16 +27,12 @@ download 'https://cdn.niklascfw.de/switch/pack/inis/Ubuntu_Jammy.ini' '/bootload
|
||||
|
||||
[Ubuntu_Noble.ini - SD]
|
||||
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]
|
||||
try:
|
||||
download 'https://cdn.niklascfw.de/switch/pack/inis/Stock_CFW.ini' '/bootloader/ini/'
|
||||
|
||||
[Stock_CFW_8GB.ini - SysMMC]
|
||||
try:
|
||||
download 'https://cdn.niklascfw.de/switch/pack/inis/Stock_CFW_8GB.ini' '/bootloader/ini/'
|
||||
|
||||
[gap]
|
||||
;mode=table
|
||||
;background=false
|
||||
@@ -46,32 +42,26 @@ download 'https://cdn.niklascfw.de/switch/pack/inis/Stock_CFW_8GB.ini' '/bootloa
|
||||
[Android_LineageOS.ini - eMMC]
|
||||
try:
|
||||
download 'https://cdn.niklascfw.de/switch/pack/inis/Android_LineageOS_eMMC.ini' '/bootloader/ini/'
|
||||
delete '/bootloader/ini/Android_LineageOS.ini'
|
||||
|
||||
[CrDroid.ini - eMMC]
|
||||
try:
|
||||
download 'https://cdn.niklascfw.de/switch/pack/inis/CrDroid_eMMC.ini' '/bootloader/ini/'
|
||||
delete '/bootloader/ini/CrDroid.ini'
|
||||
|
||||
[Fedora.ini - eMMC]
|
||||
try:
|
||||
download 'https://cdn.niklascfw.de/switch/pack/inis/Fedora_eMMC.ini' '/bootloader/ini/'
|
||||
delete '/bootloader/ini/Fedora.ini'
|
||||
|
||||
[Ubuntu_Bionic.ini - eMMC]
|
||||
try:
|
||||
download 'https://cdn.niklascfw.de/switch/pack/inis/Ubuntu_Bionic_eMMC.ini' '/bootloader/ini/'
|
||||
delete '/bootloader/ini/Ubuntu_Bionic.ini'
|
||||
|
||||
[Ubuntu_Jammy.ini - eMMC]
|
||||
try:
|
||||
download 'https://cdn.niklascfw.de/switch/pack/inis/Ubuntu_Jammy_eMMC.ini' '/bootloader/ini/'
|
||||
delete '/bootloader/ini/Ubuntu_Jammy.ini'
|
||||
|
||||
[Ubuntu_Noble.ini - eMMC]
|
||||
try:
|
||||
download 'https://cdn.niklascfw.de/switch/pack/inis/Ubuntu_Noble_eMMC.ini' '/bootloader/ini/'
|
||||
delete '/bootloader/ini/Ubuntu_Noble.ini'
|
||||
|
||||
[gap]
|
||||
;mode=table
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
;show_widget=true
|
||||
|
||||
[Betriebssysteme]
|
||||
|
||||
[*Android]
|
||||
|
||||
@@ -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)}'
|
||||
download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/overlays/overlays.ini '/switch/.packages/OmniNX Downloader/include/overlays/overlays.ini'
|
||||
|
||||
@@ -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.15]
|
||||
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.3.2]
|
||||
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.3]
|
||||
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.4.1+r4]
|
||||
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+r28]
|
||||
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.15]
|
||||
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.5.3]
|
||||
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)}'
|
||||
download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/sysmodules/sysmodules.ini '/switch/.packages/OmniNX Downloader/include/sysmodules/sysmodules.ini'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[System Module]
|
||||
|
||||
[Alchemist]
|
||||
[Alchemist - 1.0.6]
|
||||
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+r7]
|
||||
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.3.2+r2]
|
||||
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.21.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.2]
|
||||
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.15.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,15 +69,15 @@ 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.5.3]
|
||||
try:
|
||||
download https://api.github.com/repos/ppkantorski/ovl-sysmodules/releases?per_page=1 /config/ultrahand/downloads/ovl-sysmodules-api.json
|
||||
json_file /config/ultrahand/downloads/ovl-sysmodules-api.json
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/ovl-sysmodules.ovl
|
||||
mv /config/ultrahand/downloads/ovl-sysmodules.ovl /switch/.overlays/
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/ovlSysmodules.ovl
|
||||
mv /config/ultrahand/downloads/ovlSysmodules.ovl /switch/.overlays/
|
||||
delete /config/ultrahand/downloads/ovl-sysmodules-api.json
|
||||
|
||||
[QuickNTP]
|
||||
[QuickNTP - 1.6.0+r6]
|
||||
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.9.2]
|
||||
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.4.1+r4]
|
||||
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.5]
|
||||
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+r28]
|
||||
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.6.2.3]
|
||||
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.1
|
||||
@@ -1,3 +1,4 @@
|
||||
[Release Info]
|
||||
pack_version=1.0.0
|
||||
firmware_version=21.2.0
|
||||
omninx_pack=1.0.3
|
||||
omninx_downloader=1.0.1
|
||||
firmware_version=22.5.0
|
||||
@@ -1,34 +1,35 @@
|
||||
[boot]
|
||||
make /config/omninx/manifest.ini
|
||||
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 'Omni Downloader' footer ''
|
||||
touch /config/omninx/manifest.ini
|
||||
set-ini-val ./config.ini 'OmniNX' footer ''
|
||||
set-ini-val ./config.ini 'Switch Firmware' footer ''
|
||||
set-ini-val ./config.ini 'OmniNX Downloader' footer ''
|
||||
set-ini-val ./config.ini '*Firmware Archiv' footer '18.0.0+'
|
||||
|
||||
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
|
||||
download https://git.niklascfw.de/OmniNX/OmniNX-Downloader/raw/branch/main/include/updater/RELEASE.ini ./RELEASE.ini
|
||||
ini_file ./RELEASE.ini
|
||||
|
||||
set-ini-val ./include/updater/config.ini 'OmniNX' footer '{ini_file(Release Info,pack_version)}'
|
||||
set-ini-val ./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)})}'
|
||||
ini_file ./RELEASE.ini
|
||||
set-ini-val ./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 ./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 ./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)}'
|
||||
ini_file ./include/updater/CURRENT.ini
|
||||
json '{"null":"true","{ini_file(OmniNX Downloader,version)}":"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 ./config.ini 'OmniNX Downloader' footer '{ini_file(Release Info,omninx_downloader)}'
|
||||
ini_file ./CURRENT.ini
|
||||
json '{"null":"true","{ini_file(Current,omninx_downloader)}":"false"}'
|
||||
ini_file ./RELEASE.ini
|
||||
set-ini-val ./config.ini 'OmniNX 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
|
||||
ini_file ./RELEASE.ini
|
||||
'{json({ini_file(Release Info,omninx_pack)})}' '{WARNING_SYMBOL} Pack update verfügbar!' 24
|
||||
|
||||
ini_file ./include/updater/RELEASE.ini
|
||||
ini_file ./RELEASE.ini
|
||||
json '{"null":"notify","{hos_version}":""}'
|
||||
'{json({ini_file(Release Info,firmware_version)})}' '{WARNING_SYMBOL} Firmware update verfügbar!' 24
|
||||
|
||||
3
include/updater/changelog/boot_package.ini
Normal file
3
include/updater/changelog/boot_package.ini
Normal file
@@ -0,0 +1,3 @@
|
||||
[boot]
|
||||
try:
|
||||
download https://git.niklascfw.de/OmniNX/OmniNX/raw/branch/main/docs/changelog_latest.txt ./changelog.txt
|
||||
10
include/updater/changelog/changelog.ini
Normal file
10
include/updater/changelog/changelog.ini
Normal file
@@ -0,0 +1,10 @@
|
||||
[Changelog]
|
||||
[Changelog]
|
||||
;mode=table
|
||||
;alignment=left
|
||||
;header=false
|
||||
;scrollable=true
|
||||
;wrapping_mode=word
|
||||
;background=true
|
||||
;info_text_color=warning
|
||||
list_file_source './changelog.txt'
|
||||
2
include/updater/changelog/changelog.txt
Normal file
2
include/updater/changelog/changelog.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
Kein Internet?
|
||||
Versuche auch die Zeit zu Synchronisieren
|
||||
161
include/updater/firmware_archive.ini
Normal file
161
include/updater/firmware_archive.ini
Normal file
@@ -0,0 +1,161 @@
|
||||
[@Firmware Archiv]
|
||||
|
||||
[Firmware 22.1.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/22.1.0/Firmware.22.1.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 22.1.0/'
|
||||
unzip './firmware.zip' '/Firmware 22.1.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 22.0.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/22.0.0/Firmware.22.0.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 22.0.0/'
|
||||
unzip './firmware.zip' '/Firmware 22.0.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 21.2.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/21.2.0/Firmware.21.2.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 21.2.0/'
|
||||
unzip './firmware.zip' '/Firmware 21.2.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 21.1.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/21.1.0/Firmware.21.1.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 21.1.0/'
|
||||
unzip './firmware.zip' '/Firmware 21.1.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 21.0.1]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/21.0.1/Firmware.21.0.1.zip' './firmware.zip'
|
||||
mkdir '/Firmware 21.0.1/'
|
||||
unzip './firmware.zip' '/Firmware 21.0.1/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 21.0.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/21.0.0/Firmware.21.0.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 21.0.0/'
|
||||
unzip './firmware.zip' '/Firmware 21.0.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 20.5.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/20.5.0/Firmware.20.5.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 20.5.0/'
|
||||
unzip './firmware.zip' '/Firmware 20.5.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 20.4.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/20.4.0/Firmware.20.4.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 20.4.0/'
|
||||
unzip './firmware.zip' '/Firmware 20.4.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 20.3.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/20.3.0/Firmware.20.3.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 20.3.0/'
|
||||
unzip './firmware.zip' '/Firmware 20.3.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 20.2.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/20.2.0/Firmware.20.2.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 20.2.0/'
|
||||
unzip './firmware.zip' '/Firmware 20.2.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 20.1.5]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/20.1.5/Firmware.20.1.5.zip' './firmware.zip'
|
||||
mkdir '/Firmware 20.1.5/'
|
||||
unzip './firmware.zip' '/Firmware 20.1.5/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 20.1.1]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/20.1.1/Firmware.20.1.1.zip' './firmware.zip'
|
||||
mkdir '/Firmware 20.1.1/'
|
||||
unzip './firmware.zip' '/Firmware 20.1.1/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 20.1.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/20.1.0/Firmware.20.1.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 20.1.0/'
|
||||
unzip './firmware.zip' '/Firmware 20.1.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 20.0.1]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/20.0.1/Firmware.20.0.1.zip' './firmware.zip'
|
||||
mkdir '/Firmware 20.0.1/'
|
||||
unzip './firmware.zip' '/Firmware 20.0.1/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 20.0.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/20.0.0/Firmware.20.0.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 20.0.0/'
|
||||
unzip './firmware.zip' '/Firmware 20.0.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 19.0.1]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/19.0.1/Firmware.19.0.1.zip' './firmware.zip'
|
||||
mkdir '/Firmware 19.0.1/'
|
||||
unzip './firmware.zip' '/Firmware 19.0.1/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 19.0.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/19.0.0/Firmware.19.0.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 19.0.0/'
|
||||
unzip './firmware.zip' '/Firmware 19.0.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 18.1.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/18.1.0/Firmware.18.1.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 18.1.0/'
|
||||
unzip './firmware.zip' '/Firmware 18.1.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 18.0.1]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/18.0.1/Firmware.18.0.1.zip' './firmware.zip'
|
||||
mkdir '/Firmware 18.0.1/'
|
||||
unzip './firmware.zip' '/Firmware 18.0.1/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
|
||||
[Firmware 18.0.0]
|
||||
try:
|
||||
download 'https://github.com/THZoria/NX_Firmware/releases/download/18.0.0/Firmware.18.0.0.zip' './firmware.zip'
|
||||
mkdir '/Firmware 18.0.0/'
|
||||
unzip './firmware.zip' '/Firmware 18.0.0/'
|
||||
delete './firmware.zip'
|
||||
notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
2
include/updater/fw_warning.txt
Normal file
2
include/updater/fw_warning.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
WARNUNG:
|
||||
Das Firmware-Archiv ist nur für erfahrene Nutzer gedacht. Installiere nur Versionen, die zurzeit von Atmosphère unterstützt werden. Eine falsche Wahl kann den Start deiner Konsole hindern. Nutze diese Sektion nur, wenn du weißt, was du tust.
|
||||
@@ -1,8 +1,7 @@
|
||||
;title='OmniNX Updater'
|
||||
;creator=Woody2408, NiklasCFW
|
||||
;creator=NiklasCFW, Woody2408
|
||||
;version=1.0.0
|
||||
;about='OmniNX Updater'
|
||||
;show_widget=true
|
||||
|
||||
[@CFW Pack]
|
||||
|
||||
@@ -11,8 +10,9 @@
|
||||
;background=true
|
||||
;gap=20
|
||||
ini_file '/config/omninx/manifest.ini'
|
||||
'Pack Variante' = '{ini_file(OmniNX,channel_pack)}'
|
||||
'Zurzeit installiert' = '{ini_file(OmniNX,version)}'
|
||||
'Installierte Variante' = '{ini_file(OmniNX,current_pack)}'
|
||||
'Update-Kanal' = '{ini_file(OmniNX,channel_pack)}'
|
||||
'Installierte Version' = '{ini_file(OmniNX,version)}'
|
||||
|
||||
[OmniNX]
|
||||
try:
|
||||
@@ -25,11 +25,11 @@ delete /config/ultrahand/downloads/omninx-api.json
|
||||
delete /config/ultrahand/downloads/OmniNX.zip
|
||||
notify '{WARNING_SYMBOL} Führe in Hekate fort' 24
|
||||
|
||||
[*Update Channel ändern]
|
||||
[*Update Kanal ändern]
|
||||
;mini=true
|
||||
;mode=forwarder
|
||||
package_source ./change_channel.ini
|
||||
refresh-to *Update Channel ändern
|
||||
refresh-to *Update Kanal ändern
|
||||
|
||||
[gap]
|
||||
;mode=table
|
||||
@@ -40,7 +40,7 @@ refresh-to *Update Channel ändern
|
||||
;mode=table
|
||||
;background=true
|
||||
;gap=20
|
||||
'Zurzeit installiert' = '{hos_version}'
|
||||
'Installierte Firmware Version' = '{hos_version}'
|
||||
|
||||
[Switch Firmware]
|
||||
try:
|
||||
@@ -59,7 +59,17 @@ notify '{WARNING_SYMBOL} Führe in Daybreak fort' 24
|
||||
;background=false
|
||||
;gap=30
|
||||
|
||||
[Package Info]
|
||||
[Changelog]
|
||||
;mode=table
|
||||
;background=true
|
||||
;gap=20
|
||||
ini_file './include/updater/config.ini'
|
||||
'Changelog' = ''
|
||||
|
||||
[*Neuste Änderungen]
|
||||
;mode=forwarder
|
||||
exec boot ./changelog/boot_package.ini
|
||||
package_source ./changelog/changelog.ini
|
||||
|
||||
[@Erweitert]
|
||||
|
||||
@@ -68,13 +78,39 @@ 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]
|
||||
[OmniNX Downloader]
|
||||
try:
|
||||
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
|
||||
download {json_file(0,assets,0,browser_download_url)} /config/ultrahand/downloads/omni-downloader.zip
|
||||
unzip /config/ultrahand/downloads/omni-downloader.zip '/switch/.packages/'
|
||||
delete /config/ultrahand/downloads/omni-downloader-api.json
|
||||
delete /config/ultrahand/downloads/omni-downloader.zip
|
||||
delete /config/ultrahand/downloads/omni-downloader.zip
|
||||
|
||||
[gap]
|
||||
;mode=table
|
||||
;background=false
|
||||
;gap=30
|
||||
|
||||
[*Firmware Archiv]
|
||||
;mode=forwarder
|
||||
package_source ./firmware_archive.ini
|
||||
|
||||
[gap]
|
||||
;mode=table
|
||||
;background=false
|
||||
;gap=30
|
||||
|
||||
[Firmware Archiv — Hinweis]
|
||||
;mode=table
|
||||
;alignment=left
|
||||
;header=false
|
||||
;scrollable=true
|
||||
;wrapping_mode=word
|
||||
;background=true
|
||||
;info_text_color=warning
|
||||
list_file_source './fw_warning.txt'
|
||||
|
||||
[Package Info]
|
||||
@@ -1,4 +1,4 @@
|
||||
;creator=Woody2408
|
||||
;creator=NiklasCFW, Woody2408
|
||||
;version=1.0.0
|
||||
;about='OmniNX Downloader'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user