You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Linux support, explain how to get ECID and other information with tooltips, specify url for .ipsw so user doesn't have to download entire .ipsw for betas, actually fix iPad7,5 and iPad7,6, bump to v1.2
Copy file name to clipboardExpand all lines: README.md
+4-3Lines changed: 4 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
# blobsaver
2
-
A GUI for saving SHSH blobs using encounter's fork of tsschecker. Supports both Macand Windows. Requires [Java](https://java.com/inc/BrowserRedirect1.jsp).
2
+
A GUI for saving SHSH blobs using encounter's fork of tsschecker. Supports both Mac, Windows, and Linux. Requires [Java](https://java.com/inc/BrowserRedirect1.jsp).
3
3
4
4
If you have an antivirus, select "Always Allow" for anything related to tsschecker or Java. An antivirus may cause blobsaver to crash. If that happens please send feedback.
5
5
@@ -10,16 +10,17 @@ If you have an antivirus, select "Always Allow" for anything related to tsscheck
10
10
- Store up to ten devices with presets
11
11
- Choose where to save blobs with file picker
12
12
- Save blobs for beta versions
13
+
- No need to download entire .ipsw for beta versions(just specify link)
14
+
- Explains how to get ECID, Board Config(if needed), and information necessary for beta versions
13
15
- Automatically checks for updates and prompts if available
14
16
- Optionally specify device identifier instead of using device picker
15
17
- Optionally specify apnonce
16
18
17
19
## Feedback
18
-
Please send feedback via [Github Issue](https://github.com/airsquared/blobsaver/issues/new) or [Reddit PM](https://www.reddit.com//message/compose?to=01110101_00101111&subject=Blobsaver+Feedback) if you encounter any bugs/problems or have a feature request.
20
+
Please send feedback via [Github Issue](https://github.com/airsquared/blobsaver/issues/new/choose) or [Reddit PM](https://www.reddit.com//message/compose?to=01110101_00101111&subject=Blobsaver+Feedback) if you encounter any bugs/problems or have a feature request.
19
21
20
22
## TODO:
21
23
- Use macOS menu bar
22
-
- Explain how to get everything
23
24
- Package into .app/.exe [maybe this](https://github.com/Jorl17/jar2app)
24
25
- Automatically save blobs for all signed versions
if (!ipswField.getText().matches("https?://.*apple.*\\.ipsw")) {
424
+
newUnreportableError("\"" + ipswField.getText() + "\" is not a valid URL.\n\nMake sure it starts with \"http://\" or \"https://\", has \"apple\" in it, and ends with \".ipsw\"");
425
+
deleteTempFiles();
426
+
return;
427
+
}
428
+
ZipInputStreamzin;
429
+
try {
430
+
URLurl = newURL(ipswField.getText());
431
+
zin = newZipInputStream(url.openStream());
432
+
} catch (IOExceptione) {
433
+
newUnreportableError("\"" + ipswField.getText() + "\" is not a valid URL.\n\nMake sure it starts with \"http://\" or \"https://\", has \"apple\" in it, and ends with \".ipsw\"");
434
+
deleteTempFiles();
435
+
return;
436
+
}
437
+
ZipEntryze;
438
+
while ((ze = zin.getNextEntry()) != null) {
439
+
if (ze.getName().equals("BuildManifest.plist")) {
440
+
byte[] buffer = newbyte[500_000];
441
+
intlen;
442
+
while ((len = zin.read(buffer)) != -1) {
443
+
out.write(buffer, 0, len);
444
+
}
445
+
out.close();
446
+
break;
447
+
}
448
+
}
449
+
zin.close();
450
+
buildManifestPlist.deleteOnExit();
451
+
} catch (IOExceptione) {
452
+
newReportableError("Unable to get BuildManifest from .ipsw.", e.getMessage());
newUnreportableError("iOS/tvOS " + versionField.getText() + " is not being signed for device " + device);
486
533
versionField.setEffect(errorBorder);
487
534
} elseif (tsscheckerLog.contains("[Error] [TSSC] failed to load manifest")) {
488
-
newUnreportableError("\'" + buildManifestField.getText() + "\' is not a valid manifest");
535
+
Alertalert = newAlert(Alert.AlertType.ERROR,
536
+
"Failed to load manifest.\n\n\"" + ipswField.getText() + "\" might not be a valid URL.\n\nMake sure it starts with \"http://\" or \"https://\", has \"apple\" in it, and ends with \".ipsw\"\n\nIf the URL is fine, please create a new issue on Github or PM me on Reddit. The log has been copied to your clipboard",
0 commit comments