Files
SideImpactor/README.md
2026-04-13 18:13:14 +08:00

71 lines
1.7 KiB
Markdown

# Side Impactor
Browser-based IPA signing and installation. Pair an iOS device over WebUSB, sign with your Apple Developer account, and install — all from a single web page.
## Quick Start
```bash
bun install --ignore-scripts
bun run dev
```
Open `http://localhost:5173`.
## Project Structure
| Path | Purpose |
|---|---|
| `frontend/` | React + Tailwind SPA (Vite) |
| `backend/` | Cloudflare Workers relay |
| `dependencies/webmuxd/` | WebUSB usbmux/lockdown protocol library |
| `wasm/openssl/` | OpenSSL WASM (TLS + pair record generation) |
| `wasm/libcurl-wasm/` | libcurl WASM (Apple API HTTP via WISP proxy) |
| `wasm/zsign-wasm/` | zsign WASM (IPA re-signing) |
| `scripts/` | WASM native build scripts (Rust + Emscripten) |
## Build
```bash
# WASM dist bundles (copies pre-built src→dist, no compiler needed)
bun run build:wasm:dist
# Frontend production build (runs wasm:dist automatically)
bun run build:frontend
# Full WASM recompile from source (requires Rust, Emscripten, precompiled OpenSSL)
bun run build:wasm
```
## Docker
```bash
bun run build:wasm:dist # ensure WASM dists exist
docker build -t sideload-web .
docker run -p 3000:3000 sideload-web
```
## Cloudflare
```bash
cd backend
bun run deploy
```
## Test
```bash
bun run test # webmuxd unit tests
bun run test:frontend # frontend vitest suite (141 tests)
```
## Credits
Projects referenced:
- [libimobiledevice](https://github.com/libimobiledevice/libimobiledevice)
- [webmuxd](https://github.com/hack-different/webmuxd)
- [zsign](https://github.com/nicehash/zsign)
- [openssl-wasm](https://github.com/nicehash/openssl-wasm)
Friends helped with feedback:
- [@Lakr233](https://github.com/Lakr233)