From b8f40854a8281568d2f43690e6f54440a5cadffa Mon Sep 17 00:00:00 2001 From: FiorenMas <102145692+FiorenMas@users.noreply.github.com> Date: Sun, 5 Mar 2023 22:42:00 +0700 Subject: [PATCH] Add files via upload --- patch-rv.txt | 3 ++ patch-rve.txt | 3 ++ patch.sh | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++ public.jks | Bin 0 -> 2553 bytes rv-patch.txt | 10 +++++ rve-patch.txt | 9 ++++ 6 files changed, 145 insertions(+) create mode 100644 patch-rv.txt create mode 100644 patch-rve.txt create mode 100644 patch.sh create mode 100644 public.jks create mode 100644 rv-patch.txt create mode 100644 rve-patch.txt diff --git a/patch-rv.txt b/patch-rv.txt new file mode 100644 index 0000000..de30894 --- /dev/null +++ b/patch-rv.txt @@ -0,0 +1,3 @@ +NAME="revanced" +USER="revanced" +PATCH="rv-patch.txt" diff --git a/patch-rve.txt b/patch-rve.txt new file mode 100644 index 0000000..b12d63a --- /dev/null +++ b/patch-rve.txt @@ -0,0 +1,3 @@ +NAME="revanced-extended" +USER="inotia00" +PATCH="rve-patch.txt" diff --git a/patch.sh b/patch.sh new file mode 100644 index 0000000..1da4900 --- /dev/null +++ b/patch.sh @@ -0,0 +1,120 @@ +#!/bin/bash +# File containing all patches and YouTube version +# source patch-rv.txt +# source patch-rve.txt +for var in patch-rv.txt patch-rve.txt +do +source $var + +patch_file=${PATCH} +# Get line numbers where included & excluded patches start from. +# We rely on the hardcoded messages to get the line numbers using grep +excluded_start="$(grep -n -m1 'EXCLUDE PATCHES' "$patch_file" | cut -d':' -f1)" +included_start="$(grep -n -m1 'INCLUDE PATCHES' "$patch_file" | cut -d':' -f1)" + +# Get everything but hashes from between the EXCLUDE PATCH & INCLUDE PATCH line +# Note: '^[^#[:blank:]]' ignores starting hashes and/or blank characters i.e, whitespace & tab excluding newline +excluded_patches="$(tail -n +$excluded_start $patch_file | head -n "$(( included_start - excluded_start ))" | grep '^[^#[:blank:]]')" + +# Get everything but hashes starting from INCLUDE PATCH line until EOF +included_patches="$(tail -n +$included_start $patch_file | grep '^[^#[:blank:]]')" + +# Array for storing patches +declare -a patches + +# Function for populating patches array, using a function here reduces redundancy & satisfies DRY principals +populate_patches() { + # Note: <<< defines a 'here-string'. Meaning, it allows reading from variables just like from a file + while read -r patch; do + patches+=("$1 $patch") + done <<< "$2" +} + +# If the variables are NOT empty, call populate_patches with proper arguments +[[ ! -z "$excluded_patches" ]] && populate_patches "-e" "$excluded_patches" +[[ ! -z "$included_patches" ]] && populate_patches "-i" "$included_patches" + +# Begin +WGET_HEADER="User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0" +DATE=$(date +%y%m%d) +DRAFT=false +if [ x${1} == xtest ]; then DRAFT=true; fi + +req() { + wget -q -O "$2" --header="$WGET_HEADER" "$1" +} + +get_latestytversion() { + url="https://www.apkmirror.com/apk/google-inc/youtube/" + YTVERSION=$(req "$url" - | grep "All version" -A200 | grep app_release | sed 's:.*/youtube-::g;s:-release/.*::g;s:-:.:g' | sort -r | head -1) + echo "Latest Youtube Version: $YTVERSION" +} + +dl_yt() { + rm -rf $2 + echo "🚘 Downloading YouTube v$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" +} +# Fetch latest official supported YT versions +curl -s https://api.github.com/repos/${USER}/revanced-patches/releases/latest \ +| grep "browser_download_url.*json" \ +| cut -d : -f 2,3 \ +| tr -d \" \ +| wget -qi - +mv patches.json ${NAME}-patches.json +YTVERSION=$(jq -r '.[] | select(.name == "microg-support") | .compatiblePackages[] | select(.name == "com.google.android.youtube") | .versions[-1]' ${NAME}-patches.json) +rm -rf ${NAME}-patches.json + +# Download Youtube +dl_yt $YTVERSION youtube-v${YTVERSION}.apk + +# Get patches +echo "⏭️ Prepairing ${NAME} patches..." + +# Revanced-patches +curl -s https://api.github.com/repos/${USER}/revanced-patches/releases/latest \ +| grep "browser_download_url.*jar" \ +| cut -d : -f 2,3 \ +| tr -d \" \ +| wget -qi - +mv revanced-patches*.jar ${NAME}-patches.jar + +# Revanced CLI +curl -s https://api.github.com/repos/${USER}/revanced-cli/releases/latest \ +| grep "browser_download_url.*jar" \ +| cut -d : -f 2,3 \ +| tr -d \" \ +| wget -qi - +mv revanced-cli*.jar ${NAME}-cli.jar + +# ReVanced Integrations +curl -s https://api.github.com/repos/${USER}/revanced-integrations/releases/latest \ +| grep "browser_download_url.*apk" \ +| cut -d : -f 2,3 \ +| tr -d \" \ +| wget -qi - +mv revanced-integrations*.apk ${NAME}-integrations.apk + +# Patch revanced and revanced extended +echo "⏭️ Patching YouTube..." +java -jar ${NAME}-cli.jar -m ${NAME}-integrations.apk -b ${NAME}-patches.jar \ + ${patches[@]} \ + -a youtube-v${YTVERSION}.apk -o ${NAME}.apk + +# Find and select apksigner binary +echo "⏭️ Signing ${NAME}-v${YTVERSION}..." +apksigner="$(find $ANDROID_SDK_ROOT/build-tools -name apksigner | sort -r | head -n 1)" + +# Sign apks (https://github.com/tytydraco/public-keystore) +${apksigner} sign --ks public.jks --ks-key-alias public --ks-pass pass:public --key-pass pass:public --in ./${NAME}.apk --out ./yt-${NAME}.apk + +# Refresh patches cache +echo "⏭️ Clean patches cache..." +rm -f *-cli.jar *-integrations.apk *-patches.jar + +# Finish +done diff --git a/public.jks b/public.jks new file mode 100644 index 0000000000000000000000000000000000000000..885840ce689428b72bed52033c1cdb66ca81c436 GIT binary patch literal 2553 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 literal 0 HcmV?d00001 diff --git a/rv-patch.txt b/rv-patch.txt new file mode 100644 index 0000000..988aa13 --- /dev/null +++ b/rv-patch.txt @@ -0,0 +1,10 @@ +# EXCLUDE PATCHES FROM BELOW +custom-video-buffer +custom-video-speed +debugging +downloads +hide-my-mix +hide-autoplay-button +premium-heading +return-youtube-dislike +# INCLUDE PATCHES FROM BELOW diff --git a/rve-patch.txt b/rve-patch.txt new file mode 100644 index 0000000..8aa6017 --- /dev/null +++ b/rve-patch.txt @@ -0,0 +1,9 @@ +# EXCLUDE PATCHES FROM BELOW +custom-branding-icon-afn-red +custom-video-buffer +custom-video-speed +debugging +hide-mix-playlists +return-youtube-dislike +# INCLUDE PATCHES FROM BELOW +custom-branding-icon-revancify