Skip to content

Commit 4fb1d6a

Browse files
committed
- Add channel option for the canary miner by @Vagelis1608
- Upon device load, if bootloader is older than a safe ARB bootloader version, warn the user. - Added Pixel 10 variants to the ARB list - Update translations. - Minor other improvements.
1 parent 11191fe commit 4fb1d6a

18 files changed

Lines changed: 177 additions & 38 deletions

Main.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3296,7 +3296,20 @@ def _print_device_details(self, device):
32963296
message += f" Device Version End Date: {android_device['android_version_end_date']}\n"
32973297
message += f" Device Security Update End Date: {android_device['security_update_end_date']}\n"
32983298
message += f" Has init_boot partition: {device.has_init_boot}\n"
3299-
message += f" Device Bootloader Version: {device.get_prop('version-bootloader', 'ro.bootloader')}\n"
3299+
d_bootloader_version = device.get_prop('version-bootloader', 'ro.bootloader')
3300+
message += f" Device Bootloader Version: {d_bootloader_version}\n"
3301+
if d_bootloader_version and d_bootloader_version != 'unknown':
3302+
min_safe_version = MIN_SAFE_BOOTLOADER_VERSIONS.get(device.hardware)
3303+
if min_safe_version:
3304+
actual_bootloader_version = d_bootloader_version
3305+
if not actual_bootloader_version[0].isdigit() and '-' in actual_bootloader_version:
3306+
candidate_version = actual_bootloader_version.split('-', 1)[1]
3307+
if candidate_version and candidate_version[0].isdigit():
3308+
actual_bootloader_version = candidate_version
3309+
if is_bootloader_version_older(actual_bootloader_version, min_safe_version):
3310+
message += _(" ⚠️ WARNING: Bootloader version %s is older than the minimum ARB safe version %s\n") % (d_bootloader_version, min_safe_version)
3311+
self.toast(_("WARNING! ARB Affected"), _("⚠️ Bootloader version: %s is older than the minimum ARB safe version: %s") % (d_bootloader_version, min_safe_version))
3312+
33003313
wx.Yield()
33013314
if device.true_mode == 'adb':
33023315
message += f" Device is Rooted: {device.rooted}\n"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ I strongly encourage all beginners to follow those guides rather than use this p
512512
- vm03's [payload_dumper](https://github.com/vm03/payload_dumper) source code to extract images from payload.bin files.
513513
- [osm0sis](https://github.com/osm0sis) for the creative and pioneer approach to beta pif print extraction, [banned kernel list](https://xdaforums.com/t/module-play-integrity-fix-safetynet-fix.4607985/page-518#post-89308909) and endless other contributions that are too many to enumerate.
514514
- [capntrips](https://github.com/capntrips) for code / tools and mentoring provided to create features like `Downgrade Patch` and `Cancel OTA Update`.
515-
- [Vagelis1608](https://github.com/Vagelis1608) for building [canary / beta factory image catalog](https://github.com/Vagelis1608/get_the_canary_miner/blob/main/catalog.json) and graciously sharing.
515+
- [Vagelis1608](https://github.com/Vagelis1608) for building [canary / beta factory image catalog](https://github.com/Vagelis1608/get_the_canary_miner/blob/stable/catalog.json) and graciously sharing.
516516

517517
## Troubleshooting
518518

build-on-mac-intel-only.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,6 @@ exe = EXE(pyz,
5959
icon='images/icon-dark-256.icns')
6060
app = BUNDLE(exe,
6161
name='PixelFlasher.app',
62-
version='9.0.2.0',
62+
version='9.0.3.0',
6363
icon='./images/icon-dark-256.icns',
6464
bundle_identifier='com.badabing.pixelflasher')

build-on-mac.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,6 @@ exe = EXE(pyz,
6060
icon='images/icon-dark-256.icns')
6161
app = BUNDLE(exe,
6262
name='PixelFlasher.app',
63-
version='9.0.2.0',
63+
version='9.0.3.0',
6464
icon='./images/icon-dark-256.icns',
6565
bundle_identifier='com.badabing.pixelflasher')

build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
# <https://www.gnu.org/licenses/>.
3333

3434
rm -rf build dist
35-
VERSION=9.0.2.0
35+
VERSION=9.0.3.0
3636
NAME="PixelFlasher"
3737
DIST_NAME="PixelFlasher"
3838

config.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ def __init__(self):
126126
self.force_ksud_mount_selection = False
127127
self.pif_chunk_size = 8*1024*1024 # 8MB default
128128
self.pif_chunk_overlap = 200 # 200 bytes default
129+
self.canary_miner_channel = 'stable' # can be 'stable' or 'main', default to 'stable'
129130

130131
self.toolbar = {
131132
'tb_position': 'top',
@@ -352,6 +353,8 @@ def load(cls, file_path):
352353
conf.pif_chunk_size = data['pif_chunk_size']
353354
with contextlib.suppress(KeyError):
354355
conf.pif_chunk_overlap = data['pif_chunk_overlap']
356+
with contextlib.suppress(KeyError):
357+
conf.canary_miner_channel = data['canary_miner_channel']
355358

356359
# read the toolbar section
357360
with contextlib.suppress(KeyError):
@@ -560,7 +563,8 @@ def save(self, file_path):
560563
'spoofed_apps': self.spoofed_apps,
561564
'force_ksud_mount_selection': self.force_ksud_mount_selection,
562565
'pif_chunk_size': self.pif_chunk_size,
563-
'pif_chunk_overlap': self.pif_chunk_overlap
566+
'pif_chunk_overlap': self.pif_chunk_overlap,
567+
'canary_miner_channel': self.canary_miner_channel
564568
}
565569
with open(file_path, 'w', encoding="ISO-8859-1", errors="replace", newline='\n') as f:
566570
json.dump(data, f, indent=4)

constants.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
APPNAME = 'PixelFlasher'
3737
CONFIG_FILE_NAME = 'PixelFlasher.json'
38-
VERSION = '9.0.2.0'
38+
VERSION = '9.0.3.0'
3939
SDKVERSION = '33.0.3'
4040
MAIN_WIDTH = 1400
4141
MAIN_HEIGHT = 1040
@@ -67,7 +67,6 @@
6767
ZYGISK_NEXT_UPDATE_URL = 'https://api.nullptr.icu/android/zygisk-next/static/update.json'
6868
ANDROID_CANARY_VERSION = 'CANARY_r03'
6969
TARGETEDFIX_CONFIG_PATH = '/data/adb/modules/targetedfix/config'
70-
CANARY_MINER_CATALOG_URL = 'https://raw.githubusercontent.com/Vagelis1608/get_the_canary_miner/refs/heads/main/catalog.json'
7170

7271
# https://xdaforums.com/t/module-play-integrity-fix-safetynet-fix.4607985/page-518#post-89308909
7372
BANNED_KERNELS = [
@@ -129,3 +128,18 @@
129128
'zh_CN': '简体中文 (Simplified Chinese)',
130129
'zh_TW': '繁體中文 (Traditional Chinese)'
131130
}
131+
132+
# Minimum safe bootloader version to avoid ARB issues.
133+
MIN_SAFE_BOOTLOADER_VERSIONS = {
134+
"bluejay": "15.3-13239612",
135+
"oriole": "15.3-13239612",
136+
"raven": "15.3-13239612",
137+
"akita": "15.3-13266201",
138+
"shiba": "15.3-13272266",
139+
"husky": "15.3-13272266",
140+
"frankel": "17.1-15016913",
141+
"blazer": "17.1-15016913",
142+
"mustang": "17.1-15016913",
143+
"rango": "17.1-15016913"
144+
}
145+

locale/en/LC_MESSAGES/pixelflasher.po

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3052,3 +3052,16 @@ msgstr ""
30523052

30533053
msgid "If things were changed outside of PixelFlasher, then refresh the phone by using the Scan button.\n"
30543054
msgstr ""
3055+
3056+
##############################################################################
3057+
# Additions 2026-05-11
3058+
##############################################################################
3059+
msgid " ⚠️ WARNING: Bootloader version %s is older than the minimum ARB safe version %s\n"
3060+
msgstr ""
3061+
3062+
msgid "WARNING! ARB Affected"
3063+
msgstr ""
3064+
3065+
msgid "⚠️ Bootloader version: %s is older than the minimum ARB safe version: %s"
3066+
msgstr ""
3067+

locale/es/LC_MESSAGES/pixelflasher.po

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3084,7 +3084,20 @@ msgstr " Si necesita deshabilitar verity o l
30843084
# Additions 2026-04-08
30853085
##############################################################################
30863086
msgid "This could be either because it is hidden, not installed or things changed outside of PixelFlasher\n\n"
3087-
msgstr ""
3087+
msgstr "Esto podría ser porque está oculto, no instalado o las cosas cambiaron fuera de PixelFlasher\n\n"
30883088

30893089
msgid "If things were changed outside of PixelFlasher, then refresh the phone by using the Scan button.\n"
3090-
msgstr ""
3090+
msgstr "Si las cosas cambiaron fuera de PixelFlasher, entonces actualice el teléfono usando el botón Escanear.\n"
3091+
3092+
##############################################################################
3093+
# Additions 2026-05-11
3094+
##############################################################################
3095+
msgid " ⚠️ WARNING: Bootloader version %s is older than the minimum ARB safe version %s\n"
3096+
msgstr " ⚠️ ADVERTENCIA: La versión del bootloader %s es anterior a la versión segura mínima de ARB %s\n"
3097+
3098+
msgid "WARNING! ARB Affected"
3099+
msgstr "¡ADVERTENCIA! Afectado por ARB"
3100+
3101+
msgid "⚠️ Bootloader version: %s is older than the minimum ARB safe version: %s"
3102+
msgstr "⚠️ La versión del bootloader: %s es anterior a la versión segura mínima de ARB: %s"
3103+

locale/fr/LC_MESSAGES/pixelflasher.po

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3083,7 +3083,20 @@ msgstr " Si vous devez désactiver verity ou
30833083
# Additions 2026-04-08
30843084
##############################################################################
30853085
msgid "This could be either because it is hidden, not installed or things changed outside of PixelFlasher\n\n"
3086-
msgstr ""
3086+
msgstr "Cela peut être soit parce qu'il est caché, pas installé ou que les choses ont changé en dehors de PixelFlasher\n\n"
30873087

30883088
msgid "If things were changed outside of PixelFlasher, then refresh the phone by using the Scan button.\n"
3089-
msgstr ""
3089+
msgstr "Si les choses ont été modifiées en dehors de PixelFlasher, alors rafraîchissez le téléphone en utilisant le bouton Scan.\n"
3090+
3091+
##############################################################################
3092+
# Additions 2026-05-11
3093+
##############################################################################
3094+
msgid " ⚠️ WARNING: Bootloader version %s is older than the minimum ARB safe version %s\n"
3095+
msgstr " ⚠️ AVERTISSEMENT : La version du bootloader %s est plus ancienne que la version minimale ARB sécurisée %s\n"
3096+
3097+
msgid "WARNING! ARB Affected"
3098+
msgstr "AVERTISSEMENT ! Affecté par ARB"
3099+
3100+
msgid "⚠️ Bootloader version: %s is older than the minimum ARB safe version: %s"
3101+
msgstr "⚠️ La version du bootloader : %s est plus ancienne que la version minimale ARB sécurisée : %s"
3102+

0 commit comments

Comments
 (0)