You've already forked Tricky-Addon-Update-Target-List
mirror of
https://github.com/KOWX712/Tricky-Addon-Update-Target-List.git
synced 2025-09-06 06:37:09 +00:00
Update action button
Abandon action.sh in KernelSU and Apatch. Magisk: redirect to WebUI with action button if installed KSU WebUI. Add KSU WebUI standalone automated installation script (optional).
This commit is contained in:
@@ -1,18 +1,30 @@
|
||||
MODPATH="${0%/*}"
|
||||
COMPATH="$MODPATH/common"
|
||||
SCRIPT_DIR="/data/adb/tricky_store"
|
||||
|
||||
echo "**********************************************"
|
||||
echo "- Staring script..."
|
||||
echo " "
|
||||
. "$COMPATH/util_func.sh"
|
||||
|
||||
if [ ! -f "$SCRIPT_DIR/UpdateTargetList.sh" ]; then
|
||||
echo "! Script missing, please install module again"
|
||||
echo "**********************************************"
|
||||
exit 1
|
||||
if pm list packages | grep -q "$PACKAGE_NAME"; then
|
||||
echo "- Launching KSU WebUI..."
|
||||
am start -n "${PACKAGE_NAME}/.WebUIActivity" -e id "$MODID"
|
||||
else
|
||||
. "$SCRIPT_DIR/UpdateTargetList.sh"
|
||||
fi
|
||||
SKIP_FILE="$SCRIPT_DIR/target_list_config/skipwebui"
|
||||
if [ ! -f "$SKIP_FILE" ]; then
|
||||
echo "- Do you want to install KSU WebUI standalone?"
|
||||
echo " VOL [+]: YES"
|
||||
echo " VOL [-]: NO"
|
||||
|
||||
echo "**********************************************"
|
||||
echo "\(__All set!__)/"
|
||||
echo "Exiting in 2 seconds..."
|
||||
sleep 2
|
||||
key_check
|
||||
if [[ "$keycheck" == "KEY_VOLUMEUP" ]]; then
|
||||
echo "- Installing KSU WebUI..."
|
||||
. "$COMPATH/get_WebUI.sh"
|
||||
else
|
||||
echo "- Skipping WebUI installation..."
|
||||
touch "$SKIP_FILE"
|
||||
echo "- Skip WebUI check until next installation."
|
||||
update_script
|
||||
fi
|
||||
else
|
||||
update_script
|
||||
fi
|
||||
fi
|
||||
28
module/common/get_WebUI.sh
Normal file
28
module/common/get_WebUI.sh
Normal file
@@ -0,0 +1,28 @@
|
||||
URL="https://github.com/5ec1cff/KsuWebUIStandalone/releases/download/v1.0/KsuWebUI-1.0-34-release.apk"
|
||||
APK_DIR="$COMPATH"
|
||||
LOG_FILE="$COMPATH/webuiError.log"
|
||||
|
||||
find_busybox
|
||||
check_wget
|
||||
|
||||
echo "- Downloading the WebUI apk..."
|
||||
download_webui
|
||||
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..."
|
||||
install_webui
|
||||
echo "- Done."
|
||||
rm -f "$APK_PATH"
|
||||
echo "- Launching..."
|
||||
am start -n "${PACKAGE_NAME}/.WebUIActivity" -e id "$MODID" </dev/null 2>&1 | cat
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: Failed to start application."
|
||||
exit 1
|
||||
fi
|
||||
echo "- Application launched successfully."
|
||||
@@ -2,30 +2,11 @@
|
||||
|
||||
MODPATH=${0%/*}
|
||||
OUTPUT="$MODPATH/exclude-list"
|
||||
BBPATH="/data/adb/modules/busybox-ndk/system/*/busybox \
|
||||
/data/adb/magisk/busybox \
|
||||
/data/adb/ksu/bin/busybox \
|
||||
/data/adb/ap/bin/busybox"
|
||||
|
||||
find_busybox() {
|
||||
for path in $BBPATH; do
|
||||
if [ -f "$path" ]; then
|
||||
BUSYBOX="$path"
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
# Check for wget binary
|
||||
if ! command -v wget >/dev/null || grep -q "wget-curl" "$(command -v wget)"; then
|
||||
if find_busybox; then
|
||||
wget() { "$BUSYBOX" wget "$@"; }
|
||||
else
|
||||
echo "Error: busybox not found in specified paths." > "$OUTPUT"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
. $MODPATH/util_func.sh
|
||||
|
||||
find_busybox
|
||||
check_wget
|
||||
|
||||
# Fetch Xposed module package names
|
||||
wget --no-check-certificate -q -O - "https://modules.lsposed.org/modules.json" 2>/dev/null | \
|
||||
|
||||
83
module/common/util_func.sh
Normal file
83
module/common/util_func.sh
Normal file
@@ -0,0 +1,83 @@
|
||||
PACKAGE_NAME="io.github.a13e300.ksuwebui"
|
||||
MODID="set-id"
|
||||
BBPATH="/data/adb/modules/busybox-ndk/system/*/busybox \
|
||||
/data/adb/magisk/busybox \
|
||||
/data/adb/ksu/bin/busybox \
|
||||
/data/adb/ap/bin/busybox"
|
||||
|
||||
find_busybox() {
|
||||
for path in $BBPATH; do
|
||||
if [ -f "$path" ]; then
|
||||
BUSYBOX="$path"
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
check_wget() {
|
||||
if ! command -v wget >/dev/null || grep -q "wget-curl" "$(command -v wget)"; then
|
||||
if find_busybox; then
|
||||
wget() { "$BUSYBOX" wget "$@"; }
|
||||
else
|
||||
echo "Error: busybox not found." > "$OUTPUT"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
download_webui() {
|
||||
wget --no-check-certificate -P "$APK_DIR" "$URL"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: APK download failed."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
install_webui() {
|
||||
pm install -r "$APK_PATH" </dev/null 2>&1 | cat
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error: APK installation failed."
|
||||
rm -f "$APK_PATH"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
key_check() {
|
||||
while true; do
|
||||
key_check=$(/system/bin/getevent -qlc 1)
|
||||
key_event=$(echo "$key_check" | awk '{ print $3 }' | grep 'KEY_')
|
||||
key_status=$(echo "$key_check" | awk '{ print $4 }')
|
||||
if [[ "$key_event" == *"KEY_"* && "$key_status" == "DOWN" ]]; then
|
||||
keycheck="$key_event"
|
||||
break
|
||||
fi
|
||||
done
|
||||
while true; do
|
||||
key_check=$(/system/bin/getevent -qlc 1)
|
||||
key_event=$(echo "$key_check" | awk '{ print $3 }' | grep 'KEY_')
|
||||
key_status=$(echo "$key_check" | awk '{ print $4 }')
|
||||
if [[ "$key_event" == *"KEY_"* && "$key_status" == "UP" ]]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
update_script() {
|
||||
echo "**********************************************"
|
||||
echo "- Starting script..."
|
||||
echo ""
|
||||
|
||||
if [[ ! -f "$SCRIPT_DIR/UpdateTargetList.sh" ]]; then
|
||||
echo "! Script missing, please install module again."
|
||||
echo "**********************************************"
|
||||
exit 1
|
||||
else
|
||||
. "$SCRIPT_DIR/UpdateTargetList.sh"
|
||||
fi
|
||||
|
||||
echo "**********************************************"
|
||||
echo ""
|
||||
echo "\(__All set!__)/"
|
||||
echo "Exiting in 2 seconds..."
|
||||
}
|
||||
@@ -1,19 +1,5 @@
|
||||
SKIPUNZIP=0
|
||||
DEBUG=false
|
||||
|
||||
ui_print " ";
|
||||
if [ "$APATCH" ]; then
|
||||
ui_print "- APatch:$APATCH_VER│$APATCH_VER_CODE"
|
||||
elif [ "$KSU" ]; then
|
||||
ui_print "- KSU:$KSU_KERNEL_VER_CODE│$KSU_VER_CODE"
|
||||
elif [ "$MAGISK_VER_CODE" ]; then
|
||||
ui_print "- Magisk:$MAGISK_VER│$MAGISK_VER_CODE"
|
||||
else
|
||||
ui_print " ";
|
||||
ui_print "! recovery is not supported";
|
||||
abort " ";
|
||||
fi
|
||||
|
||||
COMPATH="$MODPATH/common"
|
||||
TS="/data/adb/modules/tricky_store"
|
||||
SCRIPT_DIR="/data/adb/tricky_store"
|
||||
@@ -22,6 +8,21 @@ MODID=`grep_prop id $TMPDIR/module.prop`
|
||||
ORG_DIR="/data/adb/modules/$MODID"
|
||||
kb="$COMPATH/.default"
|
||||
|
||||
ui_print " ";
|
||||
if [ "$APATCH" ]; then
|
||||
ui_print "- APatch:$APATCH_VER│$APATCH_VER_CODE"
|
||||
ACTION=false
|
||||
elif [ "$KSU" ]; then
|
||||
ui_print "- KSU:$KSU_KERNEL_VER_CODE│$KSU_VER_CODE"
|
||||
ACTION=false
|
||||
elif [ "$MAGISK_VER_CODE" ]; then
|
||||
ui_print "- Magisk:$MAGISK_VER│$MAGISK_VER_CODE"
|
||||
else
|
||||
ui_print " ";
|
||||
ui_print "! recovery is not supported";
|
||||
abort " ";
|
||||
fi
|
||||
|
||||
if [ ! -d "$TS" ]; then
|
||||
ui_print "! Tricky store module is not installed"
|
||||
abort
|
||||
|
||||
@@ -6,12 +6,22 @@ initialize() {
|
||||
mv "$COMPATH/UpdateTargetList.sh" "$SCRIPT_DIR/UpdateTargetList.sh"
|
||||
|
||||
sed -i "s|\"set-path\"|\"/data/adb/modules/$MODID/common/\"|" "$MODPATH/webroot/index.js" || {
|
||||
ui_print "! Failed to replace path"
|
||||
ui_print "! Failed to set path"
|
||||
abort
|
||||
}
|
||||
sed -i "s|\"set-id\"|\"$MODID\"|" "$COMPATH/util_func.sh" || {
|
||||
ui_print "! Failed to set id"
|
||||
abort
|
||||
}
|
||||
|
||||
set_perm $SCRIPT_DIR/UpdateTargetList.sh 0 2000 0755
|
||||
set_perm $COMPATH/get_exclude-list.sh 0 2000 0755
|
||||
set_perm $COMPATH/get_WebUI.sh 0 2000 0755
|
||||
|
||||
if [ "$ACTION" = "false" ]; then
|
||||
rm -f "$MODPATH/action.sh"
|
||||
rm -f "$COMPATH/get_WebUI.sh"
|
||||
fi
|
||||
}
|
||||
|
||||
add_exclude() {
|
||||
@@ -111,8 +121,8 @@ kb_operation() {
|
||||
else
|
||||
if [ -f "$ORG_DIR/common/origkeybox" ]; then
|
||||
mv "$ORG_DIR/common/origkeybox" "$COMPATH/origkeybox"
|
||||
else
|
||||
rm -f "$kb"
|
||||
fi
|
||||
|
||||
rm -f "$kb"
|
||||
fi
|
||||
}
|
||||
@@ -21,7 +21,6 @@ if [ ! -f "$MODPATH/common/module.prop.orig" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check availability of Tricky Store module
|
||||
if [ ! -d "$TS" ]; then
|
||||
sed -i 's/^description=.*/description=Tricky store is not installed/' "$MODPATH/module.prop"
|
||||
touch "$MODPATH/disable"
|
||||
|
||||
Reference in New Issue
Block a user