A Linux-based command-line utility for managing iOS devices, including backups, restores, updates, and more.
This project is an independent, open-source tool and is not affiliated with, endorsed by, or sponsored by Apple Inc. iOS, iPhone, and other related trademarks are the property of Apple Inc. This tool is provided as-is for managing iOS devices on Linux systems.
iosctlsh is a Linux-based command-line utility designed to manage iOS devices effortlessly. From performing software updates to creating backups, restoring encrypted backups, and enabling developer mode, this tool simplifies complex iOS management tasks for Linux users.
- Perform iOS software updates and restores using signed firmwares downloaded from ipsw.me.
- Create full backups or delta (incremental) backups.
- Restore backups from other iOS devices or encrypted backups.
- Enable Developer Mode for advanced debugging and development tools.
- Exit or enter Recovery Mode.
- Retrieve detailed device diagnostics, including model information and encryption backup status.
Firmware updates and factory restores rely on the Image4 restore implementation provided by pymobiledevice3.
These operations are generally supported on:
- iPhone 5s and later.
- iPad Air and later.
- iPad mini 2 and later.
- iPod touch 6th generation and later.
Older 32-bit devices using the IMG3 firmware format are not supported for firmware update or factory restore and may return:
NotImplementedError: is_image4_supported is False
Backup and backup restore operations are separate from firmware restores and are not affected by this Image4 limitation.
- Bash - Shell scripting language.
- pymobiledevice3 - A Python library for managing iOS devices.
- jq - Command-line JSON processor.
To set up iosctlsh on your Linux system, follow these steps.
Ensure you have the following dependencies installed (package names may vary by distro):
- usbmuxd
- libusb
- python3
- python3-devel
- python3-venv
- jq
- ca-certificates
For Debian-based distros if python is not recognized, create a symbolic link to python3:
sudo ln -s /usr/bin/python3 /usr/bin/python
-
Clone the repository:
git clone https://github.com/davidecelentano/iosctlsh.git -
Navigate to the project directory:
cd iosctlsh -
Make the script executable:
chmod +x iosctl.sh -
Run the script:
./iosctl.sh
Screenshot From 2025年01月22日 23-19-02
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.