From 226f05bc828693e8bf553ddcf483e121b72347fb Mon Sep 17 00:00:00 2001 From: FiorenMas <102145692+FiorenMas@users.noreply.github.com> Date: Tue, 11 Apr 2023 23:43:37 +0700 Subject: [PATCH] up --- .github/workflows/patch.yml | 57 ++++++++++++++++---- ytm/ks.keystore | Bin 0 -> 2040 bytes ytm/patch-ytm.sh | 103 ++++++++++++++++++++++++++++++++++++ ytm/patches-ytm.rv | 11 ++++ ytm/patches-ytm.rve | 11 ++++ 5 files changed, 172 insertions(+), 10 deletions(-) create mode 100644 ytm/ks.keystore create mode 100644 ytm/patch-ytm.sh create mode 100644 ytm/patches-ytm.rv create mode 100644 ytm/patches-ytm.rve diff --git a/.github/workflows/patch.yml b/.github/workflows/patch.yml index c15eb49..a58cfd5 100644 --- a/.github/workflows/patch.yml +++ b/.github/workflows/patch.yml @@ -26,19 +26,36 @@ jobs: | cut -d : -f 2,3 \ | tr -d \" \ | wget -qi - - RVVERSION=$(jq -r '.[] | select(.name == "microg-support") | .compatiblePackages[] | select(.name == "com.google.android.youtube") | .versions[-1]' patches.json) + YT-RVVERSION=$(jq -r '.[] | select(.name == "microg-support") | .compatiblePackages[] | select(.name == "com.google.android.youtube") | .versions[-1]' patches.json) rm -rf patches.json - curl -s https://api.github.com/repos/inotia00/revanced-patches/releases/latest \ | grep "browser_download_url.*json" \ | cut -d : -f 2,3 \ | tr -d \" \ | wget -qi - - RVEVERSION=$(jq -r '.[] | select(.name == "microg-support") | .compatiblePackages[] | select(.name == "com.google.android.youtube") | .versions[-1]' patches.json) + YT-RVEVERSION=$(jq -r '.[] | select(.name == "microg-support") | .compatiblePackages[] | select(.name == "com.google.android.youtube") | .versions[-1]' patches.json) rm -rf patches.json + + curl -s https://api.github.com/repos/revanced/revanced-patches/releases/latest \ + | grep "browser_download_url.*json" \ + | cut -d : -f 2,3 \ + | tr -d \" \ + | wget -qi - + YTM-RVVERSION=$(jq -r '.[] | select(.name == "microg-support") | .compatiblePackages[] | select(.name == "com.google.android.apps.youtube.music") | .versions[-1]' patches.json) + rm -rf patches.json + curl -s https://api.github.com/repos/inotia00/revanced-patches/releases/latest \ + | grep "browser_download_url.*json" \ + | cut -d : -f 2,3 \ + | tr -d \" \ + | wget -qi - + YTM-RVEVERSION=$(jq -r '.[] | select(.name == "microg-support") | .compatiblePackages[] | select(.name == "com.google.android.apps.youtube.music") | .versions[-1]' patches.json) + rm -rf patches.json + echo "Download Below :point_down:" > ${{ github.workspace }}-CHANGELOG.txt - echo "INFO-RV=Revanced-v${RVVERSION}" >> $GITHUB_ENV - echo "INFO-RVE=Revanced Extended-v${RVEVERSION}" >> $GITHUB_ENV + echo "INFO-YT-RV=Youtube-Revanced-v${YT-RVVERSION}" >> $GITHUB_ENV + echo "INFO-YT-RVE=Youtube-Revanced Extended-v${YT-RVEVERSION}" >> $GITHUB_ENV + echo "INFO-YTM-RV=Youtube-Revanced-v${YTM-RVVERSION}" >> $GITHUB_ENV + echo "INFO-YTM-RVE=Youtube-Revanced Extended-v${YTM-RVEVERSION}" >> $GITHUB_ENV - uses: vishnudxb/cancel-workflow@v1.2 if: failure() @@ -59,8 +76,8 @@ jobs: uses: softprops/action-gh-release@v1 with: files: yt-revanced.apk - name: ${{ env.INFO-RV }} - tag_name: Revanced + name: ${{ env.INFO-YT-RV }} + tag_name: YT-Revanced body_path: ${{ github.workspace }}-CHANGELOG.txt env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -69,11 +86,31 @@ jobs: uses: softprops/action-gh-release@v1 with: files: yt-revanced-extended.apk - name: ${{ env.INFO-RVE }} - tag_name: Revanced-Extended + name: ${{ env.INFO-YT-RVE }} + tag_name: YT-Revanced-Extended body_path: ${{ github.workspace }}-CHANGELOG.txt env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Release Youtube Music Revanced + uses: softprops/action-gh-release@v1 + with: + files: yt-revanced.apk + name: ${{ env.INFO-YTM-RV }} + tag_name: YT-Revanced + body_path: ${{ github.workspace }}-CHANGELOG.txt + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Release Youtube Music Revanced Extended + uses: softprops/action-gh-release@v1 + with: + files: yt-revanced-extended.apk + name: ${{ env.INFO-YTM-RVE }} + tag_name: YT-Revanced-Extended + body_path: ${{ github.workspace }}-CHANGELOG.txt + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Delete workflow runs uses: Mattraks/delete-workflow-runs@v2 diff --git a/ytm/ks.keystore b/ytm/ks.keystore new file mode 100644 index 0000000000000000000000000000000000000000..1c07f386d90317cb2a4a5bd7c3ff238e2745d042 GIT binary patch literal 2040 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 W8bw54fk`1(lR}>|DD1Qw@V7YNp}AcE literal 0 HcmV?d00001 diff --git a/ytm/patch-ytm.sh b/ytm/patch-ytm.sh new file mode 100644 index 0000000..a0ec03c --- /dev/null +++ b/ytm/patch-ytm.sh @@ -0,0 +1,103 @@ +`#!/bin/bash +set -e +# Set variables for Revanced +readonly revanced_name="revanced" +readonly revanced_user="revanced" +readonly revanced_patch="patches.rv" +readonly revanced_ytmsversion="" # Input version supported if you need patch specific YT version.Example: "18.03.36" +# Set variables for Revanced Extended +readonly revanced_extended_name="revanced-extended" +readonly revanced_extended_user="inotia00" +readonly revanced_extended_patch="patches.rve" +readonly revanced_extended_ytmsversion="" # Input version supported if you need patch specific YT version.Example: "18.07.35" +# Function prepare patches keywords +get_patch() { + local excluded_start=$(grep -n -m1 'EXCLUDE PATCHES' "$patch_file" | cut -d':' -f1) + local included_start=$(grep -n -m1 'INCLUDE PATCHES' "$patch_file" | cut -d':' -f1) + local excluded_patches=$(tail -n +$excluded_start $patch_file | head -n "$(( included_start - excluded_start ))" | grep '^[^#[:blank:]]') + local included_patches=$(tail -n +$included_start $patch_file | grep '^[^#[:blank:]]') + patches=() + if [[ -n "$excluded_patches" ]]; then + while read -r patch; do + patches+=("-e $patch") + done <<< "$excluded_patches" + fi + if [[ -n "$included_patches" ]]; then + while read -r patch; do + patches+=("-i $patch") + done <<< "$included_patches" + fi +} +# Function download latest github releases +download_latest_release() { + echo "⏬ Downloading $name resources..." + for repos in revanced-patches revanced-cli revanced-integrations; do + local url="https://api.github.com/repos/$user/$repos/releases/latest" + curl -s "$url" | jq -r '.assets[].browser_download_url' | xargs -n 1 curl -O -s -L + done +} +# Function download YouTube apk from APKmirror +req() { + curl -sSL -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:111.0) Gecko/20100101 Firefox/111.0" "$1" -o "$2" +} +dl_ytm() { + rm -rf $2 + echo "Downloading YouTubeMusic $1" + url="https://www.apkmirror.com/apk/google-inc/youtube/youtube-music-${1//./-}-release/" + url="$url$(req "$url" - | grep arm64 -A30 | grep youtube-music | head -1 | sed "s#.*-release/##g;s#/\".*##g")" + url="https://www.apkmirror.com$(req "$url" - | tr '\n' ' ' | sed -n 's;.*href="\(.*key=[^"]*\)">.*;\1;p')" + url="https://www.apkmirror.com$(req "$url" - | tr '\n' ' ' | sed -n 's;.*href="\(.*key=[^"]*\)">.*;\1;p')" + req "$url" "$2" +} +get_latestytmversion() { + url="https://www.apkmirror.com/apk/google-inc/youtube-music/" + ytmsversion=$(req "$url" - | grep "All version" -A200 | grep app_release | sed 's:.*/youtube-music-::g;s:-release/.*::g;s:-:.:g' | sort -r | head -1) + echo "Latest YoutubeMusic Version: $ytmsversion" +} +get_support_version() { +ytmsversion=$(jq -r '.[] | select(.name == "hide-get-premium") | .compatiblePackages[] | select(.name == "com.google.android.apps.youtube.music") | .versions[-1]' patches.json) +} +# Function Patch APK +patch_apk() { +echo "⚙️ Patching YouTube..." +java -jar revanced-cli*.jar \ + -m revanced-integrations*.apk \ + -b revanced-patches*.jar \ + -a youtube-music-v$ytmsversion.apk \ + ${patches[@]} \ + --keystore=ks.keystore \ + -o ytms-$name.apk +} +# Function clean caches to new build +clean_cache() { +echo "🧹 Clean caches..." +rm -f revanced-cli*.jar \ + revanced-integrations*.apk \ + revanced-patches*.jar \ + patches.json \ + options.toml \ + youtube*.apk \ +} +# Loop over Revanced & Revanced Extended +for name in $revanced_name $revanced_extended_name ; do + # Select variables based on name + if [[ "$name" = "$revanced_name" ]]; then + user="$revanced_user" + patch_file="$revanced_patch" + ytmsversion="$revanced_ytmsversion" + else + user="$revanced_extended_user" + patch_file="$revanced_extended_patch" + ytmsversion="$revanced_extended_ytmsversion" + fi +get_patch +download_latest_release +if [[ "$name" = "$revanced_name" ]] ; then + get_support_version + dl_ytm $ytmsversion youtube-music-v$ytmsversion.apk + else get_latestytmversion + dl_ytm $ytmsversion youtube-music-v$ytmsversion.apk +fi +patch_apk +clean_cache +done` \ No newline at end of file diff --git a/ytm/patches-ytm.rv b/ytm/patches-ytm.rv new file mode 100644 index 0000000..1ed040f --- /dev/null +++ b/ytm/patches-ytm.rv @@ -0,0 +1,11 @@ +# EXCLUDE PATCHES FROM BELOW +compact-header +# INCLUDE PATCHES FROM BELOW +background-play +codecs-unlock +exclusive-audio-playback +hide-get-premium +minimized-playback-music +music-video-ads +tasteBuilder-remover +upgrade-button-remover \ No newline at end of file diff --git a/ytm/patches-ytm.rve b/ytm/patches-ytm.rve new file mode 100644 index 0000000..1ed040f --- /dev/null +++ b/ytm/patches-ytm.rve @@ -0,0 +1,11 @@ +# EXCLUDE PATCHES FROM BELOW +compact-header +# INCLUDE PATCHES FROM BELOW +background-play +codecs-unlock +exclusive-audio-playback +hide-get-premium +minimized-playback-music +music-video-ads +tasteBuilder-remover +upgrade-button-remover \ No newline at end of file