mirror of
https://github.com/j-hc/revanced-magisk-module.git
synced 2025-05-23 18:16:26 +02:00
Add apkmonk.com downloader (#189)
* Add apkmonk.com downloader * error message * prioritize apkmirror * redundant echo --------- Co-authored-by: j-hc <j-hc@users.noreply.github.com>
This commit is contained in:
parent
39a4a57c35
commit
06e7cb73d2
6
build.sh
6
build.sh
@ -76,12 +76,16 @@ for table_name in $(toml_get_table_names); do
|
||||
app_args[uptodown_dlurl]=${app_args[uptodown_dlurl]%/}
|
||||
app_args[dl_from]=uptodown
|
||||
} || app_args[uptodown_dlurl]=""
|
||||
app_args[apkmonk_dlurl]=$(toml_get "$t" apkmonk-dlurl) && {
|
||||
app_args[apkmonk_dlurl]=${app_args[apkmonk_dlurl]%/}
|
||||
app_args[dl_from]=apkmonk
|
||||
} || app_args[apkmonk_dlurl]=""
|
||||
app_args[apkmirror_dlurl]=$(toml_get "$t" apkmirror-dlurl) && {
|
||||
app_args[apkmirror_dlurl]=${app_args[apkmirror_dlurl]%/}
|
||||
app_args[dl_from]=apkmirror
|
||||
} || app_args[apkmirror_dlurl]=""
|
||||
if [ -z "${app_args[dl_from]:-}" ]; then
|
||||
abort "ERROR: neither 'apkmirror_dlurl' nor 'uptodown_dlurl' were not set for '$table_name'."
|
||||
abort "ERROR: no 'apkmirror_dlurl', 'uptodown_dlurl', 'apkmonk_dlurl' were set for '$table_name'."
|
||||
fi
|
||||
app_args[arch]=$(toml_get "$t" arch) && {
|
||||
if ! isoneof "${app_args[arch]}" all arm64-v8a arm-v7a; then
|
||||
|
25
utils.sh
25
utils.sh
@ -237,6 +237,19 @@ get_uptodown_pkg_name() {
|
||||
}
|
||||
# --------------------------------------------------
|
||||
|
||||
# -------------------- apkmonk ---------------------
|
||||
get_apkmonk_resp() { req "${1}" -; }
|
||||
get_apkmonk_vers() { grep -oP 'download_ver.+?>\K([0-9,\.]*)' <<<"$1"; }
|
||||
dl_apkmonk() {
|
||||
local apkmonk_resp=$1 version=$2 output=$3
|
||||
local url
|
||||
url="https://www.apkmonk.com/down_file?pkg="$(echo "$apkmonk_resp" | grep "$version</a>" | grep -oP 'href=\"/download-app/\K.+?(?=/?\">)' | sed 's;/;\&key=;') || return 1
|
||||
url=$(req "$url" - | grep -oP 'https.+?(?=\",)')
|
||||
req "$url" "$output"
|
||||
}
|
||||
get_apkmonk_pkg_name() { grep -oP '.*apkmonk\.com\/app\/\K([,\w,\.]*)' <<<"$1"; }
|
||||
# --------------------------------------------------
|
||||
|
||||
patch_apk() {
|
||||
local stock_input=$1 patched_apk=$2 patcher_args=$3
|
||||
declare -r tdir=$(mktemp -d -p $TEMP_DIR)
|
||||
@ -270,6 +283,9 @@ build_rv() {
|
||||
elif [ "$dl_from" = uptodown ]; then
|
||||
uptwod_resp=$(get_uptodown_resp "${args[uptodown_dlurl]}")
|
||||
pkg_name=$(get_uptodown_pkg_name "${args[uptodown_dlurl]}")
|
||||
elif [ "$dl_from" = apkmonk ]; then
|
||||
pkg_name=$(get_apkmonk_pkg_name "${args[apkmonk_dlurl]}")
|
||||
apkmonk_resp=$(get_apkmonk_resp "${args[apkmonk_dlurl]}")
|
||||
fi
|
||||
|
||||
local get_latest_ver=false
|
||||
@ -290,6 +306,9 @@ build_rv() {
|
||||
elif [ "$dl_from" = uptodown ]; then
|
||||
uptwodvers=$(get_uptodown_vers "$uptwod_resp")
|
||||
version=$(get_largest_ver <<<"$uptwodvers") || version=$(head -1 <<<"$uptwodvers")
|
||||
elif [ "$dl_from" = apkmonk ]; then
|
||||
apkmonkvers=$(get_apkmonk_vers "$apkmonk_resp")
|
||||
version=$(get_largest_ver <<<"$apkmonkvers") || version=$(head -1 <<<"$apkmonkvers")
|
||||
fi
|
||||
fi
|
||||
if [ -z "$version" ]; then
|
||||
@ -320,6 +339,12 @@ build_rv() {
|
||||
epr "ERROR: Could not download ${app_name} from Uptodown"
|
||||
return 0
|
||||
fi
|
||||
elif [ "$dl_from" = apkmonk ]; then
|
||||
pr "Downloading '${app_name}' from Apkmonk"
|
||||
if ! dl_apkmonk "$apkmonk_resp" "$version" "$stock_apk"; then
|
||||
epr "ERROR: Could not download ${app_name} from Apkmonk"
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ "${arch}" = "all" ]; then
|
||||
|
Loading…
x
Reference in New Issue
Block a user