diff --git a/README.md b/README.md index bdcce9b..5ff8ad0 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ you can open an issue to request a feature :D !! also see my [recommended flags] - remove UISupportedDevices - remove watch app - change the app icon -- fakesign the output ipa/app +- fakesign the output ipa/tipa/app - add custom entitlements to the main executable - thin all binaries to arm64, it can LARGELY reduce app size sometimes! - remove all app extensions (or just encrypted ones!) @@ -48,8 +48,6 @@ the `zip` and `unzip` commands are *optional* dependencies, they may [fix issues -note: if you installed cyan before v1.1.3 using `pip`, make sure you `pip uninstall cyan`, then verify you have the latest version with `cyan --version` - ## making cyan files cyan comes bundled with the `cgen` command, which lets you generate `.cyan` files to pass to `-z`/`--cyan` ! diff --git a/cyan/logic.py b/cyan/logic.py index e7f5509..996102f 100644 --- a/cyan/logic.py +++ b/cyan/logic.py @@ -13,8 +13,12 @@ def main(parser: ArgumentParser) -> None: if args.output is not None: args.o = os.path.normpath(args.output) - if not (args.o.endswith(".app") or args.o.endswith(".ipa")): - print("[?] output's file extension not specified; will create ipa") + if not ( + args.o.endswith(".app") + or args.o.endswith(".ipa") + or args.o.endswith(".tipa") + ): + print("[?] valid file extension not found; will create ipa") args.o += ".ipa" else: args.o = args.i @@ -25,8 +29,9 @@ def main(parser: ArgumentParser) -> None: if arg_err is not None: parser.error(arg_err) - INPUT_IS_IPA = True if args.i.endswith(".ipa") else False - OUTPUT_IS_IPA = True if args.o.endswith(".ipa") else False + # mfw when "True if True else False" HAHAHAH + INPUT_IS_IPA = args.i.endswith(".ipa") or args.i.endswith(".tipa") + OUTPUT_IS_IPA = args.o.endswith(".ipa") or args.o.endswith(".tipa") with TemporaryDirectory() as tmpdir, tbhtypes.LeavingCM(): app_path = tbhutils.get_app(args.i, tmpdir, INPUT_IS_IPA) diff --git a/cyan/tbhutils.py b/cyan/tbhutils.py index f246b9c..933ab80 100644 --- a/cyan/tbhutils.py +++ b/cyan/tbhutils.py @@ -17,10 +17,11 @@ HAS_UNZIP = shutil.which("unzip") is not None def validate_inputs(args: Namespace) -> Optional[str]: if not ( - args.i.endswith(".ipa") - or args.i.endswith(".app") + args.i.endswith(".app") + or args.i.endswith(".ipa") + or args.i.endswith(".tipa") ): - return "the input file must be an ipa/app" + return "the input file must be an ipa/tipa/app" if not os.path.exists(args.i): return f"{args.i} does not exist"