SuperAPI AI Directory

quokka

quokka is a Mac-oriented command-line tool for inspecting and cleaning up iPhone or Android devices connected via USB. It requires no jailbreak or root privileges, and can read storage, battery, apps, media, device identity, and real-time system logs, and supports freeing up space, uninstalling apps, and rebooting devices. It supports iOS 17+ and Android 8+, and all query commands can output data via --json for pipeline processing. The project uses the MIT license and offers three installation methods: Homebrew, a one-click install script, and compiling from source with Cargo.

Open website

About this tool

quokka is a Mac command-line tool (CLI) for inspecting and managing phone devices connected via USB, supporting iPhone and Android. Its core feature is that it does not require jailbreak or root privileges, nor does it depend on system privilege escalation to complete most operations.

Purpose

quokka is aimed at developers, testers, or users who need to quickly manage test devices. From the terminal, it can read device storage, battery, apps, media, device identity, and real-time system logs, and perform operations such as freeing up space, uninstalling apps, and rebooting devices.

Main capabilities

  • Log viewing:qk logs opens a TUI viewer with support for filtering by level or process, searching, pausing, and saving;--no-tui can output plain text for pipelines or CI.
  • Space cleanup:qk analyze sorts media files by size from most space-consuming;qk media -d groups suspected duplicate files, and both can delete files through an interactive selector.
  • App management:qk apps lists user apps by size and supports uninstalling via bundle id,--yes can be used in scripts.
  • Device status reading:qk status and qk info output device and storage status in clear blocks;--redact can mask serial numbers, UDID, IMEI, and MAC for safe screenshots.
  • Other: running without arguments qk opens an interactive launcher;qk card can generate an image containing device information;qk capture(iOS only) provides real-time TUI packet capture.

Usage

quokka automatically detects whether the connected device is an iPhone (via usbmuxd) or Android (via adb), and can also be forced with --platform ios|android or the environment variable QK_PLATFORM . When multiple devices are connected, the bare qk launcher lists all devices in the sidebar for switching; subcommands can use the global flag --udid(long form, no short form) to specify a device, and also read the environment variable QK_UDID.

Environment requirements

  • A Mac, with the phone connected via a data cable.
  • iPhone: requires Xcode command-line tools (xcode-select --install) to provide usbmuxd; on first connection, you need to unlock and trust the computer; iOS 17+.
  • Android: requires adb in PATH (brew install android-platform-tools), enable USB debugging and accept authorization; Android 8+.
  • Without root, some fields are best-effort: app names are shown as package names, battery health/cycle count is unavailable, and packet capture (qk capture) is iOS only.

Installation

  • Homebrew (recommended):brew install dutradotdev/tap/quokka(supports Apple Silicon and Intel).
  • One-click install (without Homebrew):curl -fsSL https://raw.githubusercontent.com/dutradotdev/quokka/main/install.sh | sh, pulls the precompiled binary from GitHub Releases to ~/.cargo/bin, and running it repeatedly updates it.
  • Cargo (compile from source):cargo install --git https://github.com/dutradotdev/quokka, slower to compile, suitable for tracking the main branch.

All installation methods place two binaries in PATH:quokka and the shorter qk, with the same functionality.

Use cases

  • View device logs in real time during debugging.
  • Clean up redundant media files on test devices or uninstall apps that take up space.
  • Quickly obtain device status, storage, and identity information, and take screenshots after redaction.
  • Through --json output structured data, integrate it into scripts or CI workflows (logs --json output NDJSON).

Limitations

  • Only Mac is supported as the host.
  • iPhone requires iOS 17+, and Android requires Android 8+.
  • Some features are limited without root (as described above).
  • The project is under the MIT license, but no specific pricing or commercial support information is provided.
  • The code repository is a Cargo workspace containing two crates, quokka-core and quokka-cli, with CI covering format checks, clippy, tests, cargo audit, and cargo deny.