Update some linux bins and other changes part 2

- remove the --disable-usbmuxd arg
- switch to usbmuxd2 for linux
- fixes to changes from previous commit
- update limd binaries for linux
- linux binaries changes do not include armhf, i dont think anyone uses the arm 32-bit version of lik anyway
This commit is contained in:
LukeeGD 2024-11-15 19:22:56 +08:00
parent 06bf43ae15
commit 33c5956c88
22 changed files with 32 additions and 25 deletions

View File

@ -123,8 +123,6 @@
- **macOS** 10.11 and newer (10.12 and newer recommended for full support) - **macOS** 10.11 and newer (10.12 and newer recommended for full support)
- [**Ubuntu**](https://ubuntu.com/) 22.04 and newer, and Ubuntu-based distros like [Linux Mint](https://www.linuxmint.com/) - [**Ubuntu**](https://ubuntu.com/) 22.04 and newer, and Ubuntu-based distros like [Linux Mint](https://www.linuxmint.com/)
- [**Fedora**](https://getfedora.org/) 37 and newer, Fedora Atomic (Silverblue, Kinoite, etc.) also supported - [**Fedora**](https://getfedora.org/) 37 and newer, Fedora Atomic (Silverblue, Kinoite, etc.) also supported
- Users on Fedora 41 (or newer) may have issues connecting to older iOS devices. This applies to devices on lower than iOS 4.
- Workaround for now is to run this command: `sudo update-crypto-policies --set DEFAULT:SHA1`
- [**Debian**](https://www.debian.org/) 12 Bookworm and newer, Sid, and Debian-based distros - [**Debian**](https://www.debian.org/) 12 Bookworm and newer, Sid, and Debian-based distros
- [**Arch Linux**](https://www.archlinux.org/) and Arch-based distros like [EndeavourOS](https://endeavouros.com/) - [**Arch Linux**](https://www.archlinux.org/) and Arch-based distros like [EndeavourOS](https://endeavouros.com/)
- Less tested distros: [**openSUSE Tumbleweed**](https://get.opensuse.org/tumbleweed/), [**Gentoo**](https://www.gentoo.org/), [**Void Linux**](https://voidlinux.org/) - Less tested distros: [**openSUSE Tumbleweed**](https://get.opensuse.org/tumbleweed/), [**Gentoo**](https://www.gentoo.org/), [**Void Linux**](https://voidlinux.org/)
@ -148,6 +146,8 @@
- [libideviceactivation](https://github.com/LukeeGD/libideviceactivation) - libimobiledevice - [libideviceactivation](https://github.com/LukeeGD/libideviceactivation) - libimobiledevice
- [ideviceinstaller](https://github.com/LukeeGD/ideviceinstaller) - libimobiledevice - [ideviceinstaller](https://github.com/LukeeGD/ideviceinstaller) - libimobiledevice
- [ifuse](https://github.com/LukeeGD/ifuse) - libimobiledevice - [ifuse](https://github.com/LukeeGD/ifuse) - libimobiledevice
- [static-cross-openssh](https://github.com/binary-manu/static-cross-openssh) - scp and ssh binaries (used on Linux only)
- [usbmuxd2](https://github.com/LukeZGD/usbmuxd2) - tihmstar; LukeZGD fork (used on Linux only)
- [anisette-server](https://github.com/Dadoum/Provision) from Provision - Dadoum (used for sideloading on Linux) - [anisette-server](https://github.com/Dadoum/Provision) from Provision - Dadoum (used for sideloading on Linux)
- [AltServer-Linux](https://github.com/NyaMisty/AltServer-Linux) - NyaMisty (used for sideloading on Linux) - [AltServer-Linux](https://github.com/NyaMisty/AltServer-Linux) - NyaMisty (used for sideloading on Linux)
- [Sideloader](https://github.com/Dadoum/Sideloader) - Dadoum (used for sideloading on Linux) - [Sideloader](https://github.com/Dadoum/Sideloader) - Dadoum (used for sideloading on Linux)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
bin/linux/arm64/usbmuxd2 Executable file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
bin/linux/x86_64/usbmuxd2 Executable file

Binary file not shown.

View File

@ -83,7 +83,6 @@ List of options:
--debug For script debugging (set -x and debug mode) --debug For script debugging (set -x and debug mode)
--dfuhelper Launch to DFU Mode Helper only --dfuhelper Launch to DFU Mode Helper only
--disable-sudoloop Disable running tools as root for Linux --disable-sudoloop Disable running tools as root for Linux
--disable-usbmuxd Disable running usbmuxd as root for Linux
--entry-device Enable manual device and ECID entry --entry-device Enable manual device and ECID entry
--exit-recovery Attempt to exit recovery mode --exit-recovery Attempt to exit recovery mode
--help Display this help message --help Display this help message
@ -155,6 +154,7 @@ set_tool_paths() {
"jammy" | "kinetic" ) ubuntu_ver=22;; "jammy" | "kinetic" ) ubuntu_ver=22;;
"lunar" | "mantic" ) ubuntu_ver=23;; "lunar" | "mantic" ) ubuntu_ver=23;;
"noble" | "oracular" ) ubuntu_ver=24;; "noble" | "oracular" ) ubuntu_ver=24;;
"plucky" ) ubuntu_ver=25;;
esac esac
if [[ -z $ubuntu_ver ]]; then if [[ -z $ubuntu_ver ]]; then
source /etc/upstream-release/lsb-release 2>/dev/null source /etc/upstream-release/lsb-release 2>/dev/null
@ -183,10 +183,6 @@ set_tool_paths() {
if [[ $(command -v rpm-ostree) ]]; then if [[ $(command -v rpm-ostree) ]]; then
distro="fedora-atomic" distro="fedora-atomic"
fi fi
if (( fedora_ver >= 41 )); then
warn "Users on Fedora 41 (or newer) may have issues connecting to older iOS devices. This applies to devices on lower than iOS 4."
print "* Workaround for now is to run this command: sudo update-crypto-policies --set FEDORA40"
fi
elif [[ $ID == "opensuse-tumbleweed" ]]; then elif [[ $ID == "opensuse-tumbleweed" ]]; then
distro="opensuse" distro="opensuse"
elif [[ $ID == "gentoo" || $ID_LIKE == "gentoo" || $ID == "pentoo" ]]; then elif [[ $ID == "gentoo" || $ID_LIKE == "gentoo" || $ID == "pentoo" ]]; then
@ -259,17 +255,20 @@ set_tool_paths() {
error "Failed to find bin directory for $platform_arch, found $(ls -x ../bin/linux) instead." \ error "Failed to find bin directory for $platform_arch, found $(ls -x ../bin/linux) instead." \
"* Download the \"linux_$platform_arch\" or \"complete\" version to continue (or do a git clone)" "* Download the \"linux_$platform_arch\" or \"complete\" version to continue (or do a git clone)"
fi fi
if [[ -z $device_disable_usbmuxd ]]; then
trap "clean_usbmuxd" EXIT trap "clean_usbmuxd" EXIT
fi if [[ $othertmp == 0 ]]; then
if [[ -z $device_disable_usbmuxd && $othertmp == 0 ]]; then
if [[ $(command -v systemctl 2>/dev/null) ]]; then if [[ $(command -v systemctl 2>/dev/null) ]]; then
sudo systemctl stop usbmuxd sudo systemctl stop usbmuxd
fi fi
#sudo killall usbmuxd 2>/dev/null #sudo killall usbmuxd 2>/dev/null
#sleep 1 #sleep 1
if [[ $platform_arch == "armhf" ]]; then
log "Running usbmuxd" log "Running usbmuxd"
sudo -b $dir/usbmuxd -pf &>../saved/usbmuxd.log sudo -b $dir/usbmuxd -pf &>../saved/usbmuxd.log
else
log "Running usbmuxd2"
sudo -b $dir/usbmuxd2 &>../saved/usbmuxd.log
fi
elif [[ $othertmp != 0 ]]; then elif [[ $othertmp != 0 ]]; then
log "Detected existing tmp folder(s), there might be other Legacy iOS Kit instance(s) running" log "Detected existing tmp folder(s), there might be other Legacy iOS Kit instance(s) running"
log "Not running usbmuxd" log "Not running usbmuxd"
@ -1651,8 +1650,9 @@ device_enter_mode() {
tool_pwned=$? tool_pwned=$?
log "gaster reset" log "gaster reset"
$gaster reset $gaster reset
elif [[ $device_type == "iPod2,1" || $2 == "alloc8" ]]; then elif [[ $device_type == "iPod2,1" || $mode == "device_alloc8" ]]; then
# touch 2 uses ipwndfu # touch 2 uses ipwndfu
# also installing alloc8 requires pwning with ipwndfu
device_ipwndfu pwn device_ipwndfu pwn
tool_pwned=$? tool_pwned=$?
elif [[ $device_proc == 4 ]] || [[ $device_proc == 6 && $platform == "macos" && $platform_arch == "x86_64" ]]; then elif [[ $device_proc == 4 ]] || [[ $device_proc == 6 && $platform == "macos" && $platform_arch == "x86_64" ]]; then
@ -1683,7 +1683,7 @@ device_enter_mode() {
device_ipwndfu pwn device_ipwndfu pwn
tool_pwned=$? tool_pwned=$?
elif [[ $device_proc == 6 ]]; then elif [[ $device_proc == 6 ]]; then
# A6 mac uses ipwnder_lite # A6 asi mac uses ipwnder_lite
log "Placing device to pwnDFU mode using ipwnder_lite" log "Placing device to pwnDFU mode using ipwnder_lite"
$ipwnder -d $ipwnder -d
tool_pwned=$? tool_pwned=$?
@ -7587,15 +7587,15 @@ menu_ipsw_browse() {
local text="Target" local text="Target"
local picker local picker
local menu_items=($(ls ../$device_type*.ipsw 2>/dev/null)) local menu_items=($(ls ../$device_type*Restore.ipsw 2>/dev/null))
if [[ $1 == "base" ]]; then if [[ $1 == "base" ]]; then
text="Base" text="Base"
menu_items=() menu_items=()
case $device_type in case $device_type in
iPhone3,[13] ) menu_items=($(ls ../${device_type}_7.1.2*.ipsw 2>/dev/null));; iPhone3,[13] ) menu_items=($(ls ../${device_type}_7.1.2*Restore.ipsw 2>/dev/null));;
iPad1,1 | iPod3,1 ) menu_items=($(ls ../${device_type}_5.1.1*.ipsw 2>/dev/null));; iPad1,1 | iPod3,1 ) menu_items=($(ls ../${device_type}_5.1.1*Restore.ipsw 2>/dev/null));;
iPhone5* ) menu_items=($(ls ../${device_type}_7*.ipsw 2>/dev/null));; iPhone5* ) menu_items=($(ls ../${device_type}_7*Restore.ipsw 2>/dev/null));;
* ) menu_items=($(ls ../${device_type}_7.1*.ipsw 2>/dev/null));; * ) menu_items=($(ls ../${device_type}_7.1*Restore.ipsw 2>/dev/null));;
esac esac
fi fi
case $1 in case $1 in
@ -7608,7 +7608,7 @@ menu_ipsw_browse() {
if [[ $versionc == "$device_latest_vers" ]]; then if [[ $versionc == "$device_latest_vers" ]]; then
menu_items=() menu_items=()
elif [[ -n $versionc ]]; then elif [[ -n $versionc ]]; then
menu_items=($(ls ../${device_type}_${versionc}*.ipsw 2>/dev/null)) menu_items=($(ls ../${device_type}_${versionc}*Restore.ipsw 2>/dev/null))
fi fi
menu_items+=("Open File Picker" "Enter Path" "Go Back") menu_items+=("Open File Picker" "Enter Path" "Go Back")
@ -7637,7 +7637,7 @@ menu_ipsw_browse() {
newpath="$($cocoadialog fileselect --with-extensions ipsw)" newpath="$($cocoadialog fileselect --with-extensions ipsw)"
else else
menu_zenity_check menu_zenity_check
newpath="$($zenity --file-selection --file-filter='IPSW | *.ipsw' --title="Select $text IPSW file")" newpath="$($zenity --file-selection --file-filter='IPSW | *Restore.ipsw' --title="Select $text IPSW file")"
fi fi
fi fi
if [[ ! -s "$newpath" ]]; then if [[ ! -s "$newpath" ]]; then
@ -8144,7 +8144,7 @@ device_ssh() {
} }
device_alloc8() { device_alloc8() {
device_enter_mode pwnDFU alloc8 device_enter_mode pwnDFU
device_ipwndfu alloc8 device_ipwndfu alloc8
log "Done!" log "Done!"
print "* This may take several tries. It can fail a lot with \"Operation timed out\" error." print "* This may take several tries. It can fail a lot with \"Operation timed out\" error."
@ -8474,7 +8474,15 @@ device_activate() {
print "* For hacktivation, go to \"Restore/Downgrade\" instead." print "* For hacktivation, go to \"Restore/Downgrade\" instead."
fi fi
fi fi
if [[ $platform_arch != "x86_64" ]] && (( fedora_ver >= 41 )); then
warn "Users on Fedora 41 (or newer) may have issues connecting to older iOS devices. This applies to devices on lower than iOS 4."
print "* Workaround for now is to run this command: sudo update-crypto-policies --set DEFAULT:SHA1"
fi
if [[ $platform == "linux" && $platform_arch == "x86_64" ]]; then
LD_LIBRARY_PATH=$dir/lib "$dir/ideviceactivation" activate
else
"$dir/ideviceactivation" activate "$dir/ideviceactivation" activate
fi
case $device_type in case $device_type in
iPod[123],1 ) iPod[123],1 )
if (( device_det <= 3 )); then if (( device_det <= 3 )); then
@ -9143,7 +9151,6 @@ for i in "$@"; do
"--memory" ) ipsw_memory=1;; "--memory" ) ipsw_memory=1;;
"--disable-bbupdate" ) device_disable_bbupdate=1;; "--disable-bbupdate" ) device_disable_bbupdate=1;;
"--disable-sudoloop" ) device_disable_sudoloop=1;; "--disable-sudoloop" ) device_disable_sudoloop=1;;
"--disable-usbmuxd" ) device_disable_usbmuxd=1;;
"--activation-records" ) device_actrec=1;; "--activation-records" ) device_actrec=1;;
"--ipsw-hacktivate" ) ipsw_hacktivate=1;; "--ipsw-hacktivate" ) ipsw_hacktivate=1;;
"--skip-ibss" ) device_skip_ibss=1;; "--skip-ibss" ) device_skip_ibss=1;;