@@ -51,7 +51,7 @@ pause() {
5151}
5252
5353clean () {
54- kill $httpserver_pid $iproxy_pid $anisette_pid 2> /dev/null
54+ kill $httpserver_pid $iproxy_pid $anisette_pid $sshfs_pid 2> /dev/null
5555 popd & > /dev/null
5656 rm -rf " $( dirname " $0 " ) /tmp$$ /" * " $( dirname " $0 " ) /iP" * / " $( dirname " $0 " ) /tmp$$ /" 2> /dev/null
5757 if [[ $platform == " macos" && $( ls " $( dirname " $0 " ) " | grep -v tmp$$ | grep -c tmp) == 0 &&
@@ -572,13 +572,13 @@ set_tool_paths() {
572572 ideviceinfo=" $dir /ideviceinfo"
573573 ideviceinstaller+=" $dir /ideviceinstaller"
574574 idevicerestore+=" $dir /idevicerestore"
575- ifuse=" $( command -v ifuse) "
576575 ipwnder+=" $dir /ipwnder"
577576 irecovery+=" $dir /irecovery"
578577 irecovery2+=" $dir /irecovery2"
579578 irecovery3+=" ../$dir /irecovery"
580579 jq=" $dir /jq"
581580 primepwn+=" $dir /primepwn"
581+ sshfs=" $( command -v sshfs) "
582582
583583 cp ../resources/ssh_config .
584584 if [[ $( ssh -V 2>&1 | grep -c SSH_8.8) == 1 || $( ssh -V 2>&1 | grep -c SSH_8.9) == 1 ||
@@ -615,21 +615,21 @@ install_depends() {
615615
616616 log " Installing dependencies..."
617617 if [[ $distro == " arch" ]]; then
618- sudo pacman -Sy --noconfirm --needed base-devel ca-certificates ca-certificates-mozilla curl git ifuse libimobiledevice openssh python udev unzip usbmuxd usbutils vim zenity zip zstd
618+ sudo pacman -Sy --noconfirm --needed base-devel ca-certificates ca-certificates-mozilla curl git libimobiledevice openssh python sshfs udev unzip usbmuxd usbutils vim zenity zip zstd
619619 prepare_udev_rules root storage
620620
621621 elif [[ $distro == " debian" ]]; then
622622 if [[ -n $ubuntu_ver ]]; then
623623 sudo add-apt-repository -y universe
624624 fi
625625 sudo apt update
626- sudo apt install -m -y ca-certificates curl git ifuse libssl3 libzstd1 openssh-client patch python3 unzip usbmuxd usbutils xxd zenity zip zlib1g
626+ sudo apt install -m -y ca-certificates curl git libssl3 libzstd1 openssh-client patch python3 sshfs unzip usbmuxd usbutils xxd zenity zip zlib1g
627627 if [[ $( command -v systemctl 2> /dev/null) ]]; then
628628 sudo systemctl enable --now udev systemd-udevd usbmuxd 2> /dev/null
629629 fi
630630
631631 elif [[ $distro == " fedora" ]]; then
632- sudo dnf install -y ca-certificates git ifuse libimobiledevice libzstd openssl patch python3 systemd udev usbmuxd vim-common zenity zip
632+ sudo dnf install -y ca-certificates git libimobiledevice libzstd openssl patch python3 sshfs systemd udev usbmuxd vim-common zenity zip
633633 sudo ln -sf /etc/pki/tls/certs/ca-bundle.crt /etc/pki/tls/certs/ca-certificates.crt
634634 prepare_udev_rules root usbmuxd
635635
@@ -638,11 +638,11 @@ install_depends() {
638638 print " * You may need to reboot to apply changes with rpm-ostree. Perform a reboot after this before running the script again."
639639
640640 elif [[ $distro == " opensuse" ]]; then
641- sudo zypper -n install ca-certificates curl git ifuse libimobiledevice-1_0-6 libzstd1 openssl-3 patch python3 usbmuxd unzip vim zenity zip
641+ sudo zypper -n install ca-certificates curl git libimobiledevice-1_0-6 libzstd1 openssl-3 patch python3 sshfs usbmuxd unzip vim zenity zip
642642 prepare_udev_rules usbmux usbmux # idk if this is right
643643
644644 elif [[ $distro == " gentoo" ]]; then
645- sudo emerge -av --noreplace app-arch/zstd app-misc/ca-certificates app-pda/ifuse libimobiledevice net-misc/curl openssh python udev unzip usbmuxd usbutils vim zenity zip
645+ sudo emerge -av --noreplace app-arch/zstd app-misc/ca-certificates libimobiledevice net-fs/sshfs net-misc/curl openssh python udev unzip usbmuxd usbutils vim zenity zip
646646
647647 elif [[ $distro == " void" ]]; then
648648 sudo xbps-install curl git patch openssh python3 unzip xxd zenity zip
@@ -1644,6 +1644,7 @@ device_sshpass() {
16441644 ssh_pass=" $pass "
16451645 scp=" $dir /sshpass -p $pass $scp2 "
16461646 ssh=" $dir /sshpass -p $pass $ssh2 "
1647+ sshfs2=" $dir /sshpass -p $pass $sshfs "
16471648}
16481649
16491650device_iproxy () {
@@ -7316,10 +7317,11 @@ menu_datamanage() {
73167317 else
73177318 menu_items+=(" Backup" " Restore" )
73187319 fi
7319- if [[ -z $ifuse ]]; then
7320- warn " ifuse not installed. Mount Device options are not available. Install ifuse from your package manager to fix this"
7320+ if [[ -z $sshfs ]]; then
7321+ warn " sshfs not installed. Mount Device options are not available. Install sshfs from your package manager to fix this"
7322+ [[ $platform == " macos" ]] && print " * On macOS, install fuse-t-sshfs"
73217323 else
7322- menu_items+=(" Mount Device" " Mount Device (Raw File System)" " Unmount Device " )
7324+ menu_items+=(" Mount Device" " Mount Device (Raw File System)" )
73237325 fi
73247326 menu_items+=(" Connect to SSH" " Cydia App Install" )
73257327 if (( device_det >= 9 )) ; then
@@ -7337,9 +7339,21 @@ menu_datamanage() {
73377339 " Backup" ) mode=" device_backup_create" ;;
73387340 " Restore" ) menu_backup_restore;;
73397341 " Erase All Content and Settings" ) mode=" device_erase" ;;
7340- " Mount Device" ) mkdir ../mount 2> /dev/null; $ifuse ../mount; log " Device (Media) should now be mounted on mount folder" ;;
7341- " Mount Device (Raw File System)" ) mkdir ../mount 2> /dev/null; $ifuse --root ../mount; log " Device (root) should now be mounted on mount folder" ;;
7342- " Unmount Device" ) log " Attempting to umount device from mount folder" ; umount ../mount;;
7342+ " Mount Device" * )
7343+ local path=" /var/mobile/Media"
7344+ [[ $selected == * " Raw" * ]] && path=" /"
7345+ device_ssh_message
7346+ device_iproxy no-logging
7347+ device_sshpass
7348+ mkdir ../mount 2> /dev/null
7349+ $sshfs2 -d -F $( pwd) /ssh_config -p 6414 ${ssh_user} @127.0.0.1:$path ../mount & > ../saved/sshfs.log &
7350+ sshfs_pid=$!
7351+ log " Device should now be mounted on mount folder"
7352+ print " * Press Enter/Return to unmount the device."
7353+ pause
7354+ umount ../mount 2> /dev/null
7355+ kill $iproxy_pid $sshfs_pid
7356+ ;;
73437357 " Connect to SSH" ) device_ssh;;
73447358 " Cydia App Install" )
73457359 echo
0 commit comments