diff --git a/README.md b/README.md index 9f53b21..12fd213 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ The various command-line options are as follows: # Dependencies - please exeucte this command: python3 -m pip install fastapi aiohttp ujson wikitextparser uvicorn pyimg4. - A disabled passcode on A10 and A11 devices. -- unzip, python3, libimobiledevice-utils, libusbmuxd-tools. +- unzip, python3, libimobiledevice-utils, libusbmuxd-tools, xz-utils. - An .iPSW file containing iOS 14 or 15. - A device running macOS or a Linux distro. It is recommended to use macOS, as it is likely more stable and faster. diff --git a/downr1n.sh b/downr1n.sh index 83ad8a9..f473db6 100755 --- a/downr1n.sh +++ b/downr1n.sh @@ -410,19 +410,6 @@ trap _exit_handler EXIT # Dependencies # ============ -# Check if futurerestore exists -if [ ! -e "$oscheck"/futurerestore ]; then - echo "[*] Downloading futurerestore please wait..." # futurerestore downloader by sasa :) - if [ "$os" = "Darwin" ]; then - curl -sLo futurerestore-macOS-RELEASE.zip https://nightly.link/futurerestore/futurerestore/workflows/ci/main/futurerestore-macOS-RELEASE.zip - unzip futurerestore-macOS-RELEASE.zip - else - curl -sLo futurerestore-Linux-x86_64-RELEASE.zip https://nightly.link/futurerestore/futurerestore/workflows/ci/main/futurerestore-Linux-x86_64-RELEASE.zip - unzip futurerestore-Linux-x86_64-RELEASE.zip - fi - mv futurerestore "$dir"/ -fi - if [ "$os" = "Linux" ]; then chmod +x getSSHOnLinux.sh ./getSSHOnLinux.sh & @@ -432,7 +419,7 @@ if [ "$os" = 'Linux' ]; then linux_cmds='lsusb' fi -for cmd in unzip python3 rsync git ssh scp killall sudo grep pgrep ${linux_cmds}; do +for cmd in unzip python3 rsync git ssh scp killall sudo grep pgrep xz ${linux_cmds}; do if ! command -v "${cmd}" > /dev/null; then echo "[-] Command '${cmd}' not installed, please install it!"; cmd_not_found=1 @@ -450,6 +437,22 @@ if ! python3 -c 'import pkgutil; exit(not pkgutil.find_loader("fastapi") and not python3 -m pip install fastapi aiohttp ujson wikitextparser uvicorn pyimg4 fi +# Check if futurerestore exists +if [ ! -e "$oscheck"/futurerestore ]; then + echo "[*] Downloading futurerestore please wait..." # futurerestore downloader by sasa :) + if [ "$os" = "Darwin" ]; then + curl -sLo futurerestore-macOS-RELEASE.zip https://nightly.link/futurerestore/futurerestore/workflows/ci/main/futurerestore-macOS-RELEASE.zip + unzip futurerestore-macOS-RELEASE.zip + xz -dc futurerestore-*.xz | tar xfv - + else + curl -sLo futurerestore-Linux-x86_64-RELEASE.zip https://nightly.link/futurerestore/futurerestore/workflows/ci/main/futurerestore-Linux-x86_64-RELEASE.zip + unzip futurerestore-Linux-x86_64-RELEASE.zip + xz -dc futurerestore-*.xz | tar xfv - + fi + mv futurerestore "$dir"/ + rm -rf futurerestore-* +fi + # Update submodules git submodule update --init --recursive git submodule foreach git pull origin main diff --git a/linux_fix.sh b/linux_fix.sh deleted file mode 100755 index d6c8ab7..0000000 --- a/linux_fix.sh +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/env bash -# Futurerestore/irecovery linux fix script made by @Cryptiiiic -# Supported Distros: archlinux, ubuntu, debian -set -e -pacman=0 -aptget=0 -dnf=0 - -if [ "$EUID" -ne 0 ] - then - echo "-1: Please run as root" - exit -1 -fi - -if [[ -f "/etc/fedora-release" ]] -then - echo "Fedora detected installing ca-certs..." - echo "Done!" -fi - -echo "Attemping linux usb fixes please wait..." - -if [[ $(which pacman 2>/dev/null) ]] -then - pacman=1 -elif [[ $(which apt-get 2>/dev/null) ]] -then - aptget=1 -elif [[ $(which dnf 2>/dev/null) ]] -then - dnf=1 -else - echo "-2: Linux Distro not supported!" - exit -2 -fi - -if [[ "$(expr $pacman)" -gt '0' ]] -then - if [[ -f "/etc/arch-release" ]] - then - echo "Arch Linux Detected!" - sudo pacman -Syy --needed --noconfirm >/dev/null 2>/dev/null - sudo pacman -S --needed --noconfirm udev usbmuxd >/dev/null 2>/dev/null - sudo systemctl enable systemd-udevd usbmuxd --now 2>/dev/null - echo "QUNUSU9OPT0iYWRkIiwgU1VCU1lTVEVNPT0idXNiIiwgQVRUUntpZFZlbmRvcn09PSIwNWFjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTIyWzI3XXwxMjhbMC0zXSIsIE9XTkVSPSJyb290IiwgR1JPVVA9InN0b3JhZ2UiLCBNT0RFPSIwNjYwIgoKQUNUSU9OPT0iYWRkIiwgU1VCU1lTVEVNPT0idXNiIiwgQVRUUntpZFZlbmRvcn09PSIwNWFjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTMzOCIsIE9XTkVSPSJyb290IiwgR1JPVVA9InN0b3JhZ2UiLCBNT0RFPSIwNjYwIgo=" | base64 -d | sudo tee /usr/lib/udev/rules.d/39-libirecovery.rules >/dev/null - else - echo "-3: Linux Distro not supported!" - exit -3 - fi -elif [[ "$(expr $aptget)" -gt '0' ]] -then - if [[ -f "/etc/lsb-release" || -f "/etc/debian_version" ]] - then - echo "Ubuntu or Debian Detected!" - sudo apt-get update -qq >/dev/null 2>/dev/null - sudo apt-get install -yqq usbmuxd udev >/dev/null 2>/dev/null - sudo systemctl enable udev >/dev/null 2>/dev/null || true - sudo systemctl enable systemd-udevd >/dev/null 2>/dev/null || true - sudo systemctl enable usbmuxd >/dev/null 2>/dev/null || true - sudo systemctl restart udev >/dev/null 2>/dev/null - sudo systemctl restart systemd-udevd >/dev/null 2>/dev/null - sudo systemctl restart usbmuxd >/dev/null 2>/dev/null - echo "QUNUSU9OPT0iYWRkIiwgU1VCU1lTVEVNPT0idXNiIiwgQVRUUntpZFZlbmRvcn09PSIwNWFjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTIyWzI3XXwxMjhbMC0zXSIsIE9XTkVSPSJ1c2JtdXgiLCBHUk9VUD0icGx1Z2RldiIsIE1PREU9IjA2NjAiCgpBQ1RJT049PSJhZGQiLCBTVUJTWVNURU09PSJ1c2IiLCBBVFRSe2lkVmVuZG9yfT09IjA1YWMiLCBBVFRSe2lkUHJvZHVjdH09PSIxMzM4IiwgT1dORVI9InVzYm11eCIsIEdST1VQPSJwbHVnZGV2IiwgTU9ERT0iMDY2MCIKCg==" | base64 -d | sudo tee /usr/lib/udev/rules.d/39-libirecovery.rules >/dev/null - else - echo "-4: Linux Distro not supported!" - exit -4 - fi -else - if [[ -f "/etc/fedora-release" ]] - then - echo "Fedora Detected!" - sudo dnf install -y usbmuxd udev systemd ca-certificates >/dev/null 2>/dev/null - sudo ln -sf /etc/pki/tls/certs/ca-bundle.crt /etc/pki/tls/certs/ca-certificates.crt >/dev/null 2>/dev/null - sudo systemctl enable --now systemd-udevd usbmuxd >/dev/null 2>/dev/null - echo "QUNUSU9OPT0iYWRkIiwgU1VCU1lTVEVNPT0idXNiIiwgQVRUUntpZFZlbmRvcn09PSIwNWFjIiwgQVRUUntpZFByb2R1Y3R9PT0iMTIyWzI3XXwxMjhbMC0zXSIsIE9XTkVSPSJyb290IiwgR1JPVVA9InVzYm11eGQiLCBNT0RFPSIwNjYwIiwgVEFHKz0idWFjY2VzcyIKCkFDVElPTj09ImFkZCIsIFNVQlNZU1RFTT09InVzYiIsIEFUVFJ7aWRWZW5kb3J9PT0iMDVhYyIsIEFUVFJ7aWRQcm9kdWN0fT09IjEzMzgiLCBPV05FUj0icm9vdCIsIEdST1VQPSJ1c2JtdXhkIiwgTU9ERT0iMDY2MCIsIFRBRys9InVhY2Nlc3MiCgoK" | base64 -d | sudo tee /usr/lib/udev/rules.d/39-libirecovery.rules >/dev/null 2>/dev/null - fi -fi -sudo chown root:root /usr/lib/udev/rules.d/39-libirecovery.rules >/dev/null 2>/dev/null -sudo chmod 0644 /usr/lib/udev/rules.d/39-libirecovery.rules >/dev/null 2>/dev/null -sudo udevadm control --reload-rules >/dev/null 2>/dev/null -echo "Done!" -echo "Please unplug and replug your iDevice!"