82 lines
3.8 KiB
Bash
Executable file
82 lines
3.8 KiB
Bash
Executable file
#!/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!"
|