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 ..