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
Invisible module full implementation
NOT STABLE, not tested on KSU
This commit is contained in:
@@ -10,10 +10,10 @@ SCRIPT_DIR="/data/adb/tricky_store"
|
|||||||
|
|
||||||
if pm list packages | grep -q "$PACKAGE_NAME"; then
|
if pm list packages | grep -q "$PACKAGE_NAME"; then
|
||||||
echo "- Launching WebUI in KSUWebUIStandalone..."
|
echo "- Launching WebUI in KSUWebUIStandalone..."
|
||||||
am start -n "${PACKAGE_NAME}/.WebUIActivity" -e id "$MODID"
|
am start -n "${PACKAGE_NAME}/.WebUIActivity" -e id "tricky_store"
|
||||||
elif pm list packages | grep -q "com.dergoogler.mmrl"; then
|
elif pm list packages | grep -q "com.dergoogler.mmrl"; 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 "$MODID"
|
am start -n "com.dergoogler.mmrl/.ui.activity.webui.WebUIActivity" -e MOD_ID "tricky_store"
|
||||||
else
|
else
|
||||||
echo "- Installing KSU WebUI..."
|
echo "- Installing KSU WebUI..."
|
||||||
. "$COMPATH/get_WebUI.sh"
|
. "$COMPATH/get_WebUI.sh"
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ install_webui
|
|||||||
echo "- Done."
|
echo "- Done."
|
||||||
rm -f "$APK_PATH"
|
rm -f "$APK_PATH"
|
||||||
echo "- Launching..."
|
echo "- Launching..."
|
||||||
am start -n "${PACKAGE_NAME}/.WebUIActivity" -e id "$MODID" </dev/null 2>&1 | cat
|
am start -n "${PACKAGE_NAME}/.WebUIActivity" -e id "tricky_store" </dev/null 2>&1 | cat
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "Error: Failed to start application."
|
echo "Error: Failed to start application."
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ fi
|
|||||||
ui_print "- Installing..."
|
ui_print "- Installing..."
|
||||||
initialize
|
initialize
|
||||||
|
|
||||||
ui_print "- Creating config directory..."
|
ui_print "- Finalizing..."
|
||||||
find_config
|
find_config
|
||||||
migrate_old_boot_hash
|
migrate_old_boot_hash
|
||||||
|
|
||||||
|
|||||||
@@ -1,35 +1,24 @@
|
|||||||
initialize() {
|
initialize() {
|
||||||
if [ -f "$SCRIPT_DIR/UpdateTargetList.sh" ]; then
|
# Cleanup left over
|
||||||
rm -f "$SCRIPT_DIR/UpdateTargetList.sh"
|
[ -d "/data/adb/modules/$NEW_MODID" ] && rm -rf "/data/adb/modules/$NEW_MODID"
|
||||||
fi
|
|
||||||
if [ -d "/data/adb/modules/$NEW_MODID" ]; then
|
|
||||||
rm -rf "/data/adb/modules/$NEW_MODID"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
# Set permission
|
||||||
set_perm $COMPATH/get_extra.sh 0 2000 0755
|
set_perm $COMPATH/get_extra.sh 0 2000 0755
|
||||||
set_perm $COMPATH/get_WebUI.sh 0 2000 0755
|
set_perm $COMPATH/get_WebUI.sh 0 2000 0755
|
||||||
|
|
||||||
|
# Handdle Magisk/non-Magisk root manager
|
||||||
if [ "$ACTION" = "false" ]; then
|
if [ "$ACTION" = "false" ]; then
|
||||||
rm -f "$MODPATH/action.sh"
|
rm -f "$MODPATH/action.sh"
|
||||||
rm -f "$COMPATH/get_WebUI.sh"
|
rm -f "$COMPATH/get_WebUI.sh"
|
||||||
echo "**********************************************"
|
NEW_MODID="$MODID"
|
||||||
echo "- Tricky Addon's visibility in root manager?"
|
|
||||||
echo " VOL [+]: Visible"
|
|
||||||
echo " VOL [-]: Invisible (default)"
|
|
||||||
echo "**********************************************"
|
|
||||||
|
|
||||||
key_check
|
|
||||||
if [[ "$keycheck" == "KEY_VOLUMEUP" ]]; then
|
|
||||||
echo "- Setting to visible..."
|
|
||||||
rm -rf "$COMPATH/temp"
|
|
||||||
NEW_MODID="$MODID"
|
|
||||||
else
|
|
||||||
tmp_dir
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
tmp_dir
|
mkdir -p "$COMPATH/temp/common"
|
||||||
|
cp "$COMPATH/.default" "$COMPATH/temp/common/.default"
|
||||||
|
cp "$MODPATH/uninstall.sh" "$COMPATH/temp/uninstall.sh"
|
||||||
fi
|
fi
|
||||||
sed -i "s|\"set-path\"|\"/data/adb/modules/$NEW_MODID/\"|" "$MODPATH/webroot/index.js" || {
|
|
||||||
|
#Set specific path
|
||||||
|
sed -i "s|\"set-path\"|\"/data/adb/modules/$NEW_MODID/\"|" "$MODPATH/webui/index.js" || {
|
||||||
ui_print "! Failed to set path"
|
ui_print "! Failed to set path"
|
||||||
abort
|
abort
|
||||||
}
|
}
|
||||||
@@ -38,22 +27,17 @@ initialize() {
|
|||||||
abort
|
abort
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Set aapt binary
|
||||||
|
cp "$MODPATH/module.prop" "$COMPATH/temp/module.prop"
|
||||||
mv "$MODPATH/bin/$(getprop ro.product.cpu.abi)/aapt" "$COMPATH/aapt"
|
mv "$MODPATH/bin/$(getprop ro.product.cpu.abi)/aapt" "$COMPATH/aapt"
|
||||||
set_perm $COMPATH/aapt 0 2000 0755
|
set_perm $COMPATH/aapt 0 2000 0755
|
||||||
rm -rf "$MODPATH/bin"
|
rm -rf "$MODPATH/bin"
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp_dir() {
|
|
||||||
mkdir -p "$COMPATH/temp/common"
|
|
||||||
cp "$COMPATH/.default" "$COMPATH/temp/common/.default"
|
|
||||||
cp "$MODPATH/module.prop" "$COMPATH/temp/module.prop"
|
|
||||||
cp "$MODPATH/uninstall.sh" "$COMPATH/temp/uninstall.sh"
|
|
||||||
}
|
|
||||||
|
|
||||||
find_config() {
|
find_config() {
|
||||||
if [ -d "$CONFIG_DIR" ]; then
|
# Remove legacy setup
|
||||||
rm -rf "$CONFIG_DIR"
|
[ -f "$SCRIPT_DIR/UpdateTargetList.sh" ] && rm -f "$SCRIPT_DIR/UpdateTargetList.sh"
|
||||||
fi
|
[ -d "$CONFIG_DIR" ] && rm -rf "$CONFIG_DIR"
|
||||||
}
|
}
|
||||||
|
|
||||||
migrate_old_boot_hash() {
|
migrate_old_boot_hash() {
|
||||||
@@ -63,23 +47,3 @@ migrate_old_boot_hash() {
|
|||||||
rm -f "$COMPATH/boot_hash"
|
rm -f "$COMPATH/boot_hash"
|
||||||
fi
|
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
|
|
||||||
}
|
|
||||||
@@ -6,18 +6,13 @@ while [ -z "$(ls -A /data/adb/modules/)" ]; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
if [ ! -d "$TS" ] || [ -f "$TS/remove" ]; then
|
if [ ! -d "$TS" ] || [ -f "$TS/remove" ]; then
|
||||||
if [ -d "$MODPATH/common/temp" ]; then
|
if [ -f "$MODPATH/action.sh" ]; then
|
||||||
mkdir -p "/data/adb/modules/TA_utl"
|
[ -d "/data/adb/modules/TA_utl" ] && rm -rf "/data/adb/modules/TA_utl"
|
||||||
cp -rf "$MODPATH/common/temp"/* "/data/adb/modules/TA_utl/"
|
cp -rf "$MODPATH/common/temp" "/data/adb/modules/TA_utl"
|
||||||
touch "/data/adb/modules/TA_utl/remove"
|
touch "/data/adb/modules/TA_utl/remove"
|
||||||
else
|
else
|
||||||
touch "$MODPATH/remove"
|
touch "$MODPATH/remove"
|
||||||
fi
|
fi
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d "$MODPATH/common/temp" ]; then
|
|
||||||
rm -rf "/data/adb/modules/.TA_utl"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -f "$TS/action.sh"
|
rm -f "$TS/action.sh"
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
MODPATH=${0%/*}
|
MODPATH=${0%/*}
|
||||||
HIDE_DIR="/data/adb/modules/.TA_utl"
|
HIDE_DIR="/data/adb/modules/.TA_utl"
|
||||||
TS="/data/adb/modules/tricky_store"
|
TS="/data/adb/modules/tricky_store"
|
||||||
|
SCRIPT_DIR="/data/adb/tricky_store"
|
||||||
TSPA="/data/adb/modules/tsupport-advance"
|
TSPA="/data/adb/modules/tsupport-advance"
|
||||||
|
|
||||||
aapt() { "$MODPATH/common/aapt" "$@"; }
|
aapt() { "$MODPATH/common/aapt" "$@"; }
|
||||||
|
|
||||||
|
# Reset verified Boot Hash
|
||||||
hash_value=$(grep -v '^#' "/data/adb/boot_hash" | tr -d '[:space:]')
|
hash_value=$(grep -v '^#' "/data/adb/boot_hash" | tr -d '[:space:]')
|
||||||
if [ -n "$hash_value" ]; then
|
if [ -n "$hash_value" ]; then
|
||||||
resetprop -n ro.boot.vbmeta.digest "$hash_value"
|
resetprop -n ro.boot.vbmeta.digest "$hash_value"
|
||||||
@@ -17,21 +19,23 @@ elif [ ! -d "$TSPA" ] && [ -f "/storage/emulated/0/stop-tspa-auto-target" ]; the
|
|||||||
rm -f "/storage/emulated/0/stop-tspa-auto-target"
|
rm -f "/storage/emulated/0/stop-tspa-auto-target"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -d "$MODPATH/common/temp" ]; then
|
# Hide module
|
||||||
if [ "$KSU" ] || [ "$APATCH" ]; then
|
if [ -f "$MODPATH/action.sh" ]; then
|
||||||
rm -f "$MODPATH/module.prop"
|
|
||||||
fi
|
|
||||||
if [[ "$MODPATH" != "$HIDE_DIR" ]]; then
|
if [[ "$MODPATH" != "$HIDE_DIR" ]]; then
|
||||||
rm -rf "$HIDE_DIR"
|
rm -rf "$HIDE_DIR"
|
||||||
mv "$MODPATH" "$HIDE_DIR"
|
mv "$MODPATH" "$HIDE_DIR"
|
||||||
fi
|
fi
|
||||||
MODPATH="$HIDE_DIR"
|
MODPATH="$HIDE_DIR"
|
||||||
if [ -f "$MODPATH/action.sh" ]; then
|
elif [ -d "$HIDE_DIR" ]; then
|
||||||
ln -s "$MODPATH/action.sh" "$TS/action.sh"
|
rm -rf "$HIDE_DIR"
|
||||||
fi
|
|
||||||
ln -s "$MODPATH/webroot" "$TS/webroot"
|
|
||||||
fi
|
fi
|
||||||
|
rm -f "$MODPATH/module.prop"
|
||||||
|
|
||||||
|
# Symlink tricky store
|
||||||
|
[ -f "$MODPATH/action.sh" ] && ln -s "$MODPATH/action.sh" "$TS/action.sh"
|
||||||
|
ln -s "$MODPATH/webui" "$TS/webroot"
|
||||||
|
|
||||||
|
# Optimization
|
||||||
OUTPUT_APP="$MODPATH/common/applist"
|
OUTPUT_APP="$MODPATH/common/applist"
|
||||||
OUTPUT_SKIP="$MODPATH/common/skiplist"
|
OUTPUT_SKIP="$MODPATH/common/skiplist"
|
||||||
|
|
||||||
|
|||||||
@@ -11,10 +11,7 @@ fi
|
|||||||
rm -rf "/data/adb/modules/.TA_utl"
|
rm -rf "/data/adb/modules/.TA_utl"
|
||||||
rm -f "/data/adb/boot_hash"
|
rm -f "/data/adb/boot_hash"
|
||||||
if [ -d "$TS" ]; then
|
if [ -d "$TS" ]; then
|
||||||
if [ -f "$TS/action.sh" ]; then
|
rm -f "$TS/action.sh"
|
||||||
rm -f "$TS/action.sh"
|
rm -rf "$TS/webroot"
|
||||||
else
|
|
||||||
rm -rf "$TS/webroot"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
xxd -r -p "$MODPATH/common/.default" | base64 -d > "$SCRIPT_DIR/keybox.xml"
|
xxd -r -p "$MODPATH/common/.default" | base64 -d > "$SCRIPT_DIR/keybox.xml"
|
||||||
|
|||||||
@@ -470,6 +470,7 @@ async function extrakb() {
|
|||||||
const sourcePath = `${basePath}common/.extra`;
|
const sourcePath = `${basePath}common/.extra`;
|
||||||
const destinationPath = "/data/adb/tricky_store/keybox.xml";
|
const destinationPath = "/data/adb/tricky_store/keybox.xml";
|
||||||
try {
|
try {
|
||||||
|
await new Promise(resolve => setTimeout(resolve, 300));
|
||||||
const fileExists = await execCommand(`[ -f ${sourcePath} ] && echo "exists"`);
|
const fileExists = await execCommand(`[ -f ${sourcePath} ] && echo "exists"`);
|
||||||
if (fileExists.trim() !== "exists") {
|
if (fileExists.trim() !== "exists") {
|
||||||
throw new Error(".extra file not found");
|
throw new Error(".extra file not found");
|
||||||
@@ -713,12 +714,14 @@ document.querySelector(".uninstall-container").addEventListener("click", async (
|
|||||||
try {
|
try {
|
||||||
await execCommand(`
|
await execCommand(`
|
||||||
su -c "
|
su -c "
|
||||||
if [ -d '${basePath}common/temp/' ]; then
|
if [ -f '${basePath}action.sh' ]; then
|
||||||
mkdir -p '/data/adb/modules/TA_utl' &&
|
if [ -d "/data/adb/modules/TA_utl" ]; then
|
||||||
cp -rf '${basePath}common/temp/'* '/data/adb/modules/TA_utl/' &&
|
rm -rf "/data/adb/modules/TA_utl"
|
||||||
|
fi
|
||||||
|
cp -rf '${basePath}common/temp' '/data/adb/modules/TA_utl' &&
|
||||||
touch '/data/adb/modules/TA_utl/remove'
|
touch '/data/adb/modules/TA_utl/remove'
|
||||||
else
|
else
|
||||||
touch '/data/adb/modules/TA_utl/remove'
|
touch '${basePath}remove'
|
||||||
fi
|
fi
|
||||||
"
|
"
|
||||||
`);
|
`);
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
# Translation Guide
|
# Translation Guide
|
||||||
## Fix Translation Error
|
## Fix Bad Translation
|
||||||
1. Fork this repository.
|
1. Fork this repository.
|
||||||
2. Find your language string file in `/module/webroot/locales/`.
|
2. Find your language string file in `/module/webroot/locales/`.
|
||||||
3. Edit the string value with translated incorrectly.
|
3. Edit the string value with translated incorrectly.
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
---
|
---
|
||||||
## Add a New Language
|
## Add a New Language
|
||||||
### Simple
|
### Simple
|
||||||
- Contact me in Telegram to add a new translation langauge for you.
|
- Contact me in Telegram to add a new translation langauge.
|
||||||
|
|
||||||
### Advanced
|
### Advanced
|
||||||
1. Fork this repository.
|
1. Fork this repository.
|
||||||
|
Before Width: | Height: | Size: 725 B After Width: | Height: | Size: 725 B |
Reference in New Issue
Block a user