Co-Authored-By: Mạnh Dương <46205571+luxysiv@users.noreply.github.com>
This commit is contained in:
Fioren
2023-05-04 02:16:50 +07:00
parent f0693179ba
commit 8ecd019a42
46 changed files with 399 additions and 852 deletions

72
src/build/build-rv.sh Normal file
View File

@@ -0,0 +1,72 @@
#!/bin/bash
# Revanced build
source src/build/tools.sh
release=$(curl -s "https://api.github.com/repos/revanced/revanced-patches/releases/latest")
asset=$(echo "$release" | jq -r '.assets[] | select(.name | test("revanced-patches.*\\.jar$")) | .browser_download_url')
curl -sL -O "$asset"
ls revanced-patches*.jar >> new.txt
rm -f revanced-patches*.jar
release=$(curl -s "https://api.github.com/repos/siritami/Revanced-And-Revanced-Extended-Non-Root/releases/latest")
asset=$(echo "$release" | jq -r '.assets[] | select(.name == "revanced-version.txt") | .browser_download_url')
curl -sL -O "$asset"
if diff -q revanced-version.txt new.txt >/dev/null ; then
echo "Old patch!!! Not build"
exit 1
else
rm -f *.txt
dl_gh "revanced"
# Patch Twitter
#get_patches_key "twitter"
#get_apk_with_ver "twitter" "9.86.0-release.0" "twitter-inc/twitter/twitter"
#patch "twitter" "twitter-revanced"
# Patch Windy
get_patches_key "windy"
get_apk "windy" "windy-wind-weather-forecast" "windy-weather-world-inc/windy-wind-weather-forecast/windy-wind-weather-forecast"
patch "windy" "windy-revanced"
# Patch Reddit
get_patches_key "reddit"
get_ver "general-reddit-ads" "com.reddit.frontpage"
get_apk "reddit" "reddit" "redditinc/reddit/reddit"
patch "reddit" "reddit-revanced"
# Patch Instagram
get_patches_key "instagram"
get_apk_arch_with_ver "instagram" "271.1.0.21.84" "instagram/instagram-instagram/instagram-instagram"
patch "instagram" "instagram-revanced"
# Patch Messenger
get_patches_key "messenger"
get_apk_arch "messenger" "messenger" "facebook-2/messenger/messenger"
patch "messenger" "messenger-revanced"
# Patch Twitch
get_patches_key "twitch"
get_ver "block-video-ads" "tv.twitch.android.app"
get_apk "twitch" "twitch" "twitch-interactive-inc/twitch/twitch"
patch "twitch" "twitch-revanced"
# Patch Tiktok
get_patches_key "tiktok"
get_ver "sim-spoof" "com.ss.android.ugc.trill"
get_apk "tiktok" "tik-tok-including-musical-ly" "tiktok-pte-ltd/tik-tok-including-musical-ly/tik-tok-including-musical-ly"
patch "tiktok" "tiktok-revanced"
# Patch YouTube
get_patches_key "youtube-revanced"
get_ver "video-ads" "com.google.android.youtube"
get_apk "youtube" "youtube" "google-inc/youtube/youtube"
patch "youtube" "youtube-revanced"
# Patch YouTube Music
get_patches_key "youtube-music-revanced"
get_ver "hide-get-premium" "com.google.android.apps.youtube.music"
get_apk_arch "youtube-music" "youtube-music" "google-inc/youtube-music/youtube-music"
patch "youtube-music" "youtube-music-revanced"
ls revanced-patches*.jar >> revanced-version.txt
fi

33
src/build/build-rve.sh Normal file
View File

@@ -0,0 +1,33 @@
#!/bin/bash
# Revanced Extended build
source src/build/tools.sh
release=$(curl -s "https://api.github.com/repos/inotia00/revanced-patches/releases/latest")
asset=$(echo "$release" | jq -r '.assets[] | select(.name | test("revanced-patches.*\\.jar$")) | .browser_download_url')
curl -sL -O "$asset"
ls revanced-patches*.jar >> new.txt
rm -f revanced-patches*.jar
release=$(curl -s "https://api.github.com/repos/FiorenMas/Revanced-And-Revanced-Extended-Non-Root/releases/latest")
asset=$(echo "$release" | jq -r '.assets[] | select(.name == "revanced-extended-version.txt") | .browser_download_url')
curl -sL -O "$asset"
if diff -q revanced-extended-version.txt new.txt >/dev/null ; then
echo "Old patch!!! Not build"
exit 1
else
rm -f *.txt
dl_gh "inotia00"
# Patch YouTube Extended
get_patches_key "youtube-revanced-extended"
get_ver "hide-general-ads" "com.google.android.youtube"
get_apk "youtube" "youtube" "google-inc/youtube/youtube"
patch "youtube" "youtube-revanced-extended"
# Patch YouTube Music Extended
get_patches_key "youtube-music-revanced-extended"
get_apk_arch "youtube-music" "youtube-music" "google-inc/youtube-music/youtube-music"
patch "youtube-music" "youtube-music-revanced-extended"
ls revanced-patches*.jar >> revanced-extended-version.txt
fi

120
src/build/tools.sh Normal file
View File

@@ -0,0 +1,120 @@
dl_gh() {
for repo in revanced-patches revanced-cli revanced-integrations ; do
asset_urls=$(wget -qO- "https://api.github.com/repos/$1/$repo/releases/latest" \
| jq -r '.assets[] | "\(.browser_download_url) \(.name)"')
while read -r url names
do
echo "Downloading $names from $url"
wget -q -O "$names" $url
done <<< "$asset_urls"
done
echo "All assets downloaded"
}
get_patches_key() {
EXCLUDE_PATCHES=()
for word in $(cat src/patches/$1/exclude-patches) ; do
EXCLUDE_PATCHES+=("-e $word")
done
INCLUDE_PATCHES=()
for word in $(cat src/patches/$1/include-patches) ; do
INCLUDE_PATCHES+=("-i $word")
done
}
req() {
wget -nv -O "$2" -U "Mozilla/5.0 (X11; Linux x86_64; rv:111.0) Gecko/20100101 Firefox/111.0" "$1"
}
get_apk_vers() {
req "$1" - | sed -n 's;.*Version:</span><span class="infoSlide-value">\(.*\) </span>.*;\1;p'
}
get_largest_ver() {
local max=0
while read -r v || [ -n "$v" ]; do
if [[ ${v//[!0-9]/} -gt ${max//[!0-9]/} ]]; then max=$v; fi
done
if [[ $max = 0 ]]; then echo ""; else echo "$max"; fi
}
dl_apk() {
local url=$1 regexp=$2 output=$3
url="https://www.apkmirror.com$(req "$url" - | tr '\n' ' ' | sed -n "s/href=\"/@/g; s;.*${regexp}.*;\1;p")"
echo "$url"
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" "$output"
}
get_apk() {
echo "Downloading $1"
local last_ver
last_ver="$version"
last_ver="${last_ver:-$(get_apk_vers "https://www.apkmirror.com/uploads/?appcategory=$2" | get_largest_ver)}"
echo "Choosing version '${last_ver}'"
local base_apk="$1.apk"
dl_url=$(dl_apk "https://www.apkmirror.com/apk/$3-${last_ver//./-}-release/" \
"APK</span>[^@]*@\([^#]*\)" \
"$base_apk")
echo "$1 version: ${last_ver}"
echo "downloaded from: [APKMirror - $1]($dl_url)"
}
get_apk_with_ver() {
echo "Downloading $1"
local version
version="$2"
echo "Choosing version '${version}'"
local base_apk="$1.apk"
dl_url=$(dl_apk "https://www.apkmirror.com/apk/$3-${version//./-}-release/" \
"APK</span>[^@]*@\([^#]*\)" \
"$base_apk")
echo "$1 version: ${version}"
echo "downloaded from: [APKMirror - $1]($dl_url)"
}
get_apk_arch() {
echo "Downloading $1 (${arm64-v8a})"
local last_ver
last_ver="$version"
last_ver="${last_ver:-$(get_apk_vers "https://www.apkmirror.com/uploads/?appcategory=$2" | get_largest_ver)}"
echo "Choosing version '${last_ver}'"
local base_apk="$1.apk"
local regexp_arch='arm64-v8a</div>[^@]*@\([^"]*\)'
dl_url=$(dl_apk "https://www.apkmirror.com/apk/$3-${last_ver//./-}-release/" \
"$regexp_arch" \
"$base_apk")
echo "$1 (${arm64-v8a}) version: ${last_ver}"
echo "downloaded from: [APKMirror - $1 ${arm64-v8a}]($dl_url)"
}
get_apk_arch_with_ver() {
echo "Downloading $1 (${arm64-v8a})"
local version
version="$2"
local base_apk="$1.apk"
local regexp_arch='arm64-v8a</div>[^@]*@\([^"]*\)'
dl_url=$(dl_apk "https://www.apkmirror.com/apk/$3-${version//./-}-release/" \
"$regexp_arch" \
"$base_apk")
echo "$1 (${arm64-v8a}) version: ${version}"
echo "downloaded from: [APKMirror - $1 ${arm64-v8a}]($dl_url)"
}
get_ver() {
version=$(jq -r --arg patch_name "$1" --arg pkg_name "$2" '
.[]
| select(.name == $patch_name)
| .compatiblePackages[]
| select(.name == $pkg_name)
| .versions[-1]
' patches.json)
}
patch() {
if [ -f "$1.apk" ]; then
java -jar revanced-cli*.jar \
-m revanced-integrations*.apk \
-b revanced-patches*.jar \
-a $1.apk \
${EXCLUDE_PATCHES[@]} \
${INCLUDE_PATCHES[@]} \
--keystore=ks.keystore \
-o ./build/$2.apk
unset version
unset EXCLUDE_PATCHES
unset INCLUDE_PATCHES
else
exit 1
fi
}