Merge branch '0-Blu:main' into fix-version-smh

This commit is contained in:
neoarz 2025-04-01 21:48:24 -04:00 • committed by GitHub
commit 87ec74437f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 53 additions and 29 deletions

View file

@ -5,7 +5,7 @@
<div align="center">
<h1><b>StikJIT</b></h1>
<p><i>~ A on-device JIT enabler for iOS versions 17.4+ (excluding iOS 18.4 beta 1), powered by <a href="https://github.com/jkcoxson/idevice">idevice</a> ~</i></p>
<p><i> A on-device JIT enabler for iOS versions 17.4+ (excluding iOS 18.4 beta 1), powered by <a href="https://github.com/jkcoxson/idevice">idevice</a> </i></p>
</div>
<h6 align="center">
@ -33,7 +33,7 @@
</h6>
## Requirements
[StossVPN](https://testflight.apple.com/join/hBUbg4ZJ) is required. This allows the device to connect to itself.
[StosVPN](https://testflight.apple.com/join/hBUbg4ZJ) is required. This allows the device to connect to itself.
## Features
- On-device Just-In-Time (JIT) compilation for supported apps via [`idevice`](https://github.com/jkcoxson/idevice).

View file

@ -6,11 +6,6 @@
objectVersion = 77;
objects = {
/* Begin PBXBuildFile section */
DC5716262D95648B0099302E /* em_proxy.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC5716242D9564760099302E /* em_proxy.xcframework */; };
DC5716272D95648B0099302E /* em_proxy.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = DC5716242D9564760099302E /* em_proxy.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
DC6F1D492D94EADF0071B2B6 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@ -28,20 +23,6 @@
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
DC5716282D95648B0099302E /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
DC5716272D95648B0099302E /* em_proxy.xcframework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
DC5716242D9564760099302E /* em_proxy.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = em_proxy.xcframework; sourceTree = "<group>"; };
DC6F1D372D94EADD0071B2B6 /* StikJIT.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = StikJIT.app; sourceTree = BUILT_PRODUCTS_DIR; };
@ -85,7 +66,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
DC5716262D95648B0099302E /* em_proxy.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -145,7 +125,6 @@
DC6F1D332D94EADD0071B2B6 /* Sources */,
DC6F1D342D94EADD0071B2B6 /* Frameworks */,
DC6F1D352D94EADD0071B2B6 /* Resources */,
DC5716282D95648B0099302E /* Embed Frameworks */,
);
buildRules = (
);

View file

@ -4,3 +4,5 @@
#include "idevice/JITEnableContext.h"
#include "idevice/idevice.h"
#include "idevice/em_proxy.h"

View file

@ -7,7 +7,6 @@
import SwiftUI
import Network
import em_proxy
import UniformTypeIdentifiers
let fileManager = FileManager.default

View file

@ -19,15 +19,19 @@ class AppStoreIconFetcher {
return
}
iconFetchDispatchQueue.sync {
iconFetchDispatchQueue.async {
do {
let ans = try JITEnableContext.shared.getAppIcon(withBundleId: bundleID)
iconCache[bundleID] = ans
completion(ans)
DispatchQueue.main.async {
iconCache[bundleID] = ans
completion(ans)
}
} catch {
print("Failed to get icon: \(error)")
completion(nil)
DispatchQueue.main.async {
completion(nil)
}
}
}
}
}
}

View file

@ -0,0 +1,40 @@
// Jackson Coxson
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
/**
* Starts your emotional damage
* # Arguments
* * `bind_addr` - The UDP socket to listen to
* # Returns
* A handle to stop further emotional damage.
* Null on failure
* # Safety
* Don't be stupid
*/
int start_emotional_damage(const char *bind_addr);
/**
* Stops further emotional damage
* # Arguments
* * `handle` - The coping mechanism generated by start_emotional_damage
* # Returns
* The knowledge of knowing that you couldn't handle failure
* # Safety
* Don't be stupid
*/
void stop_emotional_damage(void);
/**
* Blocks until Wireguard is ready
* # Arguments
* * `timeout` - The timeout in miliseconds to wait for Wireguard
* # Returns
* 0 on success, -1 on failure
*/
int test_emotional_damage(int timeout);

Binary file not shown.