mirror of
https://github.com/palera1n/palera1n.git
synced 2026-10-21 09:47:01 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ba32c40db | ||
|
|
a25670134f | ||
|
|
85180b85fb |
No files matched your search
+10
-10
@@ -26,7 +26,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v7
|
||||||
|
|
||||||
- name: Install dependencies (packages)
|
- name: Install dependencies (packages)
|
||||||
run: |
|
run: |
|
||||||
@@ -45,7 +45,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
if: ${{ github.event_name != 'pull_request' }}
|
if: ${{ github.event_name != 'pull_request' }}
|
||||||
uses: wangyucode/sftp-upload-action@v1.4.8
|
uses: wangyucode/sftp-upload-action@v3
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
||||||
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
||||||
@@ -84,7 +84,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
@@ -336,7 +336,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
if: ${{ github.event_name != 'pull_request' }}
|
if: ${{ github.event_name != 'pull_request' }}
|
||||||
uses: wangyucode/sftp-upload-action@v1.4.8
|
uses: wangyucode/sftp-upload-action@v3
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
||||||
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
||||||
@@ -383,7 +383,7 @@ jobs:
|
|||||||
needs: build-darwin
|
needs: build-darwin
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
@@ -508,7 +508,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
if: ${{ github.event_name != 'pull_request' }}
|
if: ${{ github.event_name != 'pull_request' }}
|
||||||
uses: wangyucode/sftp-upload-action@v1.4.8
|
uses: wangyucode/sftp-upload-action@v3
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
||||||
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
||||||
@@ -542,7 +542,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v7
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
@@ -848,7 +848,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
if: ${{ github.event_name != 'pull_request' }}
|
if: ${{ github.event_name != 'pull_request' }}
|
||||||
uses: wangyucode/sftp-upload-action@v1.4.8
|
uses: wangyucode/sftp-upload-action@v3
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
||||||
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
||||||
@@ -861,7 +861,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload usbmuxd artifact
|
- name: Upload usbmuxd artifact
|
||||||
if: ${{ github.event_name != 'pull_request' }}
|
if: ${{ github.event_name != 'pull_request' }}
|
||||||
uses: wangyucode/sftp-upload-action@v1.4.8
|
uses: wangyucode/sftp-upload-action@v3
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
||||||
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
||||||
@@ -883,7 +883,7 @@ jobs:
|
|||||||
needs: [build-docs, build-darwin, darwin-dist, build-Linux]
|
needs: [build-docs, build-darwin, darwin-dist, build-Linux]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v7
|
||||||
|
|
||||||
- name: Get branch name
|
- name: Get branch name
|
||||||
id: branch-name
|
id: branch-name
|
||||||
|
|||||||
+15
-1
@@ -18,6 +18,7 @@
|
|||||||
.Op Fl i Ar checkra1n file
|
.Op Fl i Ar checkra1n file
|
||||||
.Op Fl -version
|
.Op Fl -version
|
||||||
.Op Fl -force-revert
|
.Op Fl -force-revert
|
||||||
|
.Op Fl -force-enable-ssv
|
||||||
.Op Fl -override-libcheckra1nhelper Ar hook dylib
|
.Op Fl -override-libcheckra1nhelper Ar hook dylib
|
||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
.Nm
|
.Nm
|
||||||
@@ -28,7 +29,7 @@ bootROM exploit.
|
|||||||
.Pp
|
.Pp
|
||||||
.Nm
|
.Nm
|
||||||
provides rootful and rootless jailbreak modes.
|
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
|
.Nm
|
||||||
is able to jailbreak the device in fakefs-rootful mode, where /
|
is able to jailbreak the device in fakefs-rootful mode, where /
|
||||||
is writable, as well as rootless mode, where / cannot be written to.
|
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
|
is not supported when this option is used together with
|
||||||
.Fl f , -fakefs
|
.Fl f , -fakefs
|
||||||
\[char46]
|
\[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
|
.It Fl B , -setup-fakefs-partial
|
||||||
Like
|
Like
|
||||||
.Fl c , -setup-fakefs
|
.Fl c , -setup-fakefs
|
||||||
|
|||||||
@@ -26,6 +26,8 @@
|
|||||||
#define palerain_option_case_force_revert palerain_option_case(1)
|
#define palerain_option_case_force_revert palerain_option_case(1)
|
||||||
#define palerain_option_case_libcheckra1nhelper_path palerain_option_case(2)
|
#define palerain_option_case_libcheckra1nhelper_path palerain_option_case(2)
|
||||||
#define palerain_option_case_cli palerain_option_case(3)
|
#define palerain_option_case_cli palerain_option_case(3)
|
||||||
|
#define palerain_option_case_force_enable_ssv palerain_option_case(4)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef USE_LIBUSB
|
#ifdef USE_LIBUSB
|
||||||
|
|||||||
+3
-3
@@ -30,7 +30,7 @@
|
|||||||
#define FORMAT_KEY_VALUE 1
|
#define FORMAT_KEY_VALUE 1
|
||||||
#define FORMAT_XML 2
|
#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_HD (cpid == 0x7000 && bdid == 0x34)
|
||||||
#define IS_APPLE_TV_4K (cpid == 0x8011 && bdid == 0x02)
|
#define IS_APPLE_TV_4K (cpid == 0x8011 && bdid == 0x02)
|
||||||
#define IS_APPLE_HOME1 (cpid == 0x7000 && bdid == 0x38)
|
#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);
|
step(4, 0, "Put device upside down orientation", conditional, ecid);
|
||||||
}
|
}
|
||||||
} else if (cpid != 0x8012) {
|
} 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);
|
step(4, 2, "Hold volume down + side button", NULL, 0);
|
||||||
else
|
else
|
||||||
step(4, 2, "Hold home + power button", NULL, 0);
|
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;
|
return NULL;
|
||||||
}
|
}
|
||||||
printf("\r\033[K");
|
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(2, 0, "Hold volume down + side button", NULL, 0);
|
||||||
step(10, 0, "Hold volume down button", conditional, ecid);
|
step(10, 0, "Hold volume down button", conditional, ecid);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ static struct option longopts[] = {
|
|||||||
{"rootless", no_argument, NULL, 'l'},
|
{"rootless", no_argument, NULL, 'l'},
|
||||||
{"demote", no_argument, NULL, 'd'},
|
{"demote", no_argument, NULL, 'd'},
|
||||||
{"force-revert", no_argument, NULL, palerain_option_case_force_revert},
|
{"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'},
|
{"no-colors", no_argument, NULL, 'S'},
|
||||||
{"safe-mode", no_argument, NULL, 's'},
|
{"safe-mode", no_argument, NULL, 's'},
|
||||||
{"telnetd", no_argument, NULL, 'T'},
|
{"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"
|
"iOS/iPadOS/tvOS 15-26, bridgeOS 5-10 arm64 jailbreaking tool\n\n"
|
||||||
"\t--version\t\t\t\tPrint version\n"
|
"\t--version\t\t\t\tPrint version\n"
|
||||||
"\t--force-revert\t\t\t\tRemove jailbreak\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
|
#ifdef DEV_BUILD
|
||||||
"\t-1, --test1\t\t\t\tSet palerain_option_test1\n"
|
"\t-1, --test1\t\t\t\tSet palerain_option_test1\n"
|
||||||
"\t-2, --test2\t\t\t\tSet palerain_option_test2\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);
|
snprintf(gOverrideLibcheckra1nHelper, strlen(optarg) + 1, "%s", optarg);
|
||||||
break;
|
break;
|
||||||
|
case palerain_option_case_force_enable_ssv:
|
||||||
|
palerain_flags |= palerain_option_ssv;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
usage(1, argv[0]);
|
usage(1, argv[0]);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in new issue
Block a user