Research library

Project overview · User documentation

This directory keeps the evidence behind firmware patches, restore and the self-contained host runtime. The current public workflow is JB only. Many notes record earlier experiments and command names; use the user guides and vphone-cli --help for current instructions.

Working on vphone

  • vphone-launchpad: a Mac app that downloads and installs VPhone.bundle and sets up the host. Released separately.
  • vphone-cli: prepares firmware, patches it, restores the system, and manages VMs.
  • vphone-vm: runs the VM and shows its window.
  • vphoned: the control service inside the VM. The window's features and the API work through it.
PathContents
VPhoneExecutable/vphone-cli, vphone-vm, firmware patching and restore
VPhoneKit/Shared host libraries and API client
VPhoneDaemon/vphoned
VPhoneGuestComponents/Hooks and helper programs inside the VM
VPhoneLaunchpad/The Launchpad app and its helper
VPhoneWebsite/This documentation site, built with Rspress from Documents/ and Research/
  • xcodebuild -workspace VPhone.xcworkspace -scheme VPhone build produces and validates VPhone.bundle. Run each project's test scheme separately.
  • The user manual is Documents/<lang>/, one identical tree per language (en is the source). Every manual page is listed in its language's README.md; the site's sidebar is built from those tables. Research notes stay in English.
  • Preview the site with npm ci && npm run dev in VPhoneWebsite/.

Start here

  1. Patch comparison is the canonical per-component inventory. Its regular/dev/exp columns are historical.
  2. Firmware manifest and origins explains the hybrid firmware inputs.
  3. CFW kernel patch notes and the individual patch index lead to the kernel evidence.
  4. Native restore design and self-contained runtime explain the host migration.

By subject

KernelSymbols/ holds symbol datasets and indexes; Reference/ holds source references when present. They are evidence inputs, not steps for running the distributed app. The files in History/ are preserved snapshots and may describe scripts or variants that have since been removed.