Add support for older devices (Libra 2 and newer)
This commit is contained in:
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
@@ -95,6 +95,12 @@ jobs:
|
||||
if: steps.check-e2e.outputs.run == 'true' && env.GITEA_ACTIONS != 'true'
|
||||
run: readerly/setup.sh
|
||||
|
||||
- name: Validate download URLs
|
||||
if: steps.check-e2e.outputs.run == 'true' && env.GITEA_ACTIONS != 'true'
|
||||
run: |
|
||||
cd tests
|
||||
./validate-dl-urls.sh
|
||||
|
||||
- name: Full integration test (Playwright)
|
||||
if: steps.check-e2e.outputs.run == 'true' && env.GITEA_ACTIONS != 'true'
|
||||
run: |
|
||||
|
||||
38
tests/validate-dl-urls.sh
Executable file
38
tests/validate-dl-urls.sh
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# Validate all firmware download URLs in downloads.json via HEAD requests.
|
||||
# Exits with code 1 if any URL is invalid.
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)/../web/src/patches"
|
||||
DOWNLOADS="$SCRIPT_DIR/downloads.json"
|
||||
|
||||
# Extract unique URLs (skip keys starting with _).
|
||||
URLS=$(node -e "
|
||||
const d = require('$DOWNLOADS');
|
||||
const seen = new Set();
|
||||
for (const [key, val] of Object.entries(d)) {
|
||||
if (key.startsWith('_') || typeof val !== 'object') continue;
|
||||
for (const url of Object.values(val)) {
|
||||
if (!seen.has(url)) { seen.add(url); console.log(url); }
|
||||
}
|
||||
}
|
||||
")
|
||||
|
||||
FAILED=0
|
||||
TOTAL=0
|
||||
|
||||
while IFS= read -r url; do
|
||||
TOTAL=$((TOTAL + 1))
|
||||
STATUS=$(curl -s -o /dev/null -w "%{http_code}" --head "$url")
|
||||
if [ "$STATUS" -ge 200 ] && [ "$STATUS" -lt 400 ]; then
|
||||
echo " OK $STATUS $url"
|
||||
else
|
||||
echo "FAIL $STATUS $url"
|
||||
FAILED=$((FAILED + 1))
|
||||
fi
|
||||
done <<< "$URLS"
|
||||
|
||||
echo ""
|
||||
echo "$TOTAL URLs checked, $FAILED failed."
|
||||
[ "$FAILED" -eq 0 ]
|
||||
@@ -133,6 +133,7 @@
|
||||
|
||||
<!-- Step 1b (manual): Select device model + firmware for custom patches -->
|
||||
<section id="step-manual-version" class="step" hidden>
|
||||
<p>Since you have chosen not to connect your device, you will need to look up some information related to the device you want to patch.</p>
|
||||
<p class="fallback-hint">
|
||||
<strong>Select the version number currently installed on your device.</strong> If it does not appear in this list, your software version is not supported for custom patching. You can go back and choose NickelMenu instead, which works with all versions.
|
||||
</p>
|
||||
@@ -140,13 +141,13 @@
|
||||
<option value="">-- Select software version --</option>
|
||||
</select>
|
||||
<p id="manual-version-hint" class="fallback-hint">
|
||||
You can find the version number on your Kobo under <strong>More > Settings > Device information</strong> > <strong>Software version</strong>.
|
||||
You can find the version number on your Kobo under <strong>More > Settings > Device information</strong> > <strong>Software version</strong>. Make sure it's a complete match, or you may encounter issues!
|
||||
</p>
|
||||
<select id="manual-model" aria-label="Kobo model" hidden>
|
||||
<option value="">-- Select your Kobo model --</option>
|
||||
</select>
|
||||
<p id="manual-model-hint" class="fallback-hint" hidden>
|
||||
Match the first characters of your serial number (e.g. N428) to the list above. You can find it under <strong>More > Settings > Device information</strong>.
|
||||
Match the first characters of your serial number (e.g. N428) to the list above. You can find it under <strong>More > Settings > Device information</strong>. Keep in mind that older devices (released prior to Kobo Libra 2) are not supported by this website at this time, but you may be able to patch them manually.
|
||||
</p>
|
||||
<div class="step-actions" style="margin-top: 25px">
|
||||
<button id="btn-manual-version-back" class="secondary">‹ Back</button>
|
||||
|
||||
@@ -1,9 +1,29 @@
|
||||
{
|
||||
"_source": "https://help.kobo.com/hc/en-us/articles/35059171032727-Manually-Updating-your-Kobo-eReader-device-Firmware",
|
||||
"_sources": [
|
||||
"https://pgaskin.net/KoboStuff/kobofirmware.html",
|
||||
"https://help.kobo.com/hc/en-us/articles/35059171032727-Manually-Updating-your-Kobo-eReader-device-Firmware"
|
||||
],
|
||||
"4.45.23646": {
|
||||
"N428": "https://ereaderfiles.kobo.com/firmwares/kobo12/Mar2026/kobo-update-4.45.23646.zip",
|
||||
"N365": "https://ereaderfiles.kobo.com/firmwares/kobo13/Mar2026/kobo-update-4.45.23646.zip",
|
||||
"N367": "https://ereaderfiles.kobo.com/firmwares/kobo13/Mar2026/kobo-update-4.45.23646.zip",
|
||||
"P365": "https://ereaderfiles.kobo.com/firmwares/kobo14/Mar2026/kobo-update-4.45.23646.zip"
|
||||
},
|
||||
"4.38.23648": {
|
||||
"N418": "https://ereaderfiles.kobo.com/firmwares/kobo9/Mar2026/kobo-update-4.38.23648.zip"
|
||||
},
|
||||
"4.38.23552": {
|
||||
"N778": "https://ereaderfiles.kobo.com/firmwares/kobo8/Nov2025/kobo-update-4.38.23552.zip",
|
||||
"N604": "https://ereaderfiles.kobo.com/firmwares/kobo8/Nov2025/kobo-update-4.38.23552.zip",
|
||||
"N418": "https://ereaderfiles.kobo.com/firmwares/kobo9/Nov2025/kobo-update-4.38.23552.zip",
|
||||
"N506": "https://ereaderfiles.kobo.com/firmwares/kobo10/Nov2025/kobo-update-4.38.23552.zip",
|
||||
"N605": "https://ereaderfiles.kobo.com/firmwares/kobo11/Nov2025/kobo-update-4.38.23552.zip"
|
||||
},
|
||||
"4.38.23429": {
|
||||
"N778": "https://ereaderfiles.kobo.com/firmwares/kobo8/Aug2025/kobo-update-4.38.23429.zip",
|
||||
"N604": "https://ereaderfiles.kobo.com/firmwares/kobo8/Aug2025/kobo-update-4.38.23429.zip",
|
||||
"N418": "https://ereaderfiles.kobo.com/firmwares/kobo9/Aug2025/kobo-update-4.38.23429.zip",
|
||||
"N506": "https://ereaderfiles.kobo.com/firmwares/kobo10/Aug2025/kobo-update-4.38.23429.zip",
|
||||
"N605": "https://ereaderfiles.kobo.com/firmwares/kobo11/Aug2025/kobo-update-4.38.23429.zip"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
[
|
||||
{
|
||||
"filename": "patches_4.45.zip",
|
||||
"versions": ["4.45.23646"],
|
||||
"date": "03-2026"
|
||||
"versions": [
|
||||
"4.45.23646"
|
||||
]
|
||||
},
|
||||
{
|
||||
"filename": "patches_4.38.zip",
|
||||
"versions": [],
|
||||
"date": "08-2025"
|
||||
"versions": [
|
||||
"4.38.23648",
|
||||
"4.38.23552",
|
||||
"4.38.23429"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user