diff --git a/src/build/tools.sh b/src/build/tools.sh index 7f7d4c7..292857d 100644 --- a/src/build/tools.sh +++ b/src/build/tools.sh @@ -1,36 +1,46 @@ dl_gh() { - for repo in $1 ; do + for repo in "$1"; do wget -qO- "https://api.github.com/repos/$2/$repo/releases/$3" \ - | jq -r '.assets[] | "\(.browser_download_url) \(.name)"' \ - | while read -r url names; do + | jq -r '.assets[] | "\(.browser_download_url) \(.name)"' \ + | while read -r url names; do echo "Downloading $names from $url" - wget -q -O "$names" $url - done - done -echo "All assets downloaded" + wget -q -O "$names" "$url" + done + 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 + EXCLUDE_PATCHES=() + while read -r word; do + EXCLUDE_PATCHES+=("-e $word") + done < src/patches/"$1"/exclude-patches + INCLUDE_PATCHES=() + while read -r word; do + INCLUDE_PATCHES+=("-i $word") + 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:\(.*\) .*;\1;p' + +get_apk_vers() { + req "$1" - | sed -n 's;.*Version:\(.*\) .*;\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 + 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() { @@ -41,76 +51,74 @@ dl_apk() { 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" + 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[^@]*@\([^#]*\)" \ - "$base_apk") + "APK[^@]*@\([^#]*\)" \ + "$base_apk") echo "$1 version: ${last_ver}" echo "downloaded from: [APKMirror - $1]($dl_url)" } + get_apk_arch() { echo "Downloading $1 (${arm64-v8a})" - local last_ver - last_ver="$version" + 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[^@]*@\([^"]*\)' dl_url=$(dl_apk "https://www.apkmirror.com/apk/$3-${last_ver//./-}-release/" \ - "$regexp_arch" \ - "$base_apk") + "$regexp_arch" \ + "$base_apk") echo "$1 (${arm64-v8a}) version: ${last_ver}" 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] + 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 + 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=./src/ks.keystore \ - -o ./build/$2.apk - unset version - unset EXCLUDE_PATCHES - unset INCLUDE_PATCHES - else - exit 1 - fi + -m revanced-integrations*.apk \ + -b revanced-patches*.jar \ + -a $1.apk \ + "${EXCLUDE_PATCHES[@]}" \ + "${INCLUDE_PATCHES[@]}" \ + --keystore=./src/ks.keystore \ + -o ./build/$2.apk + unset version unset EXCLUDE_PATCHES unset INCLUDE_PATCHES + else + exit 1 + fi } 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") + gen_rip_libs() { - for lib in $@; do - echo -n "--rip-lib $lib " - done + for lib in "$@"; do + echo -n "--rip-lib $lib " + done } + change_arch() { - if [ -f "./build/$1.apk" ]; then + if [ -f "./build/$1.apk" ]; then java -jar revanced-cli*.jar \ - -b revanced-patches*.jar \ - -a ./build/$1.apk \ - --keystore=./src/ks.keystore \ - $3 \ - -o ./build/$2.apk - else - exit 1 - fi -} \ No newline at end of file + -b revanced-patches*.jar \ + -a ./build/$1.apk \ + --keystore=./src/ks.keystore \ + $3 \ + -o ./build/$2.apk + else + exit 1 + fi +}