https://github.com/doronz88/pymobiledevice3
Pure python3 implementation for working with iDevices (iPhone, etc...).
https://github.com/doronz88/pymobiledevice3
afc instruments ios libimobiledevice lockdown-services lockdownd protocol python python3 usbmux
Last synced: 17 days ago
JSON representation
Pure python3 implementation for working with iDevices (iPhone, etc...).
- Host: GitHub
- URL: https://github.com/doronz88/pymobiledevice3
- Owner: doronz88
- License: gpl-3.0
- Created: 2021-04-14T12:53:51.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2026-03-29T16:45:42.000Z (2 months ago)
- Last Synced: 2026-03-29T18:59:24.821Z (2 months ago)
- Topics: afc, instruments, ios, libimobiledevice, lockdown-services, lockdownd, protocol, python, python3, usbmux
- Language: Python
- Homepage: https://discord.gg/52mZGC3JXJ
- Size: 84.7 MB
- Stars: 2,218
- Watchers: 35
- Forks: 329
- Open Issues: 92
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# PyMobileDevice3
[](https://github.com/doronz88/pymobiledevice3/actions/workflows/python-app.yml "Python application action")
[](https://pypi.org/project/pymobiledevice3/ "PyPi package")
[](https://pepy.tech/project/pymobiledevice3)
[](https://discord.gg/52mZGC3JXJ)
[](https://deepwiki.com/doronz88/pymobiledevice3)
## Overview
`pymobiledevice3` is a pure Python 3 implementation for interacting with iOS devices (iPhone, iPad, ...).
It includes both a CLI and a Python API and is supported on:
- Windows
- Linux
- macOS
Main features:
- Device discovery over bonjour
- TCP port forwarding
- Syslog and oslog streaming
- Profile and application management
- AFC file access
- Crash report collection
- Network sniffing (PCAP)
- Firmware update
- Recovery/DFU workflows
- Notification listen/post (`notify_post()`)
- Querying and setting SpringBoard options
- WebInspector automation
- DDI/DVT developer tooling
- Backup and restore
## Quick Start
Install from PyPI:
```shell
python3 -m pip install -U pymobiledevice3
```
Or install from source:
```shell
git clone git@github.com:doronz88/pymobiledevice3.git
cd pymobiledevice3
python3 -m pip install -U -e .
```
Verify connectivity and run first commands:
```shell
pymobiledevice3 usbmux list
pymobiledevice3 syslog live
pymobiledevice3 apps list
```
## Platform Notes
- Windows:
- Install iTunes from Microsoft Store:
- For WSL2, enable mirrored networking mode:
```none
[wsl2]
networkingMode=mirrored
```
- Linux:
- Install `usbmuxd`:
- OpenSSL:
- OpenSSL is explicitly required for older iOS versions (`< 13`).
- Recovery/DFU support
- Requires `libusb`.
### Support Matrix (Developer Services)
`iOS >= 17` developer services require tunnel-based transport.
| Host OS | iOS 17.0-17.3.1 | iOS 17.4+ |
| --- | --- | --- |
| macOS | Supported | Supported |
| Windows | Supported (requires additional drivers) | Supported |
| Linux | Limited | Supported (lockdown tunnel) |
See the detailed guide: [iOS 17+ tunnels](docs/guides/ios17-tunnels.md)
## Common CLI Tasks
See full recipes: [CLI recipes](docs/guides/cli-recipes.md)
```shell
# List connected devices
pymobiledevice3 usbmux list
# Watch syslog
pymobiledevice3 syslog live
# Pull crash reports
pymobiledevice3 crash pull /path/to/crashes
# Mount DDI
pymobiledevice3 mounter auto-mount
# DVT screenshot (requires developer setup)
pymobiledevice3 developer dvt screenshot /path/to/screen.png
```
Install shell completions:
```shell
pymobiledevice3 install-completions
```
## Python API and Protocol Internals
- Protocol overview:
[Understanding iDevice protocol layers](misc/understanding_idevice_protocol_layers.md)
- DTX API quick start:
[DTX README](pymobiledevice3/dtx/README.md)
- DTX internals:
[DTX DEVELOPMENT](pymobiledevice3/dtx/DEVELOPMENT.md)
- RemoteXPC internals:
[RemoteXPC](misc/RemoteXPC.md)
- Building custom CLI commands with `service_provider`:
[Guide](docs/guides/writing-commands-with-service-provider.md)
## Documentation Map
See [Documentation index](docs/README.md) for task-focused guides.
## Contributing
See [CONTRIBUTING](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md).
Agent-specific contributor guidance is in [AGENTS](AGENTS.md).
## License and Credits
This work is licensed under GPL 3.0 and credited to several major contributors:
- Hector Martin "marcan"
- Mathieu Renard
- [doronz](https://github.com/doronz88)
- [matan1008](https://github.com/matan1008)
- [Guy Salton](https://github.com/guysalt)
- [netanelc305](https://github.com/netanelc305)
- Inbar Agmon ([Project's logo](https://repository-images.githubusercontent.com/357904774/6d6fb035-5953-425d-9afd-cc1087df0cfb))