- 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"
COMPATH="$MODPATH/common"
ORG_PATH="$PATH"
TMP_DIR="$MODPATH/common/tmp"
SCRIPT_DIR="/data/adb/tricky_store"
URL="https://github.com/5ec1cff/KsuWebUIStandalone/releases/download/v1.0/KsuWebUI-1.0-34-release.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"
APK_PATH="$TMP_DIR/base.apk"
check_wget() {
for path in $BBPATH; do
[ -f "$path" ] && BUSYBOX="$path" && break
done
if ! command -v wget >/dev/null || grep -q "wget-curl" "$(command -v wget)"; then
if [ -n "$BUSYBOX" ]; then
wget() { "$BUSYBOX" wget "$@"; }
abort() {
echo "$1"
exit 1
}
download() {
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
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
PATH="$ORG_PATH"
}
get_webui() {
echo "- Downloading the WebUI APK..."
check_wget
if ! wget --no-check-certificate -P "$APK_DIR" "$URL"; then
echo "! Error: APK download failed."
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 "- Downloading KSU WebUI Standalone..."
RESPONSE=$(download --fetch "https://api.github.com/repos/5ec1cff/KsuWebUIStandalone/releases/latest")
URL=$(echo "$RESPONSE" | grep -o '"browser_download_url": "[^"]*"' | cut -d '"' -f 4)
download --output "$URL" "$APK_PATH" || abort "! Error: APK download failed, please check your internet connection."
echo "- Installing..."
if ! pm install -r "$APK_PATH" >/dev/null 2>&1; then
echo "! Error: APK installation failed."
pm install -r "$APK_PATH" || {
rm -f "$APK_PATH"
exit 1
fi
abort "! Error: APK installation failed."
}
echo "- Done."
rm -f "$APK_PATH"
echo "- Launching..."
if ! am start -n "io.github.a13e300.ksuwebui/.WebUIActivity" -e id "tricky_store"; then
echo "! Error: WebUI launch failed."
exit 1
fi
echo "- Application launched successfully."
echo "- Launching WebUI..."
am start -n "io.github.a13e300.ksuwebui/.WebUIActivity" -e id "tricky_store" || abort "! Error: WebUI launch failed."
}
# Lunch KSUWebUI standalone or MMRL, install KSUWebUI standalone if both are not installed
if pm list packages | grep -q "io.github.a13e300.ksuwebui"; then
# Launch KSUWebUI standalone or MMRL, install KSUWebUI standalone if both are not installed
if pm path io.github.a13e300.ksuwebui >/dev/null 2>&1; then
echo "- Launching WebUI in KSUWebUIStandalone..."
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..."
am start -n "com.dergoogler.mmrl/.ui.activity.webui.WebUIActivity" -e MOD_ID "tricky_store"
else
echo "- Installing KSU WebUI..."
echo "! No WebUI app found"
get_webui
fi
echo "- WebUI launched successfully."

View File

@@ -1,6 +1,6 @@
#!/bin/sh
PATH=/data/adb/ap/bin:/data/adb/ksu/bin:/data/adb/magisk:/data/data/com.termux/files/usr/bin:$PATH
MODPATH=${0%/*}
ORG_PATH="$PATH"
SKIPLIST="$MODPATH/tmp/skiplist"
OUTPUT="$MODPATH/tmp/exclude-list"
KBOUTPUT="$MODPATH/tmp/.extra"
@@ -11,15 +11,29 @@ aapt() { "$MODPATH/aapt" "$@"; }
# wget = low pref, no ssl.
# curl, has ssl on android, we use it if found
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
timeout 3 curl -s "$1"
if [ "$type" = "output" ]; then
timeout 10 curl -Lo "$output" "$url"
else
timeout 3 curl -s "$url"
fi
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
PATH="$ORG_PATH"
}
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"
}
@@ -36,13 +50,14 @@ get_xposed() {
get_unnecessary() {
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
get_xposed
}
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 ' ')
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
@@ -67,11 +82,11 @@ uninstall() {
}
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
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
busybox wget --no-check-certificate -qO "$MODPATH/tmp/changelog.md" "$CHANGELOG_URL" || exit 1
download --output "$ZIP_URL" "$MODPATH/tmp/module.zip" || exit 1
download --output "$CHANGELOG_URL" "$MODPATH/tmp/changelog.md" || exit 1
}
install_update() {