From 4b4103cf067a9152f2ce6d5217b07bee183abdaf Mon Sep 17 00:00:00 2001 From: LukeMackin Date: Wed, 22 Jul 2026 00:25:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=A1=E6=9F=A5=E9=98=BB=E5=A1=9E?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E2=80=94=20SHA256=20TBD=E5=8D=A0=E4=BD=8D?= =?UTF-8?q?+beta/nightly=E2=86=92stable+=E7=A1=AC=E7=BC=96=E7=A0=81channel?= =?UTF-8?q?+=E8=B7=AF=E5=BE=84=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - manifest.json: beta/nightly h5.url → index-stable.html - SHA256: TBD占位(build后push-hotfix.sh更新) - index-stable: ver元素用channel变量, match?.[1]防御 - fetchText: 过滤..防止路径遍历 --- ota/h5/index-stable.html | 2 +- ota/manifest.json | 2 +- .../buildOutputCleanup/buildOutputCleanup.lock | Bin 17 -> 17 bytes .../src/main/java/dev/yuzu/gca/MainActivity.kt | 3 ++- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ota/h5/index-stable.html b/ota/h5/index-stable.html index 1e781fb..0a22af3 100644 --- a/ota/h5/index-stable.html +++ b/ota/h5/index-stable.html @@ -72,5 +72,5 @@ function applyUpdate(){ Android.saveCache(t);log('OK! restart app to apply') } function h5UrlRelative(u){var p=u.split('/ota/');return p.length>1?'h5/'+p[1].split('/h5/')[1]:u} -document.getElementById('ver').innerText=Android.fetchManifest('stable').match(/"latest":"([^"]+)"/)[1]; +document.getElementById('ver').innerText=Android.fetchManifest(channel).match(/"latest":"([^"]+)"/)?.[1]||channel; \ No newline at end of file diff --git a/ota/manifest.json b/ota/manifest.json index 9773e06..b4d9b84 100644 --- a/ota/manifest.json +++ b/ota/manifest.json @@ -1 +1 @@ -{"stable":{"h5":{"latest":"0.1.0-dav-android-6","min_version":"0.1.0-dav-android-5","url":"https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/raw/branch/main/ota/h5/index-stable.html","sha256":"56b0e384f53015b0a1a5eb2507fd792dfc31fe44aff40342cd8a8d3bd5c1e14a"},"apk":{"version":"0.1.0-dav-android-5","versionCode":5,"url":"https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/releases/download/v0.1.0-dav-android-5/v0.1.0-dav-android-5-debug.apk","sha256":"56b0e384f53015b0a1a5eb2507fd792dfc31fe44aff40342cd8a8d3bd5c1e14a"}},"beta":{"h5":{"latest":"0.1.0-dav-android-6","min_version":"0.1.0-dav-android-5","url":"https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/raw/branch/main/ota/h5/index-beta.html","sha256":"56b0e384f53015b0a1a5eb2507fd792dfc31fe44aff40342cd8a8d3bd5c1e14a"},"apk":{"version":"0.1.0-dav-android-5","versionCode":5,"url":"https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/releases/download/v0.1.0-dav-android-5/v0.1.0-dav-android-5-debug.apk","sha256":"56b0e384f53015b0a1a5eb2507fd792dfc31fe44aff40342cd8a8d3bd5c1e14a"}},"nightly":{"h5":{"latest":"0.1.0-dav-android-6","min_version":"0.1.0-dav-android-5","url":"https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/raw/branch/main/ota/h5/index-nightly.html","sha256":"56b0e384f53015b0a1a5eb2507fd792dfc31fe44aff40342cd8a8d3bd5c1e14a"},"apk":{"version":"0.1.0-dav-android-5","versionCode":5,"url":"https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/releases/download/v0.1.0-dav-android-5/v0.1.0-dav-android-5-debug.apk","sha256":"56b0e384f53015b0a1a5eb2507fd792dfc31fe44aff40342cd8a8d3bd5c1e14a"}}} +{"stable":{"h5":{"latest":"0.1.0-dav-android-6","min_version":"0.1.0-dav-android-5","url":"https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/raw/branch/main/ota/h5/index-stable.html","sha256":"TBD"},"apk":{"version":"0.1.0-dav-android-5","versionCode":5,"url":"https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/releases/download/v0.1.0-dav-android-5/v0.1.0-dav-android-5-debug.apk","sha256":"56b0e384f53015b0a1a5eb2507fd792dfc31fe44aff40342cd8a8d3bd5c1e14a"}},"beta":{"h5":{"latest":"0.1.0-dav-android-6","min_version":"0.1.0-dav-android-5","url":"https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/raw/branch/main/ota/h5/index-stable.html","sha256":"TBD"},"apk":{"version":"0.1.0-dav-android-5","versionCode":5,"url":"https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/releases/download/v0.1.0-dav-android-5/v0.1.0-dav-android-5-debug.apk","sha256":"56b0e384f53015b0a1a5eb2507fd792dfc31fe44aff40342cd8a8d3bd5c1e14a"}},"nightly":{"h5":{"latest":"0.1.0-dav-android-6","min_version":"0.1.0-dav-android-5","url":"https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/raw/branch/main/ota/h5/index-stable.html","sha256":"TBD"},"apk":{"version":"0.1.0-dav-android-5","versionCode":5,"url":"https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/releases/download/v0.1.0-dav-android-5/v0.1.0-dav-android-5-debug.apk","sha256":"56b0e384f53015b0a1a5eb2507fd792dfc31fe44aff40342cd8a8d3bd5c1e14a"}}} diff --git a/packages/client-android/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/packages/client-android/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 98c9c0ff503479e74ea2e8dcd7c838dbff7ba57a..ab144f97970aecacd790573704195082d8dee15b 100644 GIT binary patch literal 17 UcmZQ>(-v{$|HmrA00yki032TecmMzZ literal 17 UcmZQ>(-v{$|HmrA00yi~0303yHvj+t diff --git a/packages/client-android/android/app/src/main/java/dev/yuzu/gca/MainActivity.kt b/packages/client-android/android/app/src/main/java/dev/yuzu/gca/MainActivity.kt index b26d065..af7dc16 100644 --- a/packages/client-android/android/app/src/main/java/dev/yuzu/gca/MainActivity.kt +++ b/packages/client-android/android/app/src/main/java/dev/yuzu/gca/MainActivity.kt @@ -84,7 +84,8 @@ class MainActivity : AppCompatActivity() { /** Fetch text file from Gitea — proxy for version.txt etc */ @android.webkit.JavascriptInterface fun fetchText(path: String): String { - val url = "https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/raw/branch/main/ota/$path" + val safe = path.replace("..", "").replace("\\", "/") + val url = "https://git.childish-ghost.com/LukeMackin/Yuzu-GCA/raw/branch/main/ota/$safe" Log.i(TAG, "Bridge fetching $url") return try { val conn = URL(url).openConnection() as HttpURLConnection