mirror of
https://github.com/NohamR/Tweaks.git
synced 2026-07-11 19:10:00 +00:00
update
This commit is contained in:
6
.gitignore
vendored
6
.gitignore
vendored
@@ -1,2 +1,6 @@
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
Build.md
|
Build.md
|
||||||
|
/RedditPatch
|
||||||
|
/PineHeartsUnlock
|
||||||
|
/App
|
||||||
|
/GoodnotesPro
|
||||||
|
|||||||
@@ -78,4 +78,46 @@
|
|||||||
+ (id)containerWithIdentifier:(id)arg1 {
|
+ (id)containerWithIdentifier:(id)arg1 {
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook NSFileManager
|
||||||
|
- (NSURL *)containerURLForSecurityApplicationGroupIdentifier:(NSString *)groupIdentifier {
|
||||||
|
NSString *homeDirectory = NSHomeDirectory();
|
||||||
|
NSString *containerBasePath = [homeDirectory stringByAppendingPathComponent:@"Documents/ApplicationGroupContainers"];
|
||||||
|
NSURL *baseURL = [NSURL fileURLWithPath:containerBasePath isDirectory:YES];
|
||||||
|
NSURL *containerURL = [baseURL URLByAppendingPathComponent:groupIdentifier];
|
||||||
|
|
||||||
|
NSFileManager *fileManager = [NSFileManager defaultManager];
|
||||||
|
NSString *containerPath = [containerURL path];
|
||||||
|
BOOL containerExists = [fileManager fileExistsAtPath:containerPath];
|
||||||
|
|
||||||
|
if (!containerExists) {
|
||||||
|
NSError *error = nil;
|
||||||
|
|
||||||
|
[fileManager createDirectoryAtURL:containerURL
|
||||||
|
withIntermediateDirectories:YES
|
||||||
|
attributes:nil
|
||||||
|
error:&error];
|
||||||
|
|
||||||
|
NSURL *appSupportURL = [containerURL URLByAppendingPathComponent:@"Library/Application Support"];
|
||||||
|
[fileManager createDirectoryAtURL:appSupportURL
|
||||||
|
withIntermediateDirectories:YES
|
||||||
|
attributes:nil
|
||||||
|
error:&error];
|
||||||
|
|
||||||
|
NSURL *cachesURL = [containerURL URLByAppendingPathComponent:@"Library/Caches"];
|
||||||
|
[fileManager createDirectoryAtURL:cachesURL
|
||||||
|
withIntermediateDirectories:YES
|
||||||
|
attributes:nil
|
||||||
|
error:&error];
|
||||||
|
|
||||||
|
NSURL *preferencesURL = [containerURL URLByAppendingPathComponent:@"Library/Preferences"];
|
||||||
|
[fileManager createDirectoryAtURL:preferencesURL
|
||||||
|
withIntermediateDirectories:YES
|
||||||
|
attributes:nil
|
||||||
|
error:&error];
|
||||||
|
}
|
||||||
|
|
||||||
|
return containerURL;
|
||||||
|
}
|
||||||
%end
|
%end
|
||||||
@@ -94,4 +94,42 @@
|
|||||||
+ (id)containerWithIdentifier:(id)arg1 {
|
+ (id)containerWithIdentifier:(id)arg1 {
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook NSPersistentCloudKitContainerOptions
|
||||||
|
- (id)initWithContainerIdentifier:(id)arg1 {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook CKRecordID
|
||||||
|
- (id)initWithRecordName:(id)arg1 {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
- (id)initWithRecordName:(id)arg1 zoneID:(id)arg2 {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook CKSystemSharingUIObserver
|
||||||
|
- (id)initWithContainer:(id)arg1 {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook NSFileManager
|
||||||
|
- (id)ubiquityIdentityToken {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
- (NSURL *)containerURLForSecurityApplicationGroupIdentifier:(NSString *)groupIdentifier {
|
||||||
|
NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
|
||||||
|
NSString *path = [docPath stringByAppendingPathComponent:groupIdentifier];
|
||||||
|
NSURL *url = [NSURL fileURLWithPath:path];
|
||||||
|
|
||||||
|
if (![[NSFileManager defaultManager] fileExistsAtPath:[url path]]) {
|
||||||
|
[[NSFileManager defaultManager] createDirectoryAtURL:url withIntermediateDirectories:YES attributes:nil error:nil];
|
||||||
|
}
|
||||||
|
|
||||||
|
return url;
|
||||||
|
}
|
||||||
%end
|
%end
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
Package: io.infuseteam.infuserootless
|
Package: io.infuseteam.infuserootless
|
||||||
Name: Infuse (Rootless)
|
Name: Infuse (Rootless)
|
||||||
Version: 2.2
|
Version: 2.3
|
||||||
Architecture: appletvos-arm64
|
Architecture: appletvos-arm64
|
||||||
Description: Unlock the full potential of Infuse
|
Description: Unlock the full potential of Infuse
|
||||||
Maintainer: Infuse Team
|
Maintainer: Infuse Team
|
||||||
|
|||||||
50
scripts/patch-tvos.sh
Executable file
50
scripts/patch-tvos.sh
Executable file
@@ -0,0 +1,50 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$#" -ne 2 ]; then
|
||||||
|
echo "Usage: $0 <file.ipa> <file.deb>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
IPA=""
|
||||||
|
DEB=""
|
||||||
|
|
||||||
|
for arg in "$@"; do
|
||||||
|
case "$arg" in
|
||||||
|
*.ipa)
|
||||||
|
IPA="$arg"
|
||||||
|
;;
|
||||||
|
*.deb)
|
||||||
|
DEB="$arg"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown file type: $arg"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$IPA" ] || [ -z "$DEB" ]; then
|
||||||
|
echo "You must provide one .ipa and one .deb file."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ---- Prepare output folder ----
|
||||||
|
OUT_DIR="/tmp/ipa_patched"
|
||||||
|
mkdir -p "$OUT_DIR"
|
||||||
|
|
||||||
|
IPA_NAME=$(basename "$IPA")
|
||||||
|
OUTPUT_IPA="$OUT_DIR/$IPA_NAME"
|
||||||
|
|
||||||
|
echo "[+] Patching IPA with cyan..."
|
||||||
|
# cyan -i "$IPA" -o "$OUTPUT_IPA" -f "$DEB" -u --overwrite -c 0
|
||||||
|
cyan -i "$IPA" -o "$OUTPUT_IPA" -f "$DEB" -u --overwrite -c 9 --tv
|
||||||
|
echo "[+] Patch complete."
|
||||||
|
|
||||||
|
# Copy patched IPA next to the original with _patched suffix
|
||||||
|
ORIG_DIR=$(dirname "$IPA")
|
||||||
|
ORIG_BASENAME=$(basename "$IPA" .ipa)
|
||||||
|
PATCHED_IPA="$ORIG_DIR/${ORIG_BASENAME}_patched.ipa"
|
||||||
|
cp "$OUTPUT_IPA" "$PATCHED_IPA"
|
||||||
|
echo "[+] Patched IPA saved as: $PATCHED_IPA"
|
||||||
50
scripts/patch.sh
Executable file
50
scripts/patch.sh
Executable file
@@ -0,0 +1,50 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$#" -ne 2 ]; then
|
||||||
|
echo "Usage: $0 <file.ipa> <file.deb>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
IPA=""
|
||||||
|
DEB=""
|
||||||
|
|
||||||
|
for arg in "$@"; do
|
||||||
|
case "$arg" in
|
||||||
|
*.ipa)
|
||||||
|
IPA="$arg"
|
||||||
|
;;
|
||||||
|
*.deb)
|
||||||
|
DEB="$arg"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown file type: $arg"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$IPA" ] || [ -z "$DEB" ]; then
|
||||||
|
echo "You must provide one .ipa and one .deb file."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ---- Prepare output folder ----
|
||||||
|
OUT_DIR="/tmp/ipa_patched"
|
||||||
|
mkdir -p "$OUT_DIR"
|
||||||
|
|
||||||
|
IPA_NAME=$(basename "$IPA")
|
||||||
|
OUTPUT_IPA="$OUT_DIR/$IPA_NAME"
|
||||||
|
|
||||||
|
echo "[+] Patching IPA with cyan..."
|
||||||
|
# cyan -i "$IPA" -o "$OUTPUT_IPA" -f "$DEB" -u --overwrite -c 0
|
||||||
|
cyan -i "$IPA" -o "$OUTPUT_IPA" -f "$DEB" -u --overwrite -c 9
|
||||||
|
echo "[+] Patch complete."
|
||||||
|
|
||||||
|
# Copy patched IPA next to the original with _patched suffix
|
||||||
|
ORIG_DIR=$(dirname "$IPA")
|
||||||
|
ORIG_BASENAME=$(basename "$IPA" .ipa)
|
||||||
|
PATCHED_IPA="$ORIG_DIR/${ORIG_BASENAME}_patched.ipa"
|
||||||
|
cp "$OUTPUT_IPA" "$PATCHED_IPA"
|
||||||
|
echo "[+] Patched IPA saved as: $PATCHED_IPA"
|
||||||
@@ -38,7 +38,8 @@ IPA_NAME=$(basename "$IPA")
|
|||||||
OUTPUT_IPA="$OUT_DIR/$IPA_NAME"
|
OUTPUT_IPA="$OUT_DIR/$IPA_NAME"
|
||||||
|
|
||||||
echo "[+] Patching IPA with cyan..."
|
echo "[+] Patching IPA with cyan..."
|
||||||
cyan -i "$IPA" -o "$OUTPUT_IPA" -f "$DEB" -u --overwrite
|
# cyan -i "$IPA" -o "$OUTPUT_IPA" -f "$DEB" -u --overwrite -c 0
|
||||||
|
cyan -i "$IPA" -o "$OUTPUT_IPA" -f "$DEB" -u --overwrite -c 9
|
||||||
echo "[+] Patch complete."
|
echo "[+] Patch complete."
|
||||||
|
|
||||||
LOCAL_IP=$(ipconfig getifaddr en0 2>/dev/null)
|
LOCAL_IP=$(ipconfig getifaddr en0 2>/dev/null)
|
||||||
|
|||||||
Reference in New Issue
Block a user