This commit is contained in:
FiorenMas
2023-04-22 10:49:40 +07:00
parent 5f86212e15
commit 1f071748cf
12 changed files with 189 additions and 240 deletions

View File

@@ -5,6 +5,8 @@ on:
workflow_dispatch:
jobs:
patch:
name: Patch Revanced & Revanced Extended
permissions: write-all
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
@@ -15,11 +17,8 @@ jobs:
distribution: 'zulu'
java-version: '17'
- name: Patch Youtube Revanced & Revanced Extended non-root
run: bash yt/patch-yt.sh
- name: Patch Youtube Music Revanced & Revanced Extended non-root
run: bash ytm/patch-ytm.sh
- name: Patch apk
run: bash ./src/patch.sh
- name: Generate Changelog
run: |
@@ -28,7 +27,7 @@ jobs:
| cut -d : -f 2,3 \
| tr -d \" \
| wget -qi -
YTRVVERSION=$(jq -r '.[] | select(.name == "microg-support") | .compatiblePackages[] | select(.name == "com.google.android.youtube") | .versions[-1]' patches.json)
YTRVVERSION=$(jq -r '.[] | select(.name == "video-ads") | .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 \
@@ -36,7 +35,7 @@ jobs:
| cut -d : -f 2,3 \
| tr -d \" \
| wget -qi -
YTRVEVERSION=$(jq -r '.[] | select(.name == "microg-support") | .compatiblePackages[] | select(.name == "com.google.android.youtube") | .versions[-1]' patches.json)
YTRVEVERSION=$(jq -r '.[] | select(.name == "hide-general-ads") | .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 \
@@ -47,7 +46,12 @@ jobs:
YTMRVVERSION=$(jq -r '.[] | select(.name == "hide-get-premium") | .compatiblePackages[] | select(.name == "com.google.android.apps.youtube.music") | .versions[-1]' patches.json)
YTMRVEVERSION=$(jq -r '.[] | select(.name == "hide-get-premium") | .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 "[**Change Logs**] (https://github.com/revanced/revanced-patches/releases/latest)
Download Below :point_down:
" > ${{ github.workspace }}-CHANGELOG-rv.txt
echo "[**Change Logs**] (https://github.com/revanced/revanced-patches/releases/latest)
Download Below :point_down:
" > ${{ github.workspace }}-CHANGELOG-rve.txt
echo "INFO-YT-RV=Youtube Revanced v${YTRVVERSION}" >> $GITHUB_ENV
echo "INFO-YT-RVE=Youtube Revanced Extended v${YTRVEVERSION}" >> $GITHUB_ENV
echo "INFO-YTM-RV=Youtube Music Revanced v${YTMRVVERSION}" >> $GITHUB_ENV
@@ -71,20 +75,20 @@ jobs:
- name: Release Youtube Music Revanced
uses: softprops/action-gh-release@v1
with:
files: ytm-revanced.apk
files: ytms-revanced.apk
name: ${{ env.INFO-YTM-RV }}
tag_name: YTM-Revanced
body_path: ${{ github.workspace }}-CHANGELOG.txt
body_path: ${{ github.workspace }}-CHANGELOG-rv.txt
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Release Youtube Music Revanced Extended
uses: softprops/action-gh-release@v1
with:
files: ytm-revanced-extended.apk
files: ytms-revanced-extended.apk
name: ${{ env.INFO-YTM-RVE }}
tag_name: YTM-Revanced-Extended
body_path: ${{ github.workspace }}-CHANGELOG.txt
body_path: ${{ github.workspace }}-CHANGELOG-rve.txt
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -94,7 +98,7 @@ jobs:
files: yt-revanced.apk
name: ${{ env.INFO-YT-RV }}
tag_name: YT-Revanced
body_path: ${{ github.workspace }}-CHANGELOG.txt
body_path: ${{ github.workspace }}-CHANGELOG-rv.txt
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -104,7 +108,7 @@ jobs:
files: yt-revanced-extended.apk
name: ${{ env.INFO-YT-RVE }}
tag_name: YT-Revanced-Extended
body_path: ${{ github.workspace }}-CHANGELOG.txt
body_path: ${{ github.workspace }}-CHANGELOG-rve.txt
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -114,6 +118,4 @@ jobs:
token: ${{ github.token }}
repository: ${{ github.repository }}
retain_days: 0
keep_minimum_runs: 5
permissions: write-all
keep_minimum_runs: 5

View File

@@ -15,7 +15,7 @@
# MicroG from inotia00 source:
[![Release](https://img.shields.io/github/v/release/inotia00/VancedMicroG.svg)](https://github.com/inotia00/VancedMicroG/releases/latest/download/microg.apk)
[![Release](https://img.shields.io/github/v/release/inotia00/vancedmicrog?label=MicroG&style=for-the-badge)](https://github.com/inotia00/VancedMicroG/releases/latest/download/microg.apk)
# About
This repository forked from [@luxysiv](https://github.com/luxysiv/yt-revanced-nonroot)

View File

@@ -21,4 +21,4 @@ downloads
remember-video-quality
client-spoof
general-ads
video-ads
video-ads

118
src/config.sh Normal file
View File

@@ -0,0 +1,118 @@
#!/bin/bash
# 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 repo in revanced-patches revanced-cli revanced-integrations; do
local url="https://api.github.com/repos/$user/$repo/releases/latest"
echo "🔍 Searching for download link at $url"
curl -s "$url" | jq -r '.assets[] | "\(.name) \(.browser_download_url)"' | while read name download_url; do
echo "📥 Downloading $name from $download_url"
curl -O -s -L "$download_url"
echo "✅ Download $name complete!"
done
done
}
# Function download YouTube and YouTube Music 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_yt() {
rm -rf $2
echo "🔽 Downloading YouTube version $1"
url="https://www.apkmirror.com/apk/google-inc/youtube/youtube-${1//./-}-release/"
echo "🔍 Searching for download link at $url"
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')"
echo "📥 Downloading from $url"
if req "$url" "$2" ; then
echo "✅ Download complete!"
else
echo "❌ Download failed."
fi
}
dl_ytms() {
rm -rf $2
echo "🔽 Downloading YouTube Music version $1"
url="https://www.apkmirror.com/apk/google-inc/youtube/youtube-music-${1//./-}-release/"
echo "🔍 Searching for download link at $url"
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')"
echo "📥 Downloading from $url"
if req "$url" "$2" ; then
echo "✅ Download complete!"
else
echo "❌ Download failed."
fi
}
# Function fletch latest supported version can patch
get_support_ytversion() {
if [[ "$name" = "$revanced_name" ]] ; then
ytversion=$(jq -r '.[] | select(.name == "video-ads") | .compatiblePackages[] | select(.name == "com.google.android.youtube") | .versions[-1]' patches.json)
echo "✅️ Found YouTube version: $ytversion"
else
ytversion=$(jq -r '.[] | select(.name == "hide-general-ads") | .compatiblePackages[] | select(.name == "com.google.android.youtube") | .versions[-1]' patches.json)
echo "✅️ Found YouTube version: $ytversion"
fi
}
get_support_ytmsversion() {
ytmsversion=$(jq -r '.[] | select(.name == "hide-get-premium") | .compatiblePackages[] | select(.name == "com.google.android.apps.youtube.music") | .versions[-1]' patches.json)
echo "✅️ Found YouTube Music version: $ytmsversion"
}
get_latest_ytmsversion() {
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 "✅️ Found YouTube Music version: $ytmsversion"
}
# Function Patch APK
patch_yt() {
if [ -f "youtube-v$ytversion.apk" ]; then
echo "⚙️ Patching YouTube"
java -jar revanced-cli*.jar -m revanced-integrations*.apk -b revanced-patches*.jar -a youtube-v$ytversion.apk ${patches[@]} --keystore=ks.keystore -o yt-$name.apk
echo "✅ Patch Complete!"
else
echo "❌ YouTube APK not found, skipping patching"
fi
}
patch_msrv() {
if [ -f "youtube-music-v$ytmsversion.apk" ]; then
echo "⚙️ Patching YouTube Music"
java -jar revanced-cli*.jar -m revanced-integrations*.apk -b revanced-patches*.jar -a youtube-music-v$ytmsversion.apk --keystore=ks.keystore -o ytms-$name.apk
echo "✅ Patch Complete!"
else
echo "❌ YouTube Music APK not found, skipping patching"
fi
}
patch_msrve() {
if [ -f "youtube-music-v$ytmsversion.apk" ]; then
echo "⚙️ Patching YouTube Music"
java -jar revanced-cli*.jar -m revanced-integrations*.apk -b revanced-patches*.jar -a youtube-music-v$ytmsversion.apk -e custom-branding-music-afn-red --keystore=ks.keystore -o ytms-$name.apk
echo "✅ Patch Complete!"
else
echo "❌ YouTube Music APK not found, skipping patching"
fi
}
# Function clean caches to new build
clean_cache() {
echo "🧹 Clean cache"
rm -f revanced-cli*.jar revanced-integrations*.apk revanced-patches*.jar patches.json options.toml youtube*.apk
}

50
src/patch.sh Normal file
View File

@@ -0,0 +1,50 @@
#!/bin/bash
set -e
source ./src/config.sh
# Set variables for Revanced
readonly revanced_name="revanced"
readonly revanced_user="revanced"
readonly revanced_patch="./patches/ytrv-patches.txt"
readonly revanced_ytversion="" # 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/ytrve-patches.txt"
readonly revanced_extended_ytversion="" # Input version supported if you need patch specific YT version.Example: "18.07.35"
# 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"
key="$revanced_patch_key"
ytversion="$revanced_ytversion"
else
user="$revanced_extended_user"
patch_file="$revanced_extended_patch"
key="$revanced_extended_patch_key"
ytversion="$revanced_extended_ytversion"
fi
get_patch
download_latest_release
# Patch YouTube
if [[ $ytversion ]] ; then
dl_yt $ytversion youtube-v$ytversion.apk
patch_yt
else
get_support_ytversion
dl_yt $ytversion youtube-v$ytversion.apk
patch_yt
fi
#Patch YouTube Music
if [[ "$name" = "$revanced_name" ]] ; then
get_support_ytmsversion
dl_ytms $ytmsversion youtube-music-v$ytmsversion.apk
patch_msrv
else
get_latest_ytmsversion
dl_ytms $ytmsversion youtube-music-v$ytmsversion.apk
patch_msrve
fi
clean_cache
done

View File

@@ -1,94 +0,0 @@
#!/bin/bash
set -e
# Set variables for Revanced
readonly revanced_name="revanced"
readonly revanced_user="revanced"
readonly revanced_patch="yt/patches-yt.rv"
readonly revanced_ytversion="" # 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="yt/patches-yt.rve"
readonly revanced_extended_ytversion="" # 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_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"
}
# Function Patch APK
patch_apk() {
echo "⚙️ Patching YouTube..."
java -jar revanced-cli*.jar \
-m revanced-integrations*.apk \
-b revanced-patches*.jar \
-a youtube-v$ytversion.apk \
${patches[@]} \
--keystore=ks.keystore \
-o yt-$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"
ytversion="$revanced_ytversion"
else
user="$revanced_extended_user"
patch_file="$revanced_extended_patch"
ytversion="$revanced_extended_ytversion"
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
patch_apk
clean_cache
done

Binary file not shown.

View File

@@ -1,103 +0,0 @@
#!/bin/bash
set -e
# Set variables for Revanced
readonly revanced_name="revanced"
readonly revanced_user="revanced"
readonly revanced_patch="ytm/patches-ytm.rv"
readonly revanced_ytmversion="" # 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="ytm/patches-ytm.rve"
readonly revanced_extended_ytmversion="" # 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 YouTube Music $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/"
ytmversion=$(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 Youtube Music Version: $ytmversion"
}
get_support_version() {
ytmversion=$(jq -r '.[] | select(.name == "hide-get-premium") | .compatiblePackages[] | select(.name == "com.google.android.apps.youtube.music") | .versions[-1]' patches.json)
}
# Function Patch APK
patch_ms() {
echo "⚙️ Patching YouTube Music..."
java -jar revanced-cli*.jar \
-m revanced-integrations*.apk \
-b revanced-patches*.jar \
-a youtube-music-v$ytmversion.apk \
${patches[@]} \
--keystore=ks.keystore \
-o ytm-$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-music*.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"
ytmversion="$revanced_ytmversion"
else
user="$revanced_extended_user"
patch_file="$revanced_extended_patch"
ytmversion="$revanced_extended_ytmversion"
fi
get_patch
download_latest_release
if [[ "$name" = "$revanced_name" ]] ; then
get_support_version
dl_ytm $ytmversion youtube-music-v$ytmversion.apk
else get_latestytmversion
dl_ytm $ytmversion youtube-music-v$ytmversion.apk
fi
patch_ms
clean_cache
done

View File

@@ -1,12 +0,0 @@
# 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
custom-branding-icon-afn-red

View File

@@ -1,12 +0,0 @@
# 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
custom-branding-icon-afn-red