- ensure auto install use latest ksuwebui standalone.
This commit is contained in:
KOWX712
2025-01-09 01:33:07 +08:00
parent d8848fe5c3
commit 8909a73b59
2 changed files with 64 additions and 52 deletions

View File

@@ -3,70 +3,67 @@
########################################### ###########################################
MODPATH="/data/adb/modules/.TA_utl" MODPATH="/data/adb/modules/.TA_utl"
COMPATH="$MODPATH/common" ORG_PATH="$PATH"
TMP_DIR="$MODPATH/common/tmp"
SCRIPT_DIR="/data/adb/tricky_store" SCRIPT_DIR="/data/adb/tricky_store"
URL="https://github.com/5ec1cff/KsuWebUIStandalone/releases/download/v1.0/KsuWebUI-1.0-34-release.apk" APK_PATH="$TMP_DIR/base.apk"
APK_DIR="$COMPATH/tmp"
BBPATH="/data/adb/magisk/busybox \
/data/adb/ksu/bin/busybox \
/data/adb/ap/bin/busybox \
/data/adb/modules/busybox-ndk/system/*/busybox"
check_wget() { abort() {
for path in $BBPATH; do echo "$1"
[ -f "$path" ] && BUSYBOX="$path" && break exit 1
done }
if ! command -v wget >/dev/null || grep -q "wget-curl" "$(command -v wget)"; then
if [ -n "$BUSYBOX" ]; then download() {
wget() { "$BUSYBOX" wget "$@"; } local type=${1#--}
local url=$2
local output=$3
PATH=/data/adb/magisk:/data/data/com.termux/files/usr/bin:$PATH
if command -v curl >/dev/null 2>&1; then
if [ "$type" = "output" ]; then
timeout 10 curl -Lo "$output" "$url"
else else
exit 1 timeout 2 curl -s "$url"
fi
else
if [ "$type" = "output" ]; then
timeout 10 busybox wget --no-check-certificate -qO "$output" "$url"
else
timeout 2 busybox wget --no-check-certificate -qO- "$url"
fi fi
fi fi
PATH="$ORG_PATH"
} }
get_webui() { get_webui() {
echo "- Downloading the WebUI APK..." echo "- Downloading KSU WebUI Standalone..."
check_wget RESPONSE=$(download --fetch "https://api.github.com/repos/5ec1cff/KsuWebUIStandalone/releases/latest")
if ! wget --no-check-certificate -P "$APK_DIR" "$URL"; then URL=$(echo "$RESPONSE" | grep -o '"browser_download_url": "[^"]*"' | cut -d '"' -f 4)
echo "! Error: APK download failed." download --output "$URL" "$APK_PATH" || abort "! Error: APK download failed, please check your internet connection."
exit 1
fi
echo "- Download complete."
APK_PATH=$(find "$APK_DIR" -type f -name "*.apk" | head -n 1)
if [ -z "$APK_PATH" ]; then
echo "! Error: No APK file found in $APK_DIR."
exit 1
fi
echo "- Installing..." echo "- Installing..."
if ! pm install -r "$APK_PATH" >/dev/null 2>&1; then pm install -r "$APK_PATH" || {
echo "! Error: APK installation failed."
rm -f "$APK_PATH" rm -f "$APK_PATH"
exit 1 abort "! Error: APK installation failed."
fi }
echo "- Done." echo "- Done."
rm -f "$APK_PATH" rm -f "$APK_PATH"
echo "- Launching..." echo "- Launching WebUI..."
if ! am start -n "io.github.a13e300.ksuwebui/.WebUIActivity" -e id "tricky_store"; then am start -n "io.github.a13e300.ksuwebui/.WebUIActivity" -e id "tricky_store" || abort "! Error: WebUI launch failed."
echo "! Error: WebUI launch failed."
exit 1
fi
echo "- Application launched successfully."
} }
# Lunch 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
if pm list packages | grep -q "io.github.a13e300.ksuwebui"; then if pm path io.github.a13e300.ksuwebui >/dev/null 2>&1; then
echo "- Launching WebUI in KSUWebUIStandalone..." echo "- Launching WebUI in KSUWebUIStandalone..."
am start -n "io.github.a13e300.ksuwebui/.WebUIActivity" -e id "tricky_store" am start -n "io.github.a13e300.ksuwebui/.WebUIActivity" -e id "tricky_store"
elif pm list packages | grep -q "com.dergoogler.mmrl"; then elif pm path com.dergoogler.mmrl >/dev/null 2>&1; then
echo "- Launching WebUI in MMRL WebUI..." echo "- Launching WebUI in MMRL WebUI..."
am start -n "com.dergoogler.mmrl/.ui.activity.webui.WebUIActivity" -e MOD_ID "tricky_store" am start -n "com.dergoogler.mmrl/.ui.activity.webui.WebUIActivity" -e MOD_ID "tricky_store"
else else
echo "- Installing KSU WebUI..." echo "! No WebUI app found"
get_webui get_webui
fi fi
echo "- WebUI launched successfully."

View File

@@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
PATH=/data/adb/ap/bin:/data/adb/ksu/bin:/data/adb/magisk:/data/data/com.termux/files/usr/bin:$PATH
MODPATH=${0%/*} MODPATH=${0%/*}
ORG_PATH="$PATH"
SKIPLIST="$MODPATH/tmp/skiplist" SKIPLIST="$MODPATH/tmp/skiplist"
OUTPUT="$MODPATH/tmp/exclude-list" OUTPUT="$MODPATH/tmp/exclude-list"
KBOUTPUT="$MODPATH/tmp/.extra" KBOUTPUT="$MODPATH/tmp/.extra"
@@ -11,15 +11,29 @@ 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() {
local type=${1#--}
local url=$2
local output=$3
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
timeout 3 curl -s "$1" if [ "$type" = "output" ]; then
timeout 10 curl -Lo "$output" "$url"
else
timeout 3 curl -s "$url"
fi
else else
timeout 3 busybox wget --no-check-certificate -qO - "$1" if [ "$type" = "output" ]; then
timeout 10 busybox wget --no-check-certificate -qO "$output" "$url"
else
timeout 3 busybox wget --no-check-certificate -qO- "$url"
fi
fi fi
PATH="$ORG_PATH"
} }
get_kb() { get_kb() {
download "https://raw.githubusercontent.com/KOWX712/Tricky-Addon-Update-Target-List/main/.extra" > "$KBOUTPUT" download --output "https://raw.githubusercontent.com/KOWX712/Tricky-Addon-Update-Target-List/main/.extra" "$KBOUTPUT"
[ -s "$KBOUTPUT" ] || rm -f "$KBOUTPUT" [ -s "$KBOUTPUT" ] || rm -f "$KBOUTPUT"
} }
@@ -36,13 +50,14 @@ get_xposed() {
get_unnecessary() { get_unnecessary() {
if [ ! -s "$OUTPUT" ] || [ ! -f "$OUTPUT" ]; then if [ ! -s "$OUTPUT" ] || [ ! -f "$OUTPUT" ]; then
download "https://raw.githubusercontent.com/KOWX712/Tricky-Addon-Update-Target-List/main/more-exclude.json" 2>/dev/null | grep -o '"package-name": *"[^"]*"' | awk -F'"' '{print $4}' >"$OUTPUT" JSON=$(download --fetch "https://raw.githubusercontent.com/KOWX712/Tricky-Addon-Update-Target-List/main/more-exclude.json") || exit 1
echo "$JSON" | grep -o '"package-name": *"[^"]*"' | awk -F'"' '{print $4}' >"$OUTPUT"
fi fi
get_xposed get_xposed
} }
check_update() { check_update() {
JSON=$(download "https://raw.githubusercontent.com/KOWX712/Tricky-Addon-Update-Target-List/main/update.json") || exit 1 JSON=$(download --fetch "https://raw.githubusercontent.com/KOWX712/Tricky-Addon-Update-Target-List/main/update.json") || exit 1
REMOTE_VERSION=$(echo "$JSON" | grep -o '"versionCode": *[0-9]*' | awk -F: '{print $2}' | tr -d ' ') REMOTE_VERSION=$(echo "$JSON" | grep -o '"versionCode": *[0-9]*' | awk -F: '{print $2}' | tr -d ' ')
LOCAL_VERSION=$(grep -o 'versionCode=[0-9]*' "$MODPATH/update/module.prop" | awk -F= '{print $2}') LOCAL_VERSION=$(grep -o 'versionCode=[0-9]*' "$MODPATH/update/module.prop" | awk -F= '{print $2}')
if [ "$REMOTE_VERSION" -gt "$LOCAL_VERSION" ] && [ ! -f "/data/adb/modules/TA_utl/update" ]; then if [ "$REMOTE_VERSION" -gt "$LOCAL_VERSION" ] && [ ! -f "/data/adb/modules/TA_utl/update" ]; then
@@ -67,11 +82,11 @@ uninstall() {
} }
get_update() { get_update() {
JSON=$(download "https://raw.githubusercontent.com/KOWX712/Tricky-Addon-Update-Target-List/main/update.json") || exit 1 JSON=$(download --fetch "https://raw.githubusercontent.com/KOWX712/Tricky-Addon-Update-Target-List/main/update.json") || exit 1
ZIP_URL=$(echo "$JSON" | grep -o '"zipUrl": "[^"]*"' | cut -d '"' -f 4) || exit 1 ZIP_URL=$(echo "$JSON" | grep -o '"zipUrl": "[^"]*"' | cut -d '"' -f 4) || exit 1
CHANGELOG_URL=$(echo "$JSON" | grep -o '"changelog": "[^"]*"' | cut -d '"' -f 4) || exit 1 CHANGELOG_URL=$(echo "$JSON" | grep -o '"changelog": "[^"]*"' | cut -d '"' -f 4) || exit 1
busybox wget --no-check-certificate -qO "$MODPATH/tmp/module.zip" "$ZIP_URL" || exit 1 download --output "$ZIP_URL" "$MODPATH/tmp/module.zip" || exit 1
busybox wget --no-check-certificate -qO "$MODPATH/tmp/changelog.md" "$CHANGELOG_URL" || exit 1 download --output "$CHANGELOG_URL" "$MODPATH/tmp/changelog.md" || exit 1
} }
install_update() { install_update() {