mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-08 22:33:26 +01:00
* Implement em_proxy * Update libimobiledevice * Add minimuxer library to Xcode * Build missing C files for libimobiledevice * Remove objective C library * Add pairing file to Info.plist * Heartbeat self on startup * Enable JIT on-device * Implement on-device installation * Fix OpenSSL header errors * Random submodule bullcrap go * Search release folder for emotional damage * Clean dependencies * Build Rust dependencies attempt 1/999 * Update em_proxy * Implement refreshing apps * Clean up old operations * Remove all AltServer code * Remove files from Xcode project * Implement auto mounting the developer DMG * Recover from app being backgrounded * Fixed keeping pairing file in app after updating SideStore (#3) * Use compliant error handling for minimuxer * Fix app failing to install * Don't kill proxy on backgrounding * Makes sure the ALTPairingFile gets transferred even if team IDs change (#4) * Step 1 to allow SideStore to resign itself * Update ResignAppOperation.swift * Adding cache for action runner (#5) * Start caching commit for actions Signed-off-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> * Update build.yml Signed-off-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> * Update build.yml Signed-off-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> * Use rust lib directories to cache Signed-off-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> * Cache cargo also Signed-off-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> * Fix spacing Signed-off-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> * Replace cargo id for caching Signed-off-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> * Remove cache if statements Signed-off-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> Signed-off-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> * Add disconnected WireGuard detection * Add minimuxer logging Signed-off-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com> Co-authored-by: jawshoeadan <62785552+jawshoeadan@users.noreply.github.com> Co-authored-by: Joelle Stickney <joellestickney@gmail.com> Co-authored-by: Spidy123222 <64176728+Spidy123222@users.noreply.github.com>
82 lines
2.3 KiB
Swift
82 lines
2.3 KiB
Swift
//
|
|
// minimuxer.swift
|
|
// minimuxer
|
|
//
|
|
// Created by Jackson Coxson on 10/27/22.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public enum Uhoh: Error {
|
|
case Good
|
|
case Bad(code: Int32)
|
|
}
|
|
|
|
public func start_minimuxer(pairing_file: String) {
|
|
let pf = NSString(string: pairing_file)
|
|
let pf_pointer = UnsafeMutablePointer<CChar>(mutating: pf.utf8String)
|
|
let u = NSString(string: getDocumentsDirectory().absoluteString)
|
|
let u_ptr = UnsafeMutablePointer<CChar>(mutating: u.utf8String)
|
|
minimuxer_c_start(pf_pointer, u_ptr)
|
|
}
|
|
|
|
public func set_usbmuxd_socket() {
|
|
target_minimuxer_address()
|
|
}
|
|
|
|
public func debug_app(app_id: String) throws -> Uhoh {
|
|
let ai = NSString(string: app_id)
|
|
let ai_pointer = UnsafeMutablePointer<CChar>(mutating: ai.utf8String)
|
|
let res = minimuxer_debug_app(ai_pointer)
|
|
if res != 0 {
|
|
throw Uhoh.Bad(code: res)
|
|
}
|
|
return Uhoh.Good
|
|
}
|
|
|
|
public func install_provisioning_profile(plist: Data) throws -> Uhoh {
|
|
let pls = String(decoding: plist, as: UTF8.self)
|
|
print(pls)
|
|
print(plist)
|
|
let x = plist.withUnsafeBytes { buf in UnsafeMutableRawPointer(mutating: buf) }
|
|
let res = minimuxer_install_provisioning_profile(x, UInt32(plist.count))
|
|
if res != 0 {
|
|
throw Uhoh.Bad(code: res)
|
|
}
|
|
return Uhoh.Good
|
|
}
|
|
|
|
public func remove_provisioning_profile(id: String) throws -> Uhoh {
|
|
let id_ns = NSString(string: id)
|
|
let id_pointer = UnsafeMutablePointer<CChar>(mutating: id_ns.utf8String)
|
|
let res = minimuxer_remove_provisioning_profile(id_pointer)
|
|
if res != 0 {
|
|
throw Uhoh.Bad(code: res)
|
|
}
|
|
return Uhoh.Good
|
|
}
|
|
|
|
public func remove_app(app_id: String) throws -> Uhoh {
|
|
let ai = NSString(string: app_id)
|
|
let ai_pointer = UnsafeMutablePointer<CChar>(mutating: ai.utf8String)
|
|
let res = minimuxer_remove_app(ai_pointer)
|
|
if res != 0 {
|
|
throw Uhoh.Bad(code: res)
|
|
}
|
|
return Uhoh.Good
|
|
}
|
|
|
|
public func auto_mount_dev_image() {
|
|
let u = NSString(string: getDocumentsDirectory().absoluteString)
|
|
let u_ptr = UnsafeMutablePointer<CChar>(mutating: u.utf8String)
|
|
minimuxer_auto_mount(u_ptr)
|
|
}
|
|
|
|
func getDocumentsDirectory() -> URL {
|
|
// find all possible documents directories for this user
|
|
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
|
|
|
|
// just send back the first one, which ought to be the only one
|
|
return paths[0]
|
|
}
|