shiny crates that could help rewrite iTunes or smth

Dadoum Dadoum Initial commit: mostly implement grandslam and omnisette replacement ee3b3bc @ 2025-12-29 06:24:09
.github Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
adi Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
adid-proxy Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
android-coreadi Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
apple-account Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
apple-codesign-quick Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
elf-loader Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
plist-macros Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
purple-builder Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
super-sideloader Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
.gitignore Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
Cargo.lock Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
Cargo.toml Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
README.MD Initial commit: mostly implement grandslam and omnisette replacement 2025-12-29 06:24:09
README.MD

apple crate collection

At some point I started a sideloader rewrite in Rust in parallel of my D rewrite, but now that there are a few alternatives, I am not sure of whether I will finish it.

Anyway, for that I wrote a few shiny crates that could help rewrite iTunes or anything apple related.

Here is a breakdown of every crate here:

adi

Abstracts an ADI connection, allows direct communication with ADI code.

adid-proxy

Create an adi::ADIProxy on a Darwin system that can connect to the adid daemon.

android-coreadi

Create an adi::ADIProxy on any Unix system (TODO: add Windows support) from any libCoreADI.so distribution supporting your architecture.

apple-account (unfinished yet)

A fully-featured, type-safe, well-designed Apple server API wrapper.

You can log into an Apple account via GSA APIs with any ADIProxy, fetch the tokens, while handling every error correctly, including Apple's server errors.

(currently, the Grandslam part lacks the code to do 2FA without a browser, and the iTunes connection part is not yet implemented

apple-codesign(-quick) (unfinished yet)

A port of Sideloader's barebone very fast signer in Rust.

Sideloader's signer is less hacky than zsign and is way faster than apple-codesign-rs (probably partly because it takes a few shortcuts too in addition of being multithreaded and designed with performance in mind).

elf-loader

A better minimal cross-platform elf-loader crate.

I will add feature as needed for the other packages

fairplay (unfinished yet)

Abstracting CoreFP for use on any system, a bit like adi, will be used in apple-account iTunes part.

plist-macros

Allows declarative declaration of plist.

purple-builder (unfinished yet)

A reimplementation of Xcode maybe some day? (but Rust GUI situation is not great, so I postponed that D:)

super-sideloader

That Sideloader rewrite in Rust I postponed. Currently, it's full of apple-account's testing code.

there should be a separate xcode api crate

but I did not start to work on it :p

Okay but why have you rewrote everything?

I wasn't satisfied with what was already available :p.

Addendum

Don't hesitate to reach me out if you have any questions, in the discussion tab here or on Discord! I do my best to be reactive and useful.

Also, if you enjoy my work, please consider giving me a small tip <3