Skip to content

Commit 9768e88

Browse files
committed
main: Add a device filter for IPSWs
Signed-off-by: Hector Martin <[email protected]>
1 parent cc14b7f commit 9768e88

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src/main.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class IPSW:
3131
min_iboot: str
3232
min_sfr: str
3333
expert_only: bool
34+
devices: list
3435
url: str
3536

3637
@dataclass
@@ -97,24 +98,28 @@ class Device:
9798
"iBoot-7459.121.3",
9899
"21.6.81.2.0,0",
99100
False,
101+
{"j413ap", "j493ap"},
100102
"https://updates.cdn-apple.com/2022SpringFCS/fullrestores/012-17781/F045A95A-44B4-4BA9-8A8A-919ECCA2BB31/UniversalMac_12.4_21F2081_Restore.ipsw"),
101103
IPSW("12.3.1",
102104
"12.1",
103105
"iBoot-7459.101.3",
104106
"21.5.258.0.0,0",
105107
False,
108+
None,
106109
"https://updates.cdn-apple.com/2022SpringFCS/fullrestores/002-79219/851BEDF0-19DB-4040-B765-0F4089D1530D/UniversalMac_12.3.1_21E258_Restore.ipsw"),
107110
IPSW("12.3",
108111
"12.1",
109112
"iBoot-7459.101.2",
110113
"21.5.230.0.0,0",
111114
False,
115+
None,
112116
"https://updates.cdn-apple.com/2022SpringFCS/fullrestores/071-08757/74A4F2A1-C747-43F9-A22A-C0AD5FB4ECB6/UniversalMac_12.3_21E230_Restore.ipsw"),
113117
IPSW("13.5",
114118
"13.0",
115119
"iBoot-8422.141.2",
116120
"22.7.74.0.0,0",
117121
False,
122+
None,
118123
"https://updates.cdn-apple.com/2023SummerFCS/fullrestores/032-69606/D3E05CDF-E105-434C-A4A1-4E3DC7668DD0/UniversalMac_13.5_22G74_Restore.ipsw"),
119124
]
120125

@@ -471,7 +476,8 @@ def choose_ipsw(self, supported_fw=None):
471476
device_min = split_ver(self.device.min_ver)
472477
minver = [ipsw for ipsw in IPSW_VERSIONS
473478
if split_ver(ipsw.version) >= max(chip_min, device_min)
474-
and (supported_fw is None or ipsw.version in supported_fw)]
479+
and (supported_fw is None or ipsw.version in supported_fw)
480+
and (ipsw.devices is None or self.sysinfo.device_class in ipsw.devices)]
475481
avail = [ipsw for ipsw in minver
476482
if split_ver(ipsw.min_iboot) <= sys_iboot
477483
and split_ver(ipsw.min_macos) <= sys_macos

0 commit comments

Comments
 (0)