Skip to content

feat: speed up device IPA uploads - #9

Merged
londek merged 2 commits into
londek:mainfrom
b1atant:fix/sftp-upload-throughput
Apr 25, 2026
Merged

londek merged 2 commits into
londek:mainfrom
b1atant:fix/sftp-upload-throughput

Conversation

@b1atant

@b1atant b1atant commented Apr 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • switch device IPA uploads to ReadFromWithConcurrency for higher SFTP throughput
  • remove partial remote files on upload failure and handle close-time errors explicitly
  • preserve progress reporting while using the faster upload path

Why

Uploading the source IPA to the device was the main end-to-end bottleneck even on a local 5 GHz network. This reduces round-trip overhead in the SFTP path without changing the overall decrypt flow.

Validation

  • go test ./...
  • go vet ./...

Benchmarks

Benchmarked three cached IPA decrypts on the same device (iPhone 11, iOS 16.1.1) so each run used the same cached encrypted IPA input.

App Before After Improvement
Prequel 161.44s 82.92s 48.64% faster
Notability 172.81s 87.42s 49.41% faster
Sketchar 113.07s 63.86s 43.52% faster
Total 447.32s 234.20s 47.64% faster

Overall runtime improved by 1.91x.

Notes

These measurements were taken on one device/network setup and use cached encrypted IPAs to isolate the local upload/install/decrypt path from App Store CDN variance.

blatant added 2 commits April 25, 2026 18:05
Use concurrent SFTP writes for IPA uploads to speed up transfers.

Also clean up partial uploads on failure, handle close errors explicitly, and
keep progress reporting accurate.
@londek

londek commented Apr 25, 2026

Copy link
Copy Markdown
Owner

Thank you for contributing!

@londek
londek merged commit cf882cb into londek:main Apr 25, 2026
4 checks passed
korboybeats pushed a commit to korboybeats/ipadecrypt that referenced this pull request May 3, 2026
* feat: speed up device IPA uploads

Use concurrent SFTP writes for IPA uploads to speed up transfers.

Also clean up partial uploads on failure, handle close errors explicitly, and
keep progress reporting accurate.

* refactor: simplify upload reader setup

---------

Co-authored-by: blatant <blatants@protonmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants