diff --git a/.gitignore b/.gitignore
index 34e1ec6..a2ecfbd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,10 +12,12 @@
Cydia*
iP*
saved/
-resources/daibutsuCFW
-resources/FirmwareBundles
+resources/FirmwareBundles/
resources/firmware/
resources/ipwndfu/
+resources/jailbreak/bin.tar
+resources/jailbreak/cydia.tar
+resources/jailbreak/untether.tar
resources/libimobiledevice*/
resources/libirecovery/
tmp/
diff --git a/resources/ipsw.sh b/resources/ipsw.sh
index 382aa95..cdc7a20 100755
--- a/resources/ipsw.sh
+++ b/resources/ipsw.sh
@@ -1,7 +1,8 @@
#!/bin/bash
IPSW32() {
- local Bundle="resources/firmware/FirmwareBundles/Down_${ProductType}_${OSVer}_${BuildVer}.bundle"
+ local BundlePath="resources/firmware/FirmwareBundles"
+ local Bundle="Down_${ProductType}_${OSVer}_${BuildVer}.bundle"
local ExtraArgs
local JBFiles
local JBSHA1
@@ -11,22 +12,39 @@ IPSW32() {
return
fi
- if [[ -e $Bundle/Info.plist.bak ]]; then
- rm $Bundle/Info.plist
- mv $Bundle/Info.plist.bak $Bundle/Info.plist
+ if [[ -e $BundlePath/$Bundle/Info.plist.bak ]]; then
+ cd $BundlePath/$Bundle
+ rm Info.plist
+ mv Info.plist.bak Info.plist
+ cd ../../../..
fi
if [[ $JBDaibutsu == 1 ]]; then
ExtraArgs+="-daibutsu "
- SaveExternal dora2-iOS daibutsuCFW
echo '#!/bin/bash' > tmp/reboot.sh
echo "mount_hfs /dev/disk0s1s1 /mnt1; mount_hfs /dev/disk0s1s2 /mnt2" >> tmp/reboot.sh
echo "nvram -d boot-partition; nvram -d boot-ramdisk" >> tmp/reboot.sh
echo "/usr/bin/haxx_overwrite -$HWModel" >> tmp/reboot.sh
+ JBFiles2=("bin.tar" "cydia.tar" "untether.tar")
+ JBSHA1=("98034227c68610f4c7dd48ca9e622314a1e649e7" "2e9e662afe890e50ccf06d05429ca12ce2c0a3a3" "f88ec9a1b3011c4065733249363e9850af5f57c8")
+ cd tmp
+ for i in {0..2}; do
+ local URL="https://github.com/dora2-iOS/daibutsuCFW/raw/main/build/src/"
+ (( $i > 0 )) && URL+="daibutsu/${JBFiles2[$i]}" || URL+="${JBFiles2[$i]}"
+ if [[ ! -e ../resources/jailbreak/${JBFiles2[$i]} ]]; then
+ Log "Downloading ${JBFiles2[$i]}..."
+ SaveFile $URL ${JBFiles2[$i]} ${JBSHA1[$i]}
+ mv ${JBFiles2[$i]} ../resources/jailbreak
+ fi
+ JBFiles2[$i]=jailbreak/${JBFiles2[$i]}
+ done
+ cd ..
elif [[ $Jailbreak == 1 ]]; then
- cp $Bundle/Info.plist $Bundle/Info.plist.bak
- sed -z -i "s|\n|\tneedPref\n\t\n\n|g" $Bundle/Info.plist
+ cd $BundlePath/$Bundle
+ cp Info.plist Info.plist.bak
+ sed -z -i "s|\n|\tneedPref\n\t\n\n|g" Info.plist
+ cd ../../../..
if [[ $OSVer == "8.4.1" ]]; then
JBFiles=("fstab.tar" "etasonJB-untether.tar" "Cydia8.tar")
JBSHA1="6459dbcbfe871056e6244d23b33c9b99aaeca970"
@@ -40,7 +58,7 @@ IPSW32() {
fi
if [[ ! -e resources/jailbreak/${JBFiles[2]} ]]; then
cd tmp
- Log "Downloading jailbreak files..."
+ Log "Downloading ${JBFiles[2]}..."
SaveFile https://github.com/LukeZGD/iOS-OTA-Downgrader-Keys/releases/download/jailbreak/${JBFiles[2]} ${JBFiles[2]} $JBSHA1
mv ${JBFiles[2]} ../resources/jailbreak
cd ..
@@ -59,10 +77,10 @@ IPSW32() {
Log "Preparing custom IPSW..."
cd resources
rm -rf FirmwareBundles
- if [[ $JBDaibutsu == 1 ]]; then
- ln -sf firmware/JailbreakBundles FirmwareBundles
+ if [[ $JBDaibutsu == 1 && -d firmware/JailbreakBundles/$Bundle ]]; then
+ cp -R firmware/JailbreakBundles FirmwareBundles
else
- ln -sf firmware/FirmwareBundles FirmwareBundles
+ cp -R firmware/FirmwareBundles FirmwareBundles
fi
$ipsw ./../$IPSW.ipsw ./../$IPSWCustom.ipsw $ExtraArgs ${JBFiles[@]}
cd ..