{"name":"vphone-cli: Boot Virtual iPhones on Apple Silicon with Advanced Control","description":"vphone-cli is a powerful command-line interface tool that enables users to boot virtual iPhones on Apple Silicon Macs. Leveraging Apple's Virtualization.framework, it provides comprehensive control over virtual iOS environments, including custom firmware installation and advanced debugging capabilities. This tool is ideal for researchers, developers, and security enthusiasts exploring iOS virtualization.","github":"https://github.com/Lakr233/vphone-cli","url":"https://osrepos.com/repo/lakr233-vphone-cli","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/lakr233-vphone-cli","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/lakr233-vphone-cli.md","json":"https://osrepos.com/repo/lakr233-vphone-cli.json","topics":["Swift","Virtualization","iOS","Apple Silicon","macOS","Jailbreak","CLI","Mobile Research"],"keywords":["Swift","Virtualization","iOS","Apple Silicon","macOS","Jailbreak","CLI","Mobile Research"],"stars":null,"summary":"vphone-cli is a powerful command-line interface tool that enables users to boot virtual iPhones on Apple Silicon Macs. Leveraging Apple's Virtualization.framework, it provides comprehensive control over virtual iOS environments, including custom firmware installation and advanced debugging capabilities. This tool is ideal for researchers, developers, and security enthusiasts exploring iOS virtualization.","content":"## Introduction\n\nvphone-cli is an innovative command-line tool designed to boot virtual iPhones on Apple Silicon Macs. It utilizes Apple's Virtualization.framework, building upon the PCC research VM infrastructure to offer a robust and flexible environment for iOS virtualization. This project provides extensive control over virtual iOS devices, enabling users to perform tasks ranging from standard VM operations to advanced custom firmware installations.\n\nKey features include support for various firmware variants with increasing security bypass levels, such as `less`, `regular`, `dev`, `jb` (jailbreak), and `exp` (experimental). It also offers SSH and VNC connectivity for seamless interaction, making it an invaluable tool for mobile security research, development, and testing.\n\n## Why Use and Benefits\n\nvphone-cli offers several compelling advantages for anyone needing to work with virtual iOS environments:\n\n*   **Comprehensive Control**: Gain full command over virtual iPhones, from creation and configuration to launching and stopping, all through a powerful CLI.\n*   **Custom Firmware Support**: Install custom firmware (CFW) with different levels of security bypass, including full jailbreak capabilities, providing unparalleled flexibility for research and development.\n*   **Automation**: Automate the entire VM lifecycle, from downloading and patching IPSWs to DFU restore and CFW installation, streamlining complex workflows.\n*   **Debugging and Research**: Access advanced debugging features and research patches, making it an excellent platform for security analysis and vulnerability research.\n*   **Connectivity**: Easily connect to your virtual iPhone via SSH for command-line access or VNC for a graphical interface, facilitating interaction and testing.\n*   **Open Source**: Released under the MIT License, promoting transparency and community contributions.\n\n## Installation\n\nTo get started with vphone-cli, ensure you meet the prerequisites and follow the installation steps.\n\n**Prerequisites:**\n\n*   **Host:** Apple Silicon Mac, macOS 15+ (Sequoia), Xcode + iOS SDK.\n*   **SIP/AMFI relaxation:** Required to allow private PV=3 entitlements with unsigned binaries. Refer to the official repository's README for detailed instructions on `csrutil` and `amfi_get_out_of_my_way` or `vphone-amfidont`.\n\n**Dependencies:**\n\nbash\nbrew install python@3.13 aria2 wget gnu-tar openssl@3 ldid-procursus sshpass keystone cmake libusb ipsw zstd\n\n\n**Install via Homebrew:**\n\nbash\nbrew install zqxwce/tap/vphone-cli\n\n\n**Build from Source:**\n\nbash\ngit clone --recurse-submodules https://github.com/Lakr233/vphone-cli.git\n\n./scripts/setup_tools.sh      # install deps, build toolchain submodules, create the Python venv\n./scripts/build.sh            # build + sign vphone-cli, bundle the .app, cross-compile vphoned\n\ncd .build/vphone-cli.app/Contents/MacOS/\nvphone-cli --help\n\n\n## Examples\n\nHere are some quick examples to demonstrate how to use vphone-cli.\n\n**Quick Start: Create and Launch a Jailbroken VM**\n\nThis command creates a VM end-to-end, including download, patch, DFU restore, CFW install, and first boot.\n\nbash\nvphone-cli vm create myphone -V jb\nvphone-cli vm launch myphone\n\n\n**Manage Virtual Machines**\n\nbash\nvphone-cli vm list                         # list VMs\nvphone-cli vm info myphone                  # show one VM\nvphone-cli vm new myphone                   # create an empty bundle\nvphone-cli vm config myphone --cpu 8 --memory 8192\nvphone-cli vm clone myphone myphone-2       # fast APFS clone\nvphone-cli vm export myphone --out myphone.tzst   # export VM\nvphone-cli vm import myphone.tzst --name restored\nvphone-cli vm rename myphone iphone16\nvphone-cli vm delete iphone16\n\n\n**Build a VM Manually**\n\nFor granular control, you can build a VM step-by-step.\n\nbash\nvphone-cli vm new myphone                              # 1. empty bundle\nvphone-cli fw prepare myphone --iphone-version 26.1     # 2. download + merge IPSWs\nvphone-cli fw patch myphone --variant jb                # 3. patch the boot chain\n\nvphone-cli vm launch myphone --dfu &                    # 4. boot into DFU (background)\nvphone-cli restore myphone --get-shsh                   #    fetch SHSH\nvphone-cli restore myphone                              #    DFU restore\nvphone-cli vm stop myphone                              #    stop the DFU boot\n\nvphone-cli cfw install myphone --variant jb             # 5. install CFW (host-mount; asks for sudo)\nvphone-cli vm launch myphone                            # 6. first boot\n\n\n**Connecting to the VM**\n\n*   **SSH (jailbreak):** `ssh -p 22222 mobile@<vm-ip>` (password `alpine`)\n*   **SSH (regular/dev):** `ssh -p 22222 root@<vm-ip>`\n*   **VNC:** `vnc://<vm-ip>:5901`\n\n## Links\n\n*   **GitHub Repository:** [https://github.com/Lakr233/vphone-cli](https://github.com/Lakr233/vphone-cli){:target=\"_blank\"}","metrics":{"detailViews":0,"githubClicks":0},"dates":{"published":null,"modified":"2026-09-19T00:38:58.000Z"}}