misc: simplify download function

This commit is contained in:
KOWX712
2025-02-23 16:04:28 +08:00
parent 6a806ac588
commit 735444d8a3
2 changed files with 15 additions and 36 deletions

View File

@@ -8,50 +8,41 @@ TMP_DIR="$MODPATH/common/tmp"
SCRIPT_DIR="/data/adb/tricky_store" SCRIPT_DIR="/data/adb/tricky_store"
APK_PATH="$TMP_DIR/base.apk" APK_PATH="$TMP_DIR/base.apk"
abort() { manual_download() {
echo "$1" echo "$1"
sleep 3
am start -a android.intent.action.VIEW -d "https://github.com/5ec1cff/KsuWebUIStandalone/releases"
exit 1 exit 1
} }
download() { download() {
download_type=${1#--}
download_url=$2
download_output=$3
PATH=/data/adb/magisk:/data/data/com.termux/files/usr/bin:$PATH PATH=/data/adb/magisk:/data/data/com.termux/files/usr/bin:$PATH
if command -v curl >/dev/null 2>&1; then if command -v curl >/dev/null 2>&1; then
if [ "$download_type" = "output" ]; then timeout 10 curl -Ls "$1"
timeout 10 curl -Lo "$download_output" "$download_url"
else
timeout 2 curl -s "$download_url"
fi
else else
if [ "$download_type" = "output" ]; then timeout 10 busybox wget --no-check-certificate -qO- "$1"
timeout 10 busybox wget --no-check-certificate -qO "$download_output" "$download_url"
else
timeout 2 busybox wget --no-check-certificate -qO- "$download_url"
fi
fi fi
PATH="$ORG_PATH" PATH="$ORG_PATH"
} }
get_webui() { get_webui() {
echo "- Downloading KSU WebUI Standalone..." echo "- Downloading KSU WebUI Standalone..."
RESPONSE=$(download --fetch "https://api.github.com/repos/5ec1cff/KsuWebUIStandalone/releases/latest") API="https://api.github.com/repos/5ec1cff/KsuWebUIStandalone/releases/latest"
URL=$(echo "$RESPONSE" | grep -o '"browser_download_url": "[^"]*"' | cut -d '"' -f 4) ping -c 1 -w 5 raw.githubusercontent.com &>/dev/null || manual_download "! Error: Unable to connect to raw.githubusercontent.com, please download manually."
download --output "$URL" "$APK_PATH" || abort "! Error: APK download failed, please check your internet connection." URL=$(download "$API" | grep -o '"browser_download_url": "[^"]*"' | cut -d '"' -f 4) || manual_download "! Error: Unable to get latest version, please download manually."
download "$URL" > "$APK_PATH" || manual_download "! Error: APK download failed, please download manually."
echo "- Installing..." echo "- Installing..."
pm install -r "$APK_PATH" || { pm install -r "$APK_PATH" || {
rm -f "$APK_PATH" rm -f "$APK_PATH"
abort "! Error: APK installation failed." manual_download "! Error: APK installation failed, please download manually.."
} }
echo "- Done." echo "- Done."
rm -f "$APK_PATH" rm -f "$APK_PATH"
echo "- Launching WebUI..." echo "- Launching WebUI..."
am start -n "io.github.a13e300.ksuwebui/.WebUIActivity" -e id "tricky_store" || abort "! Error: WebUI launch failed." am start -n "io.github.a13e300.ksuwebui/.WebUIActivity" -e id "tricky_store"
} }
# Launch KSUWebUI standalone or MMRL, install KSUWebUI standalone if both are not installed # Launch KSUWebUI standalone or MMRL, install KSUWebUI standalone if both are not installed

View File

@@ -16,23 +16,11 @@ aapt() { "$MODPATH/aapt" "$@"; }
# wget = low pref, no ssl. # wget = low pref, no ssl.
# curl, has ssl on android, we use it if found # curl, has ssl on android, we use it if found
download() { download() {
download_type=${1#--}
download_url=$2
download_output=$3
PATH=/data/adb/ap/bin:/data/adb/ksu/bin:/data/adb/magisk:/data/data/com.termux/files/usr/bin:$PATH PATH=/data/adb/ap/bin:/data/adb/ksu/bin:/data/adb/magisk:/data/data/com.termux/files/usr/bin:$PATH
if command -v curl >/dev/null 2>&1; then if command -v curl >/dev/null 2>&1; then
if [ "$download_type" = "output" ]; then timeout 10 curl -Ls "$1"
timeout 10 curl -Lo "$download_output" "$download_url"
else
timeout 3 curl -s "$download_url"
fi
else else
if [ "$download_type" = "output" ]; then timeout 10 busybox wget --no-check-certificate -qO- "$1"
timeout 10 busybox wget --no-check-certificate -qO "$download_output" "$download_url"
else
timeout 3 busybox wget --no-check-certificate -qO- "$download_url"
fi
fi fi
PATH="$ORG_PATH" PATH="$ORG_PATH"
} }
@@ -72,7 +60,7 @@ uninstall() {
} }
get_update() { get_update() {
download --output "$ZIP_URL" "$MODPATH/tmp/module.zip" download "$ZIP_URL" > "$MODPATH/tmp/module.zip"
[ -s "$MODPATH/tmp/module.zip" ] || exit 1 [ -s "$MODPATH/tmp/module.zip" ] || exit 1
} }
@@ -132,7 +120,7 @@ set_security_patch() {
} }
get_latest_security_patch() { get_latest_security_patch() {
security_patch=$(download --fetch https://source.android.com/docs/security/bulletin/pixel | grep -o "<td>[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}</td>" | head -n 1 | sed 's/<td>\(.*\)<\/td>/\1/') security_patch=$(download "https://source.android.com/docs/security/bulletin/pixel" | grep -o "<td>[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}</td>" | head -n 1 | sed 's/<td>\(.*\)<\/td>/\1/')
[ -n "$security_patch" ] && echo "$security_patch" || exit 1 [ -n "$security_patch" ] && echo "$security_patch" || exit 1
} }