Skip to content

v1.0.0

Choose a tag to compare

@gavinnolan gavinnolan released this 23 Sep 01:10

First 1.0 release. Adds direct screenshot capture over TCP, fixes roothide script paths, and makes the socket server handle multiple clients properly.

Release tags now track the package version, which is why this follows v0.08.30 rather than continuing that numbering.

Compatibility

File Jailbreak iOS
*_rootless.deb Dopamine, Dopamine 3, NathanLR 15.0 - 17.7
*_roothide.deb Roothide / Serotonin 15.0 - 16.6.1

iOS 17 is supported and tested on an iPad 7th generation running 17.6 with Dopamine 3 and ElleKit. iOS 18 has not been tested.

Installation

  1. Download the .deb for your jailbreak
  2. Install via Filza or SSH: dpkg -i <file>.deb && killall -9 SpringBoard

Python 3 from Procursus is required for .py scripts. Install it from Sileo by searching for python3.

Added

  • screenshot() returns the current display as raw JPEG bytes over the existing ZXTouch connection. No file is written on the device and SSH is not required. Contributed by @michaelik1 in #5.

Fixed

  • Roothide installs looked for scripts, the script registry, and the runtime log inside the jbroot, while the package writes them to the real filesystem. Scripts failed to play with "Python script exited with code 2" and the log appeared empty. The installer now points the jbroot view at the real directory.
  • Each socket client gets its own queue. A slow task such as a screenshot encode, OCR, or a sleep no longer blocks commands from other connections.
  • Large responses are no longer abandoned part way. A socket that cannot accept bytes at that instant is back-pressure, not a failure, and the write is retried.
  • Client state is released when a connection closes instead of accumulating for as long as SpringBoard runs.
  • Command parsing no longer uses strtok, which was not safe to call from the queue it was running on.
  • A screenshot color space was released that was never owned, and the screen capture surface was locked before it was checked for NULL.

The roothide path fix has not yet been confirmed by a roothide user. If scripts still fail to play, please open an issue with the output of ls -la "$(jbroot /var/mobile/Library/ZXTouch)".

What's Changed

New Contributors

Full Changelog: v0.08.30...v1.0.0