mirror of
https://github.com/NohamR/Tweaks.git
synced 2026-05-25 04:17:15 +00:00
Compare commits
2 Commits
dev
...
f69c20fb2c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f69c20fb2c | ||
|
|
2e08be66c0 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -2,4 +2,4 @@
|
|||||||
/CreditAgricoleTweak
|
/CreditAgricoleTweak
|
||||||
/RMHook
|
/RMHook
|
||||||
/rootless
|
/rootless
|
||||||
Build.md
|
Build.md
|
||||||
3
Infuse/Infuse-iOS/.gitignore
vendored
Normal file
3
Infuse/Infuse-iOS/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
.theos/
|
||||||
|
packages/
|
||||||
|
.DS_Store
|
||||||
7
Infuse/Infuse-iOS/Infuse.plist
Normal file
7
Infuse/Infuse-iOS/Infuse.plist
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
Filter = {
|
||||||
|
Bundles = (
|
||||||
|
"com.firecore.infuse",
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
||||||
13
Infuse/Infuse-iOS/Makefile
Normal file
13
Infuse/Infuse-iOS/Makefile
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
TARGET = iphone:latest:14.0
|
||||||
|
INSTALL_TARGET_PROCESSES = infuse
|
||||||
|
ARCHS = arm64 arm64e
|
||||||
|
|
||||||
|
include $(THEOS)/makefiles/common.mk
|
||||||
|
|
||||||
|
TWEAK_NAME = Infuse
|
||||||
|
|
||||||
|
Infuse_FILES = Tweak.x
|
||||||
|
Infuse_CFLAGS = -fobjc-arc
|
||||||
|
Infuse_FRAMEWORKS = Foundation
|
||||||
|
|
||||||
|
include $(THEOS_MAKE_PATH)/tweak.mk
|
||||||
81
Infuse/Infuse-iOS/Tweak.x
Normal file
81
Infuse/Infuse-iOS/Tweak.x
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
// changes : FCInAppPurchaseServiceFreemium block deleted, FCTraktIAPManager block deleted, layoutSubviews -> awakeFromNib on FCVersionView, and the dead return %orig lines after return statements cleaned up (they were unreachable in the old version too)
|
||||||
|
|
||||||
|
#import <substrate.h>
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
%hook FCIAPGUIHelper
|
||||||
|
+(bool) isProAvailable {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
+(bool) isSubscriptionBought {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook FCInAppPurchaseServiceBase
|
||||||
|
- (bool)isFeaturePurchased:(long long)arg1 tillDate:(id*)arg2 {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
- (bool)isFeaturePurchased:(long long)arg1 {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook FCInAppPurchaseServiceDummy
|
||||||
|
- (bool)isFeaturePurchased:(long long)arg1 tillDate:(id*)arg2 {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
// REMOVED: FCInAppPurchaseServiceFreemium (class gone from binary, replaced by SK2)
|
||||||
|
|
||||||
|
// SK2 IAP backend
|
||||||
|
%hook _TtC6infuse31InAppPurchaseServiceFreemiumSK2
|
||||||
|
- (bool)isFeaturePurchased:(long long)arg1 tillDate:(id*)arg2 {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
- (long long)iapVersionStatus {
|
||||||
|
// FCUpgradeToProViewController.featureHasBought checks iapVersionStatus > 0
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook FCProductCollectionCell
|
||||||
|
-(bool) featurePurchased {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
// REMOVED: FCTraktIAPManager (class gone from binary)
|
||||||
|
|
||||||
|
%hook FCUpgradeToProViewController
|
||||||
|
-(bool) featureHasBought {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
// Add credits
|
||||||
|
@interface FCVersionView : UIView
|
||||||
|
@property (nonatomic, strong) UILabel *label;
|
||||||
|
@end
|
||||||
|
|
||||||
|
%hook FCVersionView
|
||||||
|
- (void)awakeFromNib {
|
||||||
|
%orig;
|
||||||
|
UILabel *label = (UILabel *)[self valueForKey:@"label"];
|
||||||
|
if ([label.text containsString:@"Infuse Pro"] && ![label.text hasPrefix:@"Infuse Team •"]) {
|
||||||
|
label.text = [NSString stringWithFormat:@"Infuse Team • %@", label.text];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
// iOS 16 Crash Fix
|
||||||
|
%hook CKContainer
|
||||||
|
+ (id)defaultContainer {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
+ (id)containerWithIdentifier:(id)arg1 {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
%end
|
||||||
10
Infuse/Infuse-iOS/control
Normal file
10
Infuse/Infuse-iOS/control
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
Package: io.infuseteam.infuserootless
|
||||||
|
Name: Infuse (Rootless)
|
||||||
|
Version: 2.0
|
||||||
|
Architecture: iphoneos-arm
|
||||||
|
Description: Unlock the full potential of Infuse
|
||||||
|
Maintainer: Infuse Team
|
||||||
|
Author: Infuse Team
|
||||||
|
Section: Tweaks
|
||||||
|
Depends: firmware (>= 18.3)
|
||||||
|
Conflicts: io.infuseteam.infuse, io.infuseteam.infuseroothide, io.infuseteam.infuselegacy, xyz.eshaydev.ignition, com.ippteam.infuse, com.strejda603.infuse6pro, xyz.eshaydev.infuse
|
||||||
26
Infuse/Infuse-iOS/index.md
Normal file
26
Infuse/Infuse-iOS/index.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Infuse (iOS)
|
||||||
|
|
||||||
|
Unlock the full potential of Infuse.
|
||||||
|
|
||||||
|
- **App**: [Infuse](https://apps.apple.com/fr/app/infuse/id1136220934)
|
||||||
|
- **Tested version**: 8.4.2
|
||||||
|
- **Target**: iOS 18+ (tested on iOS 18.7.1 using LiveContainer)
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
```sh
|
||||||
|
make package FINALPACKAGE=1
|
||||||
|
```
|
||||||
|
|
||||||
|
## Inject
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cyan -i infuse-8.4.2.ipa \
|
||||||
|
-o infuse-8.4.2_patched.ipa \
|
||||||
|
-f io.infuseteam.infuserootless_2.0_iphoneos-arm.deb \
|
||||||
|
-u
|
||||||
|
```
|
||||||
|
|
||||||
|
## Screenshots
|
||||||
|
|
||||||
|

|
||||||
3
Infuse/Infuse-tvOS/.gitignore
vendored
Normal file
3
Infuse/Infuse-tvOS/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
.theos/
|
||||||
|
packages/
|
||||||
|
.DS_Store
|
||||||
7
Infuse/Infuse-tvOS/Infuse.plist
Normal file
7
Infuse/Infuse-tvOS/Infuse.plist
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
Filter = {
|
||||||
|
Bundles = (
|
||||||
|
"com.firecore.infuse",
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
||||||
17
Infuse/Infuse-tvOS/Makefile
Normal file
17
Infuse/Infuse-tvOS/Makefile
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
TARGET = appletv:latest:18.3
|
||||||
|
ARCHS = arm64
|
||||||
|
INSTALL_TARGET_PROCESSES = infuse
|
||||||
|
THEOS_PACKAGE_SCHEME = rootless
|
||||||
|
|
||||||
|
include $(THEOS)/makefiles/common.mk
|
||||||
|
|
||||||
|
TWEAK_NAME = Infuse
|
||||||
|
|
||||||
|
Infuse_FILES = Tweak.x
|
||||||
|
Infuse_CFLAGS = -fobjc-arc
|
||||||
|
Infuse_FRAMEWORKS = Foundation UIKit
|
||||||
|
|
||||||
|
include $(THEOS_MAKE_PATH)/tweak.mk
|
||||||
|
test-print:
|
||||||
|
@echo "ARCH is $(THEOS_PACKAGE_ARCH)"
|
||||||
|
@echo "CONTROL is $(_THEOS_DEB_PACKAGE_CONTROL_PATH)"
|
||||||
81
Infuse/Infuse-tvOS/Tweak.x
Normal file
81
Infuse/Infuse-tvOS/Tweak.x
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
// changes : FCInAppPurchaseServiceFreemium block deleted, FCTraktIAPManager block deleted, layoutSubviews -> awakeFromNib on FCVersionView, and the dead return %orig lines after return statements cleaned up (they were unreachable in the old version too)
|
||||||
|
|
||||||
|
#import <substrate.h>
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
%hook FCIAPGUIHelper
|
||||||
|
+(bool) isProAvailable {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
+(bool) isSubscriptionBought {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook FCInAppPurchaseServiceBase
|
||||||
|
- (bool)isFeaturePurchased:(long long)arg1 tillDate:(id*)arg2 {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
- (bool)isFeaturePurchased:(long long)arg1 {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook FCInAppPurchaseServiceDummy
|
||||||
|
- (bool)isFeaturePurchased:(long long)arg1 tillDate:(id*)arg2 {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
// REMOVED: FCInAppPurchaseServiceFreemium (class gone from binary, replaced by SK2)
|
||||||
|
|
||||||
|
// SK2 IAP backend
|
||||||
|
%hook _TtC6infuse31InAppPurchaseServiceFreemiumSK2
|
||||||
|
- (bool)isFeaturePurchased:(long long)arg1 tillDate:(id*)arg2 {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
- (long long)iapVersionStatus {
|
||||||
|
// FCUpgradeToProViewController.featureHasBought checks iapVersionStatus > 0
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
%hook FCProductCollectionCell
|
||||||
|
-(bool) featurePurchased {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
// REMOVED: FCTraktIAPManager (class gone from binary)
|
||||||
|
|
||||||
|
%hook FCUpgradeToProViewController
|
||||||
|
-(bool) featureHasBought {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
// Add credits
|
||||||
|
@interface FCVersionView : UIView
|
||||||
|
@property (nonatomic, strong) UILabel *label;
|
||||||
|
@end
|
||||||
|
|
||||||
|
%hook FCVersionView
|
||||||
|
- (void)awakeFromNib {
|
||||||
|
%orig;
|
||||||
|
UILabel *label = (UILabel *)[self valueForKey:@"label"];
|
||||||
|
if ([label.text containsString:@"Infuse Pro"] && ![label.text hasPrefix:@"Infuse Team •"]) {
|
||||||
|
label.text = [NSString stringWithFormat:@"Infuse Team • %@", label.text];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
%end
|
||||||
|
|
||||||
|
// iOS 16 Crash Fix
|
||||||
|
%hook CKContainer
|
||||||
|
+ (id)defaultContainer {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
+ (id)containerWithIdentifier:(id)arg1 {
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
%end
|
||||||
10
Infuse/Infuse-tvOS/control
Normal file
10
Infuse/Infuse-tvOS/control
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
Package: io.infuseteam.infuserootless
|
||||||
|
Name: Infuse (Rootless)
|
||||||
|
Version: 2.0
|
||||||
|
Architecture: appletvos-arm64
|
||||||
|
Description: Unlock the full potential of Infuse
|
||||||
|
Maintainer: Infuse Team
|
||||||
|
Author: Infuse Team
|
||||||
|
Section: Tweaks
|
||||||
|
Depends: firmware
|
||||||
|
Conflicts: io.infuseteam.infuse, io.infuseteam.infuseroothide, io.infuseteam.infuselegacy, xyz.eshaydev.ignition, com.ippteam.infuse, com.strejda603.infuse6pro, xyz.eshaydev.infuse
|
||||||
26
Infuse/Infuse-tvOS/index.md
Normal file
26
Infuse/Infuse-tvOS/index.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Infuse tvOS
|
||||||
|
|
||||||
|
Unlock pro features in Infuse.
|
||||||
|
|
||||||
|
- **App**: [Infuse](https://apps.apple.com/fr/app/infuse/id1136220934)
|
||||||
|
- **Tested version**: 8.2.4
|
||||||
|
- **Target**: tvOS 18.3 (tested on tvOS 18.3)
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
```sh
|
||||||
|
make package FINALPACKAGE=1
|
||||||
|
```
|
||||||
|
|
||||||
|
## Inject
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cyan -i infuse-8.2.4.ipa \
|
||||||
|
-o infuse-8.2.4_patched.ipa \
|
||||||
|
-f io.infuseteam.infuserootless_2.0_tvos-arm64.deb \
|
||||||
|
-u
|
||||||
|
```
|
||||||
|
|
||||||
|
## Screenshots
|
||||||
|
|
||||||
|

|
||||||
@@ -11,6 +11,9 @@ iOS tweaks built with [Theos](https://theos.dev), injected into IPAs via [cyan](
|
|||||||
| [TextasticPro](TextasticPro/index.md) | Textastic 10.9.2 | iOS 18+ |
|
| [TextasticPro](TextasticPro/index.md) | Textastic 10.9.2 | iOS 18+ |
|
||||||
| [BusinessJB](BusinessJB/index.md) | Business 2.3.000 | iOS 15 |
|
| [BusinessJB](BusinessJB/index.md) | Business 2.3.000 | iOS 15 |
|
||||||
| [CreditAgricoleJB](CreditAgricoleJB/index.md) | Ma Banque 47.0.0 | iOS 15.8.6 |
|
| [CreditAgricoleJB](CreditAgricoleJB/index.md) | Ma Banque 47.0.0 | iOS 15.8.6 |
|
||||||
|
| [Infuse](Infuse/Infuse-tvOS/index.md) | Infuse 8.2.4 | tvOS 18.3 |
|
||||||
|
| [Infuse (iOS)](Infuse/Infuse-iOS/index.md) | Infuse 8.4.2 | iOS 18+ |
|
||||||
|
| [TF1+ (tvOS)](TF1Plus/TF1Plus-tvOS/index.md) | TF1+ 11.36.0 | tvOS |
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
|
|||||||
3
TF1Plus/TF1Plus-tvOS/.gitignore
vendored
Normal file
3
TF1Plus/TF1Plus-tvOS/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
.theos/
|
||||||
|
packages/
|
||||||
|
.DS_Store
|
||||||
13
TF1Plus/TF1Plus-tvOS/Makefile
Normal file
13
TF1Plus/TF1Plus-tvOS/Makefile
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
TARGET = appletv:latest:18.3
|
||||||
|
ARCHS = arm64
|
||||||
|
INSTALL_TARGET_PROCESSES = mytf1
|
||||||
|
THEOS_PACKAGE_SCHEME = rootless
|
||||||
|
|
||||||
|
include $(THEOS)/makefiles/common.mk
|
||||||
|
|
||||||
|
TWEAK_NAME = TF1Plus
|
||||||
|
|
||||||
|
TF1Plus_FILES = Tweak.x
|
||||||
|
TF1Plus_CFLAGS = -fobjc-arc
|
||||||
|
|
||||||
|
include $(THEOS_MAKE_PATH)/tweak.mk
|
||||||
10
TF1Plus/TF1Plus-tvOS/TF1Plus.plist
Normal file
10
TF1Plus/TF1Plus-tvOS/TF1Plus.plist
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
Filter = {
|
||||||
|
Bundles = (
|
||||||
|
"com.tf1.applitf1",
|
||||||
|
);
|
||||||
|
Executables = (
|
||||||
|
mytf1,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
||||||
7
TF1Plus/TF1Plus-tvOS/Tweak.x
Normal file
7
TF1Plus/TF1Plus-tvOS/Tweak.x
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
%hook FWRequestConfiguration
|
||||||
|
- (id)initWithServerURL:(id)arg1 playerProfile:(id)arg2 {
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
%end
|
||||||
9
TF1Plus/TF1Plus-tvOS/control
Normal file
9
TF1Plus/TF1Plus-tvOS/control
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
Package: xyz.nohamr.tf1plus
|
||||||
|
Name: TF1+ (Rootless)
|
||||||
|
Version: 1.0
|
||||||
|
Architecture: appletvos-arm64
|
||||||
|
Description: TF1+ Ads blocker hook
|
||||||
|
Maintainer: NohamR
|
||||||
|
Author: NohamR
|
||||||
|
Section: Tweaks
|
||||||
|
Depends: firmware
|
||||||
22
TF1Plus/TF1Plus-tvOS/index.md
Normal file
22
TF1Plus/TF1Plus-tvOS/index.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# TF1+ tvOS
|
||||||
|
|
||||||
|
Block ads initialization on TF1+.
|
||||||
|
|
||||||
|
- **App**: [TF1+ : Streaming, TV en Direct](https://apps.apple.com/fr/app/tf1-streaming-tv-en-direct/id407248490)
|
||||||
|
- **Tested version**: 11.36.0
|
||||||
|
- **Target**: tvOS
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
```sh
|
||||||
|
make package FINALPACKAGE=1
|
||||||
|
```
|
||||||
|
|
||||||
|
## Inject
|
||||||
|
|
||||||
|
```sh
|
||||||
|
cyan -i tf1plus.ipa \
|
||||||
|
-o tf1plus_patched.ipa \
|
||||||
|
-f com.yourname.tf1plus_1.0_tvos-arm64.deb \
|
||||||
|
-u
|
||||||
|
```
|
||||||
BIN
docs/screens/Infuse/mobile.png
Normal file
BIN
docs/screens/Infuse/mobile.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 232 KiB |
BIN
docs/screens/Infuse/settings.png
Normal file
BIN
docs/screens/Infuse/settings.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
Reference in New Issue
Block a user