Update tools.sh

This commit is contained in:
Fioren
2023-05-18 09:13:05 +07:00
committed by GitHub
parent 156729b11d
commit 587cf8b6ec

View File

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