Compare commits

..
3 Commits
Author SHA1 Message Date
sealldev 3ba32c40db Fix DFU button guidance for iPod 9,1 (#766) 2026-07-27 16:17:34 +08:00
Nick Chan a25670134f Hopefully fix actions
Signed-off-by: Nick Chan <[email protected]>
2026-07-19 21:52:28 +08:00
Nick Chan 85180b85fb Add --force-enable-ssv
Signed-off-by: Nick Chan <[email protected]>
2026-07-19 21:49:22 +08:00
5 changed files with 35 additions and 14 deletions

No files matched your search

+10 -10
View File
@@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Install dependencies (packages)
run: |
@@ -45,7 +45,7 @@ jobs:
- name: Upload artifact
if: ${{ github.event_name != 'pull_request' }}
uses: wangyucode/sftp-upload-action@v1.4.8
uses: wangyucode/sftp-upload-action@v3
with:
host: ${{ secrets.NICKCHAN_FTP_HOST }}
port: ${{ secrets.NICKCHAN_FTP_PORT }}
@@ -84,7 +84,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
fetch-depth: 0
@@ -336,7 +336,7 @@ jobs:
- name: Upload artifact
if: ${{ github.event_name != 'pull_request' }}
uses: wangyucode/sftp-upload-action@v1.4.8
uses: wangyucode/sftp-upload-action@v3
with:
host: ${{ secrets.NICKCHAN_FTP_HOST }}
port: ${{ secrets.NICKCHAN_FTP_PORT }}
@@ -383,7 +383,7 @@ jobs:
needs: build-darwin
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
fetch-depth: 0
@@ -508,7 +508,7 @@ jobs:
- name: Upload artifact
if: ${{ github.event_name != 'pull_request' }}
uses: wangyucode/sftp-upload-action@v1.4.8
uses: wangyucode/sftp-upload-action@v3
with:
host: ${{ secrets.NICKCHAN_FTP_HOST }}
port: ${{ secrets.NICKCHAN_FTP_PORT }}
@@ -542,7 +542,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
fetch-depth: 0
@@ -848,7 +848,7 @@ jobs:
- name: Upload artifact
if: ${{ github.event_name != 'pull_request' }}
uses: wangyucode/sftp-upload-action@v1.4.8
uses: wangyucode/sftp-upload-action@v3
with:
host: ${{ secrets.NICKCHAN_FTP_HOST }}
port: ${{ secrets.NICKCHAN_FTP_PORT }}
@@ -861,7 +861,7 @@ jobs:
- name: Upload usbmuxd artifact
if: ${{ github.event_name != 'pull_request' }}
uses: wangyucode/sftp-upload-action@v1.4.8
uses: wangyucode/sftp-upload-action@v3
with:
host: ${{ secrets.NICKCHAN_FTP_HOST }}
port: ${{ secrets.NICKCHAN_FTP_PORT }}
@@ -883,7 +883,7 @@ jobs:
needs: [build-docs, build-darwin, darwin-dist, build-Linux]
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v7
- name: Get branch name
id: branch-name
+15 -1
View File
@@ -18,6 +18,7 @@
.Op Fl i Ar checkra1n file
.Op Fl -version
.Op Fl -force-revert
.Op Fl -force-enable-ssv
.Op Fl -override-libcheckra1nhelper Ar hook dylib
.Sh DESCRIPTION
.Nm
@@ -28,7 +29,7 @@ bootROM exploit.
.Pp
.Nm
provides rootful and rootless jailbreak modes.
On iOS/iPadOS 15.0 and later and on tvOS 18.2 or later,
On iOS/iPadOS 15.0 and later,
.Nm
is able to jailbreak the device in fakefs-rootful mode, where /
is writable, as well as rootless mode, where / cannot be written to.
@@ -134,6 +135,19 @@ files. As a result, using the loader app to install the jailbreak environment
is not supported when this option is used together with
.Fl f , -fakefs
\[char46]
.It Fl -force-enable-ssv
Force the jailbreak to detect Signed System Volume (SSV) as being required on
the system. This option provides compatibility with previous version of palera1n
that incorrectly detect SSV as being required on tvOS 18.2 and above. When using
this option with
.Fl f , -fakefs ,
the jailbreak will behave as if fakefs is required, which allows the user to boot
into fakefs possibly created by previous versions of palera1n, or remove it if
the
.Fl -force-revert
option is specified as well.
(It is technically possible to setup fakefs using this option as well, but this
is not a supported scenario)
.It Fl B , -setup-fakefs-partial
Like
.Fl c , -setup-fakefs
+2
View File
@@ -26,6 +26,8 @@
#define palerain_option_case_force_revert palerain_option_case(1)
#define palerain_option_case_libcheckra1nhelper_path palerain_option_case(2)
#define palerain_option_case_cli palerain_option_case(3)
#define palerain_option_case_force_enable_ssv palerain_option_case(4)
#ifdef USE_LIBUSB
+3 -3
View File
@@ -30,7 +30,7 @@
#define FORMAT_KEY_VALUE 1
#define FORMAT_XML 2
#define NO_PHYSICAL_HOME_BUTTON (cpid == 0x8015 || (cpid == 0x8010 && (bdid == 0x08 || bdid == 0x0a || bdid == 0x0c || bdid == 0x0e)))
#define USES_VOLUME_DOWN_FOR_DFU (cpid == 0x8015 || (cpid == 0x8010 && (bdid == 0x08 || bdid == 0x0a || bdid == 0x0c || bdid == 0x0e || bdid == 0x16)))
#define IS_APPLE_TV_HD (cpid == 0x7000 && bdid == 0x34)
#define IS_APPLE_TV_4K (cpid == 0x8011 && bdid == 0x02)
#define IS_APPLE_HOME1 (cpid == 0x7000 && bdid == 0x38)
@@ -192,7 +192,7 @@ static void* connected_recovery_mode(struct irecv_device_info* info) {
step(4, 0, "Put device upside down orientation", conditional, ecid);
}
} else if (cpid != 0x8012) {
if (NO_PHYSICAL_HOME_BUTTON)
if (USES_VOLUME_DOWN_FOR_DFU)
step(4, 2, "Hold volume down + side button", NULL, 0);
else
step(4, 2, "Hold home + power button", NULL, 0);
@@ -204,7 +204,7 @@ static void* connected_recovery_mode(struct irecv_device_info* info) {
return NULL;
}
printf("\r\033[K");
if (NO_PHYSICAL_HOME_BUTTON) {
if (USES_VOLUME_DOWN_FOR_DFU) {
step(2, 0, "Hold volume down + side button", NULL, 0);
step(10, 0, "Hold volume down button", conditional, ecid);
} else {
+5
View File
@@ -37,6 +37,7 @@ static struct option longopts[] = {
{"rootless", no_argument, NULL, 'l'},
{"demote", no_argument, NULL, 'd'},
{"force-revert", no_argument, NULL, palerain_option_case_force_revert},
{"force-enable-ssv", no_argument, NULL, palerain_option_case_force_enable_ssv},
{"no-colors", no_argument, NULL, 'S'},
{"safe-mode", no_argument, NULL, 's'},
{"telnetd", no_argument, NULL, 'T'},
@@ -81,6 +82,7 @@ static int usage(int e, char* prog_name)
"iOS/iPadOS/tvOS 15-26, bridgeOS 5-10 arm64 jailbreaking tool\n\n"
"\t--version\t\t\t\tPrint version\n"
"\t--force-revert\t\t\t\tRemove jailbreak\n"
"\t--force-enable-ssv\t\t\tForce SSV detection to result in YES\n"
#ifdef DEV_BUILD
"\t-1, --test1\t\t\t\tSet palerain_option_test1\n"
"\t-2, --test2\t\t\t\tSet palerain_option_test2\n"
@@ -338,6 +340,9 @@ int optparse(int argc, char* argv[]) {
}
snprintf(gOverrideLibcheckra1nHelper, strlen(optarg) + 1, "%s", optarg);
break;
case palerain_option_case_force_enable_ssv:
palerain_flags |= palerain_option_ssv;
break;
default:
usage(1, argv[0]);
break;