Remotely control and mirror an iOS device from your browser with a raspberry pi.

This page summarizes the projects mentioned and recommended in the original post on /r/iOSProgramming

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • ios-screen-mirror

    ios-screen-mirror

    It turned out to not be that complicated. The first library, ios-screen-mirror, is a Go program that mirrors a usb-connected iOS device via TCP. The second library, keyboard_mouse_emulate_on_raspberry, is a Python program that emulates a Bluetooth mouse and keyboard on a Raspberry Pi, which is then connected to the iOS device via Bluetooth. Then it was just a matter of sending the browser mouse and keyboard events to the Raspberry Pi (I used Flask and Socket.io for that)

  • keyboard_mouse_emulate_on_raspberry

    Bluetooth Keyboard Mouse Emulator on Raspberry Pi

    It turned out to not be that complicated. The first library, ios-screen-mirror, is a Go program that mirrors a usb-connected iOS device via TCP. The second library, keyboard_mouse_emulate_on_raspberry, is a Python program that emulates a Bluetooth mouse and keyboard on a Raspberry Pi, which is then connected to the iOS device via Bluetooth. Then it was just a matter of sending the browser mouse and keyboard events to the Raspberry Pi (I used Flask and Socket.io for that)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • quicktime_video_hack

    Record iOS device audio and video

    I do wonder if this is the same protocol that the lightning AV cables use since it does line up with the Panic blog post (and the anonymous comment from someone internal to Apple) because from what I understand the quicktime protocol actually is also essentially just firing raw h264 encoded data over the serial bus. It would really make sense from Apple's perspective to do this too since there's no point in re-engineering the entire thing when you already either have a way to blast video at a Mac over USB (so fuck it, build a little USB dongle that pretends to be a Mac) or vice-versa (have the Mac pretend to be the USB dongle you built a couple years ago).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts