From d423192fbd0f337425a74f95dc790f4d31fc16a7 Mon Sep 17 00:00:00 2001 From: Balackburn <93828569+Balackburn@users.noreply.github.com> Date: Tue, 27 Jun 2023 10:39:57 +0200 Subject: [PATCH] new branch for github pages --- .github/ISSUE_TEMPLATE/bug.yaml | 86 +++ .github/ISSUE_TEMPLATE/question-help.md | 37 + .github/RELEASE_TEMPLATE/Release.md | 42 ++ .github/workflows/buildapp.yml | 162 +++++ .github/workflows/update_source.yml | 42 -- .gitignore | 6 + .gitmodules | 42 ++ Youtube_logo-512.png | Bin 8825 -> 0 bytes apps.json | 108 --- images/image_0.png | Bin 0 -> 10748 bytes images/image_1.png | Bin 0 -> 14622 bytes screenshots/5.png => images/image_10.png | Bin screenshots/6.png => images/image_11.png | Bin screenshots/7.png => images/image_12.png | Bin screenshots/8.png => images/image_13.png | Bin images/image_2.png | Bin 0 -> 12328 bytes images/image_3.png | Bin 0 -> 7789 bytes images/image_4.png | Bin 0 -> 14622 bytes images/image_5.png | Bin 0 -> 12328 bytes screenshots/1.png => images/image_6.png | Bin screenshots/2.png => images/image_7.png | Bin screenshots/3.png => images/image_8.png | Bin screenshots/4.png => images/image_9.png | Bin index.html | 822 +++++++++++++++++++++++ update_json.py | 61 -- 25 files changed, 1197 insertions(+), 211 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug.yaml create mode 100644 .github/ISSUE_TEMPLATE/question-help.md create mode 100644 .github/RELEASE_TEMPLATE/Release.md create mode 100644 .github/workflows/buildapp.yml delete mode 100644 .github/workflows/update_source.yml create mode 100644 .gitmodules delete mode 100644 Youtube_logo-512.png delete mode 100644 apps.json create mode 100644 images/image_0.png create mode 100644 images/image_1.png rename screenshots/5.png => images/image_10.png (100%) rename screenshots/6.png => images/image_11.png (100%) rename screenshots/7.png => images/image_12.png (100%) rename screenshots/8.png => images/image_13.png (100%) create mode 100644 images/image_2.png create mode 100644 images/image_3.png create mode 100644 images/image_4.png create mode 100644 images/image_5.png rename screenshots/1.png => images/image_6.png (100%) rename screenshots/2.png => images/image_7.png (100%) rename screenshots/3.png => images/image_8.png (100%) rename screenshots/4.png => images/image_9.png (100%) create mode 100644 index.html delete mode 100644 update_json.py diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml new file mode 100644 index 0000000..98548d2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -0,0 +1,86 @@ +name: Bug +description: Make sure you complete the template. Otherwise, it will be closed without further explanation! +title: "[Bug] Replace this with your title" +labels: bug +body: +- type: checkboxes + attributes: + label: Is there an existing issue for this? + description: _Please search to see if an issue already exists for the bug you encountered_ + options: + - label: I have searched the existing issues + required: true + +- type: checkboxes + attributes: + label: Have you read the FAQ? + description: _Make sure you visit the [**FAQ**](https://github.com/qnblackcat/CercubePlus/wiki/FAQ) page first!_ + options: + - label: Yes, I read the FAQ + required: true + +- type: textarea + attributes: + label: Device info + description: + value: | + - iOS/iPadOS version: + - Device model: + - Sideload tool (AltStore, Sideloadly, TrollStore,...): + - The specific version of CercubePlus (**latest** or **newest** is **NOT** a version number!): + validations: + required: true + +- type: textarea + attributes: + label: Describe the bug + description: _Please attach videos or screenshots if possible_ + validations: + required: true + +- type: textarea + attributes: + label: Steps to reproduce the issue + description: _Please attach videos or screenshots if possible_ + value: | + 1. + 2. + 3. + validations: + required: true + +- type: textarea + id: logs + attributes: + label: Crash log (if the app crashes) + description: _If somehow the app crashes, **you must provide the crash log**. It can be found in your device's Settings App > Privacy > Analytics & Improvements > Analytics Data > Youtube-xxx-xxx.ips_ + render: shell + +- type: dropdown + attributes: + label: Are you using the newest version of CercubePlus? If not, why? + description: _Developers spend time and effort to fix bugs & add improvements with every release. Why don't you update to the [latest version](https://github.com/Balackburn/YTLitePlus/releases/latest) before reporting about an issue?_ + multiple: false + options: + - ✅ Yes, I'm using the latest version of CercubePlus right now + - ❌ No, I'll explain at the end of the template + validations: + required: true + +- type: dropdown + attributes: + label: Does the issue happen with the official YouTube from AppStore? + description: _Well, YouTube itself is buggy sometimes..._ + multiple: false + options: + - ❌ No, It doesn't + - ✅ Yes, It does + validations: + required: true + +- type: textarea + attributes: + label: Additional context + description: _Um, anything else you want to say?_ + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/question-help.md b/.github/ISSUE_TEMPLATE/question-help.md new file mode 100644 index 0000000..aa0410a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question-help.md @@ -0,0 +1,37 @@ +name: Question +description: Have question(s)? +title: "[Questions] Replace with your question" +labels: question +body: +- type: checkboxes + attributes: + label: Is there an existing issue/question for this? + description: _Please search to see if an issue already exists for the bug you encountered. **I DON\'T MAKE THIS TICK BOX FOR COSMETIC.**_ + options: + - label: I have searched the existing issues + required: true + +- type: dropdown + attributes: + label: Do you think this is a bug? + description: _If you think this is a bug, please open a new issue with the bug template_ + multiple: false + options: + - ✅ Yes, I believe this is a bug. I will open a new issue with the bug template + - ❌ No, I don't think this is a bug. I will explain below + validations: + required: true + +- type: textarea + attributes: + label: My question + description: _Please enter your question here_ + validations: + required: true + +- type: textarea + attributes: + label: Additional context + description: _Um, anything else you want to say?_ + validations: + required: false diff --git a/.github/RELEASE_TEMPLATE/Release.md b/.github/RELEASE_TEMPLATE/Release.md new file mode 100644 index 0000000..056a066 --- /dev/null +++ b/.github/RELEASE_TEMPLATE/Release.md @@ -0,0 +1,42 @@ +# [YOUR_TWEAK_NAME] Features +CercubePlus but adds Additional Features that should’ve been added to the native CercubePlus which were probably not added. + +**LowContrastMode:** This tweak helps remove the new contrasty looking UI that was first introducted way back in 2020 August/September. (Tweak made by arichorn) +
+More Features... + +**LowContrastModeColors:** for users who doesn’t use gray will get a set of colors to switch which changes and improves the UI Customization. (Add-on added for LowContrastMode) + +**YTNoHeatwaves:** Turns off the Heatwaves Feature in the video player. `(CercubePlus/VideoPlayerOverlayControls)` + +**YTNoUpgradeDialog:** Disables the Upgrade Dialog so you won’t be prompt to update the app. + +**YouMute:** Mute/unmute videos in YouTube directly. + +**iPadLayout:** Gives iPhone users the ability to use the iPad’s Interface and the ability to use the some of the YouTube features that are not on iPhone. + +**iPhoneLayout:** Gives iPad users the ability to use Community Posts, to create Shorts and the ability to use the buggy iPhone layout. but using it in split view mode fixes the ui. + +**HideSponsorBlockButton:** Hide the SponsorBlock Button shown on the Nav Bar. Added by Dayanch96 + +**DisableWifiRelatedOptions:** want to remove sections that are only shown when internet is on? You can toggle this to remove all of those sections. Well not all but toggling the option will remove some of the annoying sections that may not be used. + +**HideShadowOverlayButtons:** want to remove shadow overlay on the buttons used in the video player? Then toggle this to remove the Shadow Overlay on the buttons Previous, Next, Rewind, Forward. + +**etc..** +
+ +# [YOUR_TWEAK_NAME] Release Information +Current YouTube IPA: `TEMPLATE` +Current YTLite Version: `v5.3.13` +Current App Compatibility: `iOS/iPadOS 14.0` or later + +**RELEASE F1:** +[THIS IS WHERE YOU PUT YOUR CHANGES BELOW, also F1 indicates First Release on the same YouTube Version in case you needed to know] +- [<-- this subtract symbol makes the changelog look cool] + +- [this right here shows you added additonal changes on a certain tweak like this for example, below] +- Improvements + - Fixed Sign-in Issue + - Fixed Ads Not Working Issue +[THIS IS HOW YOU DO IT! YOU CAN DELETE ALL OF THE TEXT I'VE SAID!] diff --git a/.github/workflows/buildapp.yml b/.github/workflows/buildapp.yml new file mode 100644 index 0000000..70c3e4c --- /dev/null +++ b/.github/workflows/buildapp.yml @@ -0,0 +1,162 @@ +# Original idea by @ISnackable. Many thanks to him for handling the most hardest parts! +# https://github.com/ISnackable/CercubePlus/blob/main/.github/workflows/Build.yml + +name: Build and Release CercubePlus + +on: + workflow_dispatch: + inputs: + cercube_version: + description: "The version of YTLite" + default: "5.3.11" + required: true + type: string + decrypted_youtube_url: + description: "The direct URL to the decrypted YouTube ipa" + default: "" + required: true + type: string + youtube_version: + description: "The version of YouTube" + default: "" + required: true + type: string + bundle_id: + description: "Modify the bundle ID. Not recommended" + default: "com.google.ios.youtube" + required: true + type: string + app_name: + description: "Modify the name of the app on the Home Screen. Not recommended" + default: "YouTube" + required: true + type: string + create_release: + description: "Create a draft release" + default: true + required: false + type: boolean + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Build CercubePlus + runs-on: macos-latest + permissions: + contents: write + + steps: + - name: Checkout Main + uses: actions/checkout@v3.5.2 + with: + path: main + submodules: recursive + + - name: Install Dependencies + run: brew install ldid dpkg make + + - name: Setup Theos + uses: actions/checkout@v3.5.2 + with: + repository: theos/theos + ref: master + path: theos + submodules: recursive + + - name: Caching + id: SDK + uses: actions/cache@v3.3.1 + env: + cache-name: iOS-15.5-SDK + with: + path: theos/sdks/ + key: ${{ env.cache-name }} + + - name: Download iOS 15.5 SDK + if: steps.SDK.outputs.cache-hit != 'true' + run: | + svn checkout -q https://github.com/chrisharper22/sdks/trunk/iPhoneOS15.5.sdk + mv *.sdk $THEOS/sdks + env: + THEOS: ${{ github.workspace }}/theos + + - name: Setup Theos Jailed + uses: actions/checkout@v3.5.2 + with: + repository: qnblackcat/theos-jailed + ref: master + path: theos-jailed + submodules: recursive + + - name: Install Theos Jailed + run: | + ./theos-jailed/install + env: + THEOS: ${{ github.workspace }}/theos + + - name: Download YTLite & Prepare YouTube iPA + run: | + curl "https://raw.githubusercontent.com/Muirey03/RemoteLog/master/RemoteLog.h" --output "$THEOS/include/RemoteLog.h" + curl "https://dl.dropboxusercontent.com/s/b01erqbp3ajc5e2/me.alfhaily.cercube_${{ env.CERCUBE_VERSION }}_iphoneos-arm.deb" --output "main/Tweaks/YTLite/me.alfhaily.cercube_${{ env.CERCUBE_VERSION }}_iphoneos-arm.deb" + echo -e "==> \033[1mCercube v${{ inputs.cercube_version }} downloaded! \033[0m" + wget "$YOUTUBE_URL" --no-verbose -O main/YouTube.ipa + echo -e "==> \033[1mYouTube v${{ inputs.youtube_version }} downloaded! \033[0m" + cd main/Tweaks/YTLite && tar -xf "me.alfhaily.cercube_5.3.11_iphoneos-arm.deb" && tar -xf data.tar.* && cd ../../.. + echo -e "==> \033[1mCercube v${{ inputs.cercube_version }} unpacked! \033[0m" + unzip -q main/YouTube.ipa -d main/tmp + rm -rf main/tmp/Payload/YouTube.app/_CodeSignature/CodeResources + rm -rf main/tmp/Payload/YouTube.app/PlugIns/* + cp -R main/Extensions/*.appex main/tmp/Payload/YouTube.app/PlugIns + echo -e "==> \033[1mYouTube v${{ inputs.youtube_version }} unpacked! \033[0m" + + env: + THEOS: ${{ github.workspace }}/theos + CERCUBE_VERSION: ${{ inputs.cercube_version }} + YOUTUBE_VERSION: ${{ inputs.youtube_version }} + YOUTUBE_URL: ${{ inputs.decrypted_youtube_url }} + + - name: Fix Compiling & Build Package + id: build_package + run: | + (echo PATH=\"$(brew --prefix make)/libexec/gnubin:\$PATH\" >> ~/.zprofile) + cd ${{ github.workspace }}/main + sed -i '' "12s#.*#BUNDLE_ID = ${{ env.BUNDLE_ID }}#g" Makefile + sed -i '' "11s#.*#DISPLAY_NAME = ${{ env.APP_NAME }}#g" Makefile + make package FINALPACKAGE=1 + (mv "packages/$(ls -t packages | head -n1)" "packages/CercubePlus_${{ env.YOUTUBE_VERSION }}_${{ env.CERCUBE_VERSION }}.ipa") + echo "package=$(ls -t packages | head -n1)" >>$GITHUB_OUTPUT + echo -e "==> \033[1mSHASUM256: $(shasum -a 256 packages/*.ipa | cut -f1 -d' ')\033[0m" + echo -e "==> \033[1mBundle ID: ${{ env.BUNDLE_ID }}\033[0m" + env: + THEOS: ${{ github.workspace }}/theos + CERCUBE_VERSION: ${{ inputs.cercube_version }} + YOUTUBE_VERSION: ${{ inputs.youtube_version }} + BUNDLE_ID: ${{ inputs.bundle_id }} + APP_NAME: ${{ inputs.app_name }} + + - name: Upload Artifact + uses: actions/upload-artifact@v3.1.2 + env: + CERCUBE_VERSION: ${{ inputs.cercube_version }} + YOUTUBE_VERSION: ${{ inputs.youtube_version }} + with: + name: CercubePlus_${{ env.YOUTUBE_VERSION }}_${{ env.CERCUBE_VERSION }} + path: ${{ github.workspace }}/main/packages/${{ steps.build_package.outputs.package }} + if-no-files-found: error + + - name: Create Release + id: create_release + uses: softprops/action-gh-release@v0.1.15 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CERCUBE_VERSION: ${{ inputs.CERCUBE_VERSION }} + YOUTUBE_VERSION: ${{ inputs.youtube_version }} + DRAFT: ${{ inputs.create_release }} + with: + tag_name: v${{ env.YOUTUBE_VERSION }}-${{ env.CERCUBE_VERSION }}-(${{ github.run_number }}) + name: v${{ env.YOUTUBE_VERSION }}-${{ env.CERCUBE_VERSION }}-(${{ github.run_number }}) + files: main/packages/*.ipa + draft: ${{ env.DRAFT }} diff --git a/.github/workflows/update_source.yml b/.github/workflows/update_source.yml deleted file mode 100644 index 9bb1e53..0000000 --- a/.github/workflows/update_source.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Update apps.json everyday - -on: - schedule: - - cron: '0 0 * * *' - workflow_dispatch: - -jobs: - update_json: - runs-on: ubuntu-latest - - steps: - - name: Check out repository - uses: actions/checkout@v2 - - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: 3.x - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install requests - - - name: Run script - run: | - python update_json.py - - - name: Check for changes - id: check_changes - run: | - git diff --exit-code || echo "::set-output name=has_changes::true" - - - name: Commit and push changes - if: steps.check_changes.outputs.has_changes == 'true' - run: | - git config --global user.email "actions@github.com" - git config --global user.name "GitHub Actions" - git add . - git commit -m "Update JSON file with latest release" - git push diff --git a/.gitignore b/.gitignore index e43b0f9..326e95e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,7 @@ .DS_Store +.theos/ +packages/ +tmp/ +Tweaks/YTLite/* +!Tweaks/YTLite/.gitkeep +Resources/ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..6d7b28b --- /dev/null +++ b/.gitmodules @@ -0,0 +1,42 @@ +[submodule "Tweaks/YTUHD"] + path = Tweaks/YTUHD + url = https://github.com/PoomSmart/YTUHD.git +[submodule "Tweaks/YouPiP"] + path = Tweaks/YouPiP + url = https://github.com/PoomSmart/YouPiP.git +[submodule "Tweaks/Return-YouTube-Dislikes"] + path = Tweaks/Return-YouTube-Dislikes + url = https://github.com/PoomSmart/Return-YouTube-Dislikes.git +[submodule "Tweaks/YouTubeHeader"] + path = Tweaks/YouTubeHeader + url = https://github.com/PoomSmart/YouTubeHeader.git +[submodule "Tweaks/Alderis"] + path = Tweaks/Alderis + url = https://github.com/qnblackcat/Alderis.git +[submodule "Tweaks/PSHeader"] + path = Tweaks/PSHeader + url = https://github.com/PoomSmart/PSHeader.git +[submodule "Tweaks/YTABConfig"] + path = Tweaks/YTABConfig + url = https://github.com/PoomSmart/YTABConfig.git +[submodule "Tweaks/YouMute"] + path = Tweaks/YouMute + url = https://github.com/PoomSmart/YouMute.git +[submodule "Tweaks/RemoteLog"] + path = Tweaks/RemoteLog + url = https://github.com/Muirey03/RemoteLog.git +[submodule "Tweaks/FLEX"] + path = Tweaks/FLEX + url = https://github.com/qnblackcat/FLEX-Classes.git +[submodule "Tweaks/iSponsorBlock"] + path = Tweaks/iSponsorBlock + url = https://github.com/Galactic-Dev/iSponsorBlock.git +[submodule "Extensions"] + path = Extensions + url = https://github.com/CokePokes/YoutubeExtensions.git +[submodule "Tweaks/YTHoldForSpeed"] + path = Tweaks/YTHoldForSpeed + url = https://github.com/arichorn/YTHoldForSpeed.git +[submodule "Tweaks/DontEatMyContent"] + path = Tweaks/DontEatMyContent + url = https://github.com/therealFoxster/DontEatMyContent.git diff --git a/Youtube_logo-512.png b/Youtube_logo-512.png deleted file mode 100644 index 0753d353654f8ee606146733178d2f69ebe5a47b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8825 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 diff --git a/apps.json b/apps.json deleted file mode 100644 index 132851b..0000000 --- a/apps.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "name": "YTLitePlus (for Altstore)", - "identifier": "com.ytlite.source", - "apps": [ - { - "beta": false, - "name": "Youtube (YTLitePlus)", - "bundleIdentifier": "com.google.ios.youtube", - "developerName": "Dayanch96 & Arichorn", - "subtitle": "YTLite with more features!", - "version": "18.23.3", - "versionDate": "2023-06-27T08:15:21Z", - "versionDescription": "Current YouTube IPA: \"v18.23.3\" \r\nCurrent YTLite Version: \"v2.0\" \r\nCurrent App Compatibility: \"iOS/iPadOS 14.0\" or later\r\n\r\nRELEASE 18.23.3\u20222.0: (June 27th 2023)\r\n\r\n\u2022 Initial YTLitePlus Release\r\n\r\nIssues in this Release:\r\n\u2022 LowContrastMode doesn't work (it work with older YT version)\r\n\u2022 The old Darkmode doesn't work quite right", - "downloadURL": "https://github.com/Balackburn/YTLitePlus/releases/download/v18.23.3-2.0/YTLitePlus_18.23.3_2.0.ipa", - "localizedDescription": "YTLite with more features! \n\nSupercharge your YouTube experience with +15 tweaks: \n\n\u2022 YTLite: Ad-blocking & background playback\n\u2022 iSponsorBlock: Skip sponsor ads\n\u2022 YouPiP: Native PiP mode\n\u2022 YTUHD: 2K & 4K video quality\n\u2022 YouTube Dislike Return: Reinstate dislike counts\n\u2022 YTClassicVideoQuality: Old video quality selector\n\u2022 YTNoHoverCards: Disable suggested videos\n\u2022 YTABGoodies: Disable A/B testing features\n\u2022 NOYTPremium: Remove Premium upsell alerts\n\u2022 YTSpeed: Add 2.25x to 4x playback speeds\n\u2022 YTMiniplayerEnabler: Enable Miniplayer\n\u2022 DontEatMyContent: Prevent notch issues\n\u2022 YTShortsProgress: Enable progress bar for Shorts\n\u2022 YTABConfig: Control A/B testing flags\n\u2022 YouMute: Mute/unmute videos\n\u2022 LowContrastMode: Reduce interface contrast\n\u2022 And many more...", - "iconURL": "https://raw.githubusercontent.com/Balackburn/YTLitePlus/AltstoreSource/Youtube_logo-512.png", - "tintColor": "e22a41", - "size": 93660296, - "screenshotURLs": [ - "https://raw.githubusercontent.com/Balackburn/YTLitePlus/AltstoreSource/screenshots/1.png", - "https://raw.githubusercontent.com/Balackburn/YTLitePlus/AltstoreSource/screenshots/2.png", - "https://raw.githubusercontent.com/Balackburn/YTLitePlus/AltstoreSource/screenshots/3.png", - "https://raw.githubusercontent.com/Balackburn/YTLitePlus/AltstoreSource/screenshots/4.png", - "https://raw.githubusercontent.com/Balackburn/YTLitePlus/AltstoreSource/screenshots/5.png", - "https://raw.githubusercontent.com/Balackburn/YTLitePlus/AltstoreSource/screenshots/6.png", - "https://raw.githubusercontent.com/Balackburn/YTLitePlus/AltstoreSource/screenshots/7.png", - "https://raw.githubusercontent.com/Balackburn/YTLitePlus/AltstoreSource/screenshots/8.png" - ], - "appPermissions": { - "entitlements": [ - { - "name": "com.apple.security.application-groups" - }, - { - "name": "com.apple.developer.associated-domains" - }, - { - "name": "com.apple.developer.coremedia.allow-alternate-video-decoder-selection" - }, - { - "name": "com.apple.developer.usernotifications.time-sensitive" - }, - { - "name": "com.apple.developer.coremedia.allow-alternate-video-decoder-selection" - }, - { - "name": "com.apple.developer.usernotifications.time-sensitive" - }, - { - "name": "get-task-allow" - }, - { - "name": "com.apple.developer.device-information.user-assigned-device-name" - }, - { - "name": "com.apple.developer.group-session" - }, - { - "name": "keychain-access-groups" - }, - { - "name": "com.apple.developer.networking.multicast" - }, - { - "name": "aps-environment" - }, - { - "name": "com.apple.developer.networking.wifi-info" - } - ], - "privacy": [ - { - "name": "AppleMusic", - "usageDescription": "YTLitePlus requires access to your Apple Music library." - }, - { - "name": "BluetoothPeripheral", - "usageDescription": "YTLitePlus requires Bluetooth access to connect with nearby peripherals." - }, - { - "name": "Camera", - "usageDescription": "YTLitePlus requires access to the camera to capture photos and videos." - }, - { - "name": "Contacts", - "usageDescription": "YTLitePlus requires access to your contacts to help you share content with your friends." - }, - { - "name": "LocalNetwork", - "usageDescription": "YTLitePlus requires local network access to connect and communicate with nearby devices." - }, - { - "name": "LocationWhenInUse", - "usageDescription": "YTLitePlus requires access to your location while using the app to provide personalized recommendations." - }, - { - "name": "Microphone", - "usageDescription": "YTLitePlus requires access to your microphone to record audio." - }, - { - "name": "PhotoLibrary", - "usageDescription": "YTLitePlus requires access to your Photo Library to save photos and videos." - } - ] - } - } - ] -} \ No newline at end of file diff --git a/images/image_0.png b/images/image_0.png new file mode 100644 index 0000000000000000000000000000000000000000..39e053368e5d1a5370aa338482dba4c8db027756 GIT binary patch literal 10748 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 literal 0 HcmV?d00001 diff --git a/screenshots/5.png b/images/image_10.png similarity index 100% rename from screenshots/5.png rename to images/image_10.png diff --git a/screenshots/6.png b/images/image_11.png similarity index 100% rename from screenshots/6.png rename to images/image_11.png diff --git a/screenshots/7.png b/images/image_12.png similarity index 100% rename from screenshots/7.png rename to images/image_12.png diff --git a/screenshots/8.png b/images/image_13.png similarity index 100% rename from screenshots/8.png rename to images/image_13.png diff --git a/images/image_2.png b/images/image_2.png new file mode 100644 index 0000000000000000000000000000000000000000..37a53f8df768f83f81c6a80f879fc4d666157101 GIT binary patch literal 12328 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 literal 0 HcmV?d00001 diff --git a/images/image_5.png b/images/image_5.png new file mode 100644 index 0000000000000000000000000000000000000000..37a53f8df768f83f81c6a80f879fc4d666157101 GIT binary patch literal 12328 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 + + + + + YTLitePlus - Supercharge Your YouTube Experience + + + + + + + + + + + +

+
+
+
+

YTLitePlus

+

YTLite with more features!

+ +
+
+ +
+
+

Screenshots

+
+ +
+
+ + +

Description:

+
+ + A modified version of YTLite (by @dayanch96) supercharged with +15 tweaks : + +
    +
  • YTLite: Block all + advertisements & Enable background playback. Set default player + quality on WiFi & Cellular. Save videos in high resolution, save videos as audio-only, save public + playlists (beta). And many more...
  • +
    +
  • iSponsorBlock: Skips annoying sponsor ads inside videos. iSponsorBlock + is based on SponsorBlock engine. Basically, this + is the iOS version of the SponsorBlock extension.
  • +
    +
  • YouPiP: Enable + YouTube's native PiP. More options are in YouTube Settings => General.
  • +
    +
  • YTUHD: Unlock VP9 + codec and in effect, enables video quality of 2K and 4K. You can configure YTUHD in YouTube's Settings - + Video quality preferences.
  • +
    +
  • YouTube Dislike + Return: Brings back Dislike counts under YouTube videos using ReturnYoutubeDislike's API. +
  • +
    +
  • YTClassicVideoQuality Brings back the old video quality selector, which + is a lot + better than the new one.
  • + +
    +
  • YTNoHoverCards: Offer an option to enable/disable the annoying + suggested videos show up at the end of the videos.
  • +
    +
  • YTABGoodies: + Allow you to disable some YouTube A/B testing features. It is a + combination of several tweaks, such as YouAreThere, YouRememberCaption, and YTNoCheckLocalNetwork. +
  • +
    +
  • NOYTPremium: + Remove YouTube Premium upsell alerts.
  • +
    +
  • YTSpeed Add 2.25x to 5x playback speed options in the video player. +
  • +
    +
  • YTMiniplayerEnabler: Enable Miniplayer for all YouTube videos.
  • +
    +
  • DontEatMyContent: Prevent the notch/Dynamic Island from munching on + 2:1 video content in YouTube.
  • +
    +
  • YTShortsProgress: Always enable progress bar and scrubbing in + YouTube Shorts (iPhone only).
  • +
    +
  • YTABConfig: + Allow user to control over YouTube A/B testing flags.
  • +
    +
  • YouMute: + Mute/unmute videos in the YouTube Video Player directly.
  • +
    +
  • LowContrastMode: Makes the YouTube Interface Low Contrast as + possible to make it easier on the eyes.
  • +
    +
  • YTNoShorts: + Disable YouTube Shorts.
  • +
    +
  • BigYTMiniPlayer: Enable a bigger YouTube Miniplayer.
  • +
+ +
+
+
+
+
+ +
+
+ + + + + + \ No newline at end of file diff --git a/update_json.py b/update_json.py deleted file mode 100644 index ef05e8b..0000000 --- a/update_json.py +++ /dev/null @@ -1,61 +0,0 @@ -import json -import re -import requests - -# Fetch the latest release information from GitHub -def fetch_latest_release(repo_url, keyword): - api_url = f"https://api.github.com/repos/{repo_url}/releases" - headers = {"Accept": "application/vnd.github+json"} - response = requests.get(api_url, headers=headers) - releases = response.json() - - for release in releases: - if keyword in release["name"]: - return release - - - raise ValueError(f"No release found containing the keyword '{keyword}'.") - -# Update the JSON file with the fetched data -def remove_tags(text): - text = re.sub('<[^<]+?>', '', text) # Remove HTML tags - text = re.sub(r'#{1,6}\s?', '', text) # Remove markdown header tags - return text - -def update_json_file(json_file, fetched_data): - with open(json_file, "r") as file: - data = json.load(file) - - app = data["apps"][0] - version = re.search(r"(\d+\.\d+\.\d+)", fetched_data["tag_name"]).group(1) - app["version"] = version - app["versionDate"] = fetched_data["published_at"] - - description = fetched_data["body"] - keyword = "YTLitePlus Release Information" - if keyword in description: - description = description.split(keyword, 1)[1].strip() - - description = remove_tags(description) - description = re.sub(r'\*{2}', '', description) - description = re.sub(r'-', '•', description) - description = re.sub(r'`', '"', description) - - app["versionDescription"] = description - app["downloadURL"] = fetched_data["assets"][0]["browser_download_url"] - app["size"] = fetched_data["assets"][0]["size"] - - with open(json_file, "w") as file: - json.dump(data, file, indent=2) - -# Main function -def main(): - repo_url = "Balackburn/YTLitePlus" - json_file = "apps.json" - keyword = "YTLitePlus" - - fetched_data = fetch_latest_release(repo_url, keyword) - update_json_file(json_file, fetched_data) - -if __name__ == "__main__": - main()