Skip to main content

lazyios

ci license

Like lazygit, but for your iPhone. A keyboard-driven terminal app that talks to an iPhone over USB: read the system log, list and kill processes, launch apps, capture network traffic to a .pcap, throttle the network, take screenshots, fake a location, watch FPS. It runs on Windows, macOS and Linux, needs no jailbreak, no Xcode and no admin rights. Built on Textual, using pymobiledevice3 as a library.

lazyios

Features

  • overview: device info, battery (level, cycles, charger), developer mode state
  • logs: live syslog with level colors, filter, pause, bounded buffer
  • processes: list, filter, kill (with confirmation), launch by bundle id
  • apps: installed user apps, launch with enter
  • network: packet capture to a real .pcap with a live table, open in Wireshark; network, thermal and GPU conditions
  • tools: screenshot, location simulation, FPS sparkline
  • --demo runs on fake data, no device needed

Install

Easiest first.

1. Download a binary. Grab lazyios-windows-x64.exe, lazyios-macos-arm64 or lazyios-linux-x64 from the Releases page and run it from a terminal. Nothing else to install (on macOS and Linux run chmod +x first). The Windows exe is not code-signed, so SmartScreen may say "Windows protected your PC": click More info, then Run anyway. To check the download, compare its hash with the SHA256SUMS file from the same release:

Get-FileHash lazyios-windows-x64.exe -Algorithm SHA256   # PowerShell
sha256sum -c SHA256SUMS --ignore-missing                  # Linux
shasum -a 256 -c SHA256SUMS --ignore-missing              # macOS

2. One-liner. Installs uv if needed, then lazyios. No admin or sudo.

irm https://raw.githubusercontent.com/Manuel-1312/lazyios/main/install.ps1 | iex      # Windows
curl -LsSf https://raw.githubusercontent.com/Manuel-1312/lazyios/main/install.sh | sh  # macOS, Linux

3. With pipx or uv.

uv tool install --python 3.12 git+https://github.com/Manuel-1312/lazyios
pipx install --python python3.12 git+https://github.com/Manuel-1312/lazyios

Use Python 3.12: on newer versions a few pymobiledevice3 dependencies have no prebuilt wheels yet and pip tries to compile them.

Requirements

  • An iPhone that trusts this computer. Developer Mode must be on for processes, conditions and tools.
  • Windows: the Apple Devices app (winget install 9NP83LWLPZ9K -s msstore) or iTunes, for usbmuxd. If Apple Devices is installed but not running, lazyios starts it for you.
  • macOS: nothing extra.
  • Linux: the usbmuxd package (sudo apt install usbmuxd or your distro's equivalent).
  • Python 3.10+ only for the pip/uv installs.

Usage

lazyios [--udid UDID] [--out DIR] [--demo]
lazyios --version
lazyios --selftest
python -m lazyios

Captures and screenshots go to ~/lazyios/captures and ~/lazyios/screenshots unless --out says otherwise.

key action
1-6 switch tab
q quit
? help
/ focus filter (esc to leave)
r refresh
p / c logs: pause, clear
k / l processes: kill, launch by bundle id
enter apps: launch; network: apply condition; tools: set location
space / o network: start/stop capture, open it
x clear condition (network) or location (tools)
s / o tools: screenshot, open it
l / f tools: edit coordinates, start/stop FPS

Troubleshooting

iPhone not detected on Windows. Install Apple Devices from the Microsoft Store (or iTunes), plug the phone in with a data cable and unlock it. If the cable only charges, try another one.

Failed to connect to usbmuxd. usbmuxd is the service that talks to the phone over USB. On Windows open the Apple Devices app once (lazyios also tries to start it); with iTunes, start the "Apple Mobile Device Service" in services.msc. On Linux install the usbmuxd package and replug. macOS has it built in.

"Trust This Computer" prompt. Unlock the phone and tap Trust, then enter your passcode. Press r in lazyios to retry. If the prompt never shows, unplug, replug and unlock first.

Developer Mode missing in Settings. The switch under Settings > Privacy & Security stays hidden until the phone is asked to show it. With the phone plugged in and unlocked, run uvx --python 3.12 pymobiledevice3 amfi reveal-developer-mode, then turn Developer Mode on in Settings and let the phone restart.

iOS 17+ tunnel / no admin. Newer iOS versions need a tunnel for developer services. lazyios builds it inside the process with a userspace network stack, so no root or admin is needed. It opens on first use and takes a few seconds.

Launching an app does nothing. The phone has to be unlocked.

"Microsoft Visual C++ 14.0 or greater is required" while installing. pip picked a Python version that some dependencies have no prebuilt wheels for. Install with Python 3.12 (uv tool install --python 3.12 ...) or use the standalone binary.

How it compares

libimobiledevice and idevicesyslog are single-purpose command line tools, and Xcode's Devices window needs a Mac. lazyios puts the common bits (logs, processes, apps, packet capture, network conditions) in one interactive terminal app that runs anywhere Python or the standalone binary does.

Notes

  • Capture files contain your traffic. Treat them as sensitive.
  • An active condition is shown in red in the status line. Conditions and simulated location are cleared when you quit.

Credits

pymobiledevice3 by doronz88 and contributors does all the device work. The interface is Textual.

License

Copyright (C) 2026 Manuel Sánchez

GPL-3.0-or-later, see LICENSE.

Metadata

Release files for lazyios 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lazyios 0.1.1
File Size Uploaded Provenance
lazyios-0.1.1.tar.gz 98.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for lazyios 0.1.1
File Interpreter ABI Platform
lazyios-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 146.7 kB

Release files / lazyios-0.1.1.tar.gz

Download URL lazyios-0.1.1.tar.gz
Size 98.8 kB
Tags Source
SHA-256 checksum
How to use checksums
336c7a1a13eaed5cea97bdfc1fb5eb96e16a5d45042c19a3926490c427b47565
BLAKE2b-256 checksum
How to use checksums
53a2a8102452f07be08762456e4983fdb58f366cf7df733e86b2695e3f4cf79e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / lazyios-0.1.1-py3-none-any.whl

Download URL lazyios-0.1.1-py3-none-any.whl
Size 47.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe271ebd95f0c90ac3f44ead898ce4b13e72291033f2757fdececa17d6170b8e
BLAKE2b-256 checksum
How to use checksums
df8b0830ad64ba58a79125359270fb267889b4fa978251f2161fe9ea6bff4291
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Security for lazyios 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for lazyios-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page