diff --git a/patch.sh b/patch.sh index 493f516..35cfb26 100644 --- a/patch.sh +++ b/patch.sh @@ -1,15 +1,15 @@ -#!/bin/bash +`#!/bin/bash set -e # Set variables for Revanced readonly revanced_name="revanced" readonly revanced_user="revanced" readonly revanced_patch="patches.rv" -readonly revanced_ytversion="" # Input version supported if you need patch specific YT version.Example: "18.03.36" +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_ytversion="" # Input version supported if you need patch specific YT version.Example: "18.07.35" +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) @@ -40,14 +40,22 @@ download_latest_release() { 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_yt() { - rm -rf $2 - echo "⏬ Downloading YouTube $1..." - url="https://www.apkmirror.com/apk/google-inc/youtube/youtube-${1//./-}-release/" - url="$url$(req "$url" - | grep Variant -A50 | grep ">APK<" -A2 | grep android-apk-download | 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" +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() { @@ -55,10 +63,10 @@ echo "⚙️ Patching YouTube..." java -jar revanced-cli*.jar \ -m revanced-integrations*.apk \ -b revanced-patches*.jar \ - -a youtube-v$ytversion.apk \ + -a youtube-music-v$ytmsversion.apk \ ${patches[@]} \ --keystore=ks.keystore \ - -o yt-$name.apk + -o ytms-$name-v$ytmsversion.apk } # Function clean caches to new build clean_cache() { @@ -76,19 +84,20 @@ for name in $revanced_name $revanced_extended_name ; do if [[ "$name" = "$revanced_name" ]]; then user="$revanced_user" patch_file="$revanced_patch" - ytversion="$revanced_ytversion" + ytmsversion="$revanced_ytmsversion" else user="$revanced_extended_user" patch_file="$revanced_extended_patch" - ytversion="$revanced_extended_ytversion" + ytmsversion="$revanced_extended_ytmsversion" fi get_patch download_latest_release -if [[ $ytversion ]] ; - then dl_yt $ytversion youtube-v$ytversion.apk -else ytversion=$(jq -r '.[] | select(.name == "microg-support") | .compatiblePackages[] | select(.name == "com.google.android.youtube") | .versions[-1]' patches.json) - dl_yt $ytversion youtube-v$ytversion.apk -fi +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 +done`