Add files via upload

This commit is contained in:
FiorenMas
2023-03-05 22:42:00 +07:00
committed by GitHub
parent 86e8341038
commit b8f40854a8
6 changed files with 145 additions and 0 deletions

3
patch-rv.txt Normal file
View File

@@ -0,0 +1,3 @@
NAME="revanced"
USER="revanced"
PATCH="rv-patch.txt"

3
patch-rve.txt Normal file
View File

@@ -0,0 +1,3 @@
NAME="revanced-extended"
USER="inotia00"
PATCH="rve-patch.txt"

120
patch.sh Normal file
View File

@@ -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

BIN
public.jks Normal file

Binary file not shown.

10
rv-patch.txt Normal file
View File

@@ -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

9
rve-patch.txt Normal file
View File

@@ -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