diff --git a/.gitmodules b/.gitmodules index c94fa17..50fb611 100644 --- a/.gitmodules +++ b/.gitmodules @@ -54,3 +54,15 @@ path = Tweaks/iSponsorBlock url = https://github.com/Galactic-Dev/iSponsorBlock.git branch = master +[submodule "Tweaks/IAmYouTube"] + path = Tweaks/IAmYouTube + url = https://github.com/PoomSmart/IAmYouTube.git +[submodule "Tweaks/YTClassicVideoQuality"] + path = Tweaks/YTClassicVideoQuality + url = https://github.com/PoomSmart/YTClassicVideoQuality.git +[submodule "Tweaks/NoYTPremium"] + path = Tweaks/NoYTPremium + url = https://github.com/PoomSmart/NoYTPremium.git +[submodule "Tweaks/YTSpeed"] + path = Tweaks/YTSpeed + url = https://github.com/qnblackcat/YTSpeed.git diff --git a/Makefile b/Makefile index c6a7f31..8669f00 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ BUNDLE_ID = com.google.ios.youtube $(TWEAK_NAME)_FILES = Sources/uYouPlus.xm Sources/Settings.xm Sources/Patches.xm $(TWEAK_NAME)_FRAMEWORKS = UIKit Security $(TWEAK_NAME)_CFLAGS = -fobjc-arc -DTWEAK_VERSION=\"$(PACKAGE_VERSION)\" -$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib +$(TWEAK_NAME)_INJECT_DYLIBS = Tweaks/uYou/Library/MobileSubstrate/DynamicLibraries/uYou.dylib $(THEOS_OBJ_DIR)/libFLEX.dylib $(THEOS_OBJ_DIR)/iSponsorBlock.dylib $(THEOS_OBJ_DIR)/YouPiP.dylib $(THEOS_OBJ_DIR)/YouTubeDislikesReturn.dylib $(THEOS_OBJ_DIR)/YTABConfig.dylib $(THEOS_OBJ_DIR)/YTUHD.dylib $(THEOS_OBJ_DIR)/DontEatMyContent.dylib $(THEOS_OBJ_DIR)/IAmYouTube.dylib $(THEOS_OBJ_DIR)/YTClassicVideoQuality.dylib $(THEOS_OBJ_DIR)/NoYTPremium.dylib $(THEOS_OBJ_DIR)/YTSpeed.dylib $(TWEAK_NAME)_EMBED_LIBRARIES = $(THEOS_OBJ_DIR)/libcolorpicker.dylib $(TWEAK_NAME)_EMBED_FRAMEWORKS = $(_THEOS_LOCAL_DATA_DIR)/$(THEOS_OBJ_DIR_NAME)/install/Library/Frameworks/Alderis.framework $(TWEAK_NAME)_EMBED_BUNDLES = $(wildcard Bundles/*.bundle) @@ -37,7 +37,7 @@ $(TWEAK_NAME)_EMBED_EXTENSIONS = $(wildcard Extensions/*.appex) include $(THEOS)/makefiles/common.mk ifneq ($(JAILBROKEN),1) -SUBPROJECTS += Tweaks/Alderis Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/Return-YouTube-Dislikes Tweaks/YouPiP Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality +SUBPROJECTS += Tweaks/Alderis Tweaks/FLEXing/libflex Tweaks/iSponsorBlock Tweaks/Return-YouTube-Dislikes Tweaks/YouPiP Tweaks/YTABConfig Tweaks/YTUHD Tweaks/DontEatMyContent Tweaks/YTVideoOverlay Tweaks/YouMute Tweaks/YouQuality Tweaks/IAmYouTube Tweaks/YTClassicVideoQuality Tweaks/NoYTPremium Tweaks/YTSpeed include $(THEOS_MAKE_PATH)/aggregate.mk endif include $(THEOS_MAKE_PATH)/tweak.mk diff --git a/Sources/uYouPlus.xm b/Sources/uYouPlus.xm index e00522c..2887f97 100644 --- a/Sources/uYouPlus.xm +++ b/Sources/uYouPlus.xm @@ -61,69 +61,6 @@ NSBundle *tweakBundle = uYouPlusBundle(); } %end -// IAmYouTube - https://github.com/PoomSmart/IAmYouTube/ -%hook YTVersionUtils -+ (NSString *)appName { return YT_NAME; } -+ (NSString *)appID { return YT_BUNDLE_ID; } -%end - -%hook GCKBUtils -+ (NSString *)appIdentifier { return YT_BUNDLE_ID; } -%end - -%hook GPCDeviceInfo -+ (NSString *)bundleId { return YT_BUNDLE_ID; } -%end - -%hook OGLBundle -+ (NSString *)shortAppName { return YT_NAME; } -%end - -%hook GVROverlayView -+ (NSString *)appName { return YT_NAME; } -%end - -%hook OGLPhenotypeFlagServiceImpl -- (NSString *)bundleId { return YT_BUNDLE_ID; } -%end - -%hook APMAEU -+ (BOOL)isFAS { return YES; } -%end - -%hook GULAppEnvironmentUtil -+ (BOOL)isFromAppStore { return YES; } -%end - -%hook SSOConfiguration -- (id)initWithClientID:(id)clientID supportedAccountServices:(id)supportedAccountServices { - self = %orig; - [self setValue:YT_NAME forKey:@"_shortAppName"]; - [self setValue:YT_BUNDLE_ID forKey:@"_applicationIdentifier"]; - return self; -} -%end - -%hook NSBundle -- (NSString *)bundleIdentifier { - NSArray *address = [NSThread callStackReturnAddresses]; - Dl_info info = {0}; - if (dladdr((void *)[address[2] longLongValue], &info) == 0) - return %orig; - NSString *path = [NSString stringWithUTF8String:info.dli_fname]; - if ([path hasPrefix:NSBundle.mainBundle.bundlePath]) - return YT_BUNDLE_ID; - return %orig; -} -- (id)objectForInfoDictionaryKey:(NSString *)key { - if ([key isEqualToString:@"CFBundleIdentifier"]) - return YT_BUNDLE_ID; - if ([key isEqualToString:@"CFBundleDisplayName"] || [key isEqualToString:@"CFBundleName"]) - return YT_NAME; - return %orig; -} -%end - // YTMiniPlayerEnabler: https://github.com/level3tjg/YTMiniplayerEnabler/ %hook YTWatchMiniBarViewController - (void)updateMiniBarPlayerStateFromRenderer { @@ -194,33 +131,6 @@ NSBundle *tweakBundle = uYouPlusBundle(); - (BOOL)isLandscapeEngagementPanelSwipeRightToDismissEnabled { return YES; } // Swipe right to dismiss the right panel in fullscreen mode %end -// NOYTPremium - https://github.com/PoomSmart/NoYTPremium/ -%hook YTCommerceEventGroupHandler -- (void)addEventHandlers {} -%end - -%hook YTInterstitialPromoEventGroupHandler -- (void)addEventHandlers {} -%end - -%hook YTPromosheetEventGroupHandler -- (void)addEventHandlers {} -%end - -%hook YTPromoThrottleController -- (BOOL)canShowThrottledPromo { return NO; } -- (BOOL)canShowThrottledPromoWithFrequencyCap:(id)arg1 { return NO; } -- (BOOL)canShowThrottledPromoWithFrequencyCaps:(id)arg1 { return NO; } -%end - -%hook YTIShowFullscreenInterstitialCommand -- (BOOL)shouldThrottleInterstitial { return YES; } -%end - -%hook YTSurveyController -- (void)showSurveyWithRenderer:(id)arg1 surveyParentResponder:(id)arg2 {} -%end - // YTNoPaidPromo: https://github.com/PoomSmart/YTNoPaidPromo %hook YTMainAppVideoPlayerOverlayViewController - (void)setPaidContentWithPlayerData:(id)data { @@ -300,52 +210,6 @@ static void replaceTab(YTIGuideResponse *response) { %end %end -// YTSpeed - https://github.com/Lyvendia/YTSpeed -%hook YTVarispeedSwitchController -- (id)init { - id result = %orig; - - const int size = 12; - float speeds[] = {0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 2.25, 2.5, 2.75, 3.0}; - id varispeedSwitchControllerOptions[size]; - - for (int i = 0; i < size; ++i) { - id title = [NSString stringWithFormat:@"%.2fx", speeds[i]]; - varispeedSwitchControllerOptions[i] = [[%c(YTVarispeedSwitchControllerOption) alloc] initWithTitle:title rate:speeds[i]]; - } - - NSUInteger count = sizeof(varispeedSwitchControllerOptions) / sizeof(id); - NSArray *varispeedArray = [NSArray arrayWithObjects:varispeedSwitchControllerOptions count:count]; - MSHookIvar(self, "_options") = varispeedArray; - - return result; -} -%end - -%hook MLHAMQueuePlayer -- (void)setRate:(float)rate { - MSHookIvar(self, "_rate") = rate; - MSHookIvar(self, "_preferredRate") = rate; - - id player = MSHookIvar(self, "_player"); - [player setRate: rate]; - - id stickySettings = MSHookIvar(self, "_stickySettings"); - [stickySettings setRate: rate]; - - [self.playerEventCenter broadcastRateChange: rate]; - - YTSingleVideoController *singleVideoController = self.delegate; - [singleVideoController playerRateDidChange: rate]; -} -%end - -%hook YTPlayerViewController -%property (nonatomic, assign) float playbackRate; -- (void)singleVideo:(id)video playbackRateDidChange:(float)rate { - %orig; -} -%end # pragma mark - uYouPlus diff --git a/Tweaks/IAmYouTube b/Tweaks/IAmYouTube new file mode 160000 index 0000000..f387294 --- /dev/null +++ b/Tweaks/IAmYouTube @@ -0,0 +1 @@ +Subproject commit f3872945d98199c331b388aec1b9c26963e75cc7 diff --git a/Tweaks/NoYTPremium b/Tweaks/NoYTPremium new file mode 160000 index 0000000..510b474 --- /dev/null +++ b/Tweaks/NoYTPremium @@ -0,0 +1 @@ +Subproject commit 510b474b3713d639993db601e46a6460692f9698 diff --git a/Tweaks/YTClassicVideoQuality b/Tweaks/YTClassicVideoQuality new file mode 160000 index 0000000..d983151 --- /dev/null +++ b/Tweaks/YTClassicVideoQuality @@ -0,0 +1 @@ +Subproject commit d983151bcb0d86dc3cae17c8ffcc87661457ea5e diff --git a/Tweaks/YTSpeed b/Tweaks/YTSpeed new file mode 160000 index 0000000..3fec2df --- /dev/null +++ b/Tweaks/YTSpeed @@ -0,0 +1 @@ +Subproject commit 3fec2dfcf0714a23e96d3cf523c7e86c019c2020