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
script opt
This commit is contained in:
3
.gitattributes
vendored
3
.gitattributes
vendored
@@ -3,8 +3,9 @@
|
|||||||
*.prop text eol=lf
|
*.prop text eol=lf
|
||||||
*.md text eol=lf
|
*.md text eol=lf
|
||||||
*.xml text eol=lf
|
*.xml text eol=lf
|
||||||
|
*.json text eol=lf
|
||||||
|
.extra text eol=lf
|
||||||
META-INF/** text eol=lf
|
META-INF/** text eol=lf
|
||||||
|
|
||||||
# Denote all files that are truly binary and should not be modified.
|
# Denote all files that are truly binary and should not be modified.
|
||||||
common/addon/**/tools/** binary
|
|
||||||
module/bin/**/** binary
|
module/bin/**/** binary
|
||||||
@@ -14,22 +14,22 @@ abort() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
download() {
|
download() {
|
||||||
local type=${1#--}
|
download_type=${1#--}
|
||||||
local url=$2
|
download_url=$2
|
||||||
local output=$3
|
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 [ "$type" = "output" ]; then
|
if [ "$download_type" = "output" ]; then
|
||||||
timeout 10 curl -Lo "$output" "$url"
|
timeout 10 curl -Lo "$download_output" "$download_url"
|
||||||
else
|
else
|
||||||
timeout 2 curl -s "$url"
|
timeout 2 curl -s "$download_url"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ "$type" = "output" ]; then
|
if [ "$download_type" = "output" ]; then
|
||||||
timeout 10 busybox wget --no-check-certificate -qO "$output" "$url"
|
timeout 10 busybox wget --no-check-certificate -qO "$download_output" "$download_url"
|
||||||
else
|
else
|
||||||
timeout 2 busybox wget --no-check-certificate -qO- "$url"
|
timeout 2 busybox wget --no-check-certificate -qO- "$download_url"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
PATH="$ORG_PATH"
|
PATH="$ORG_PATH"
|
||||||
|
|||||||
@@ -5,28 +5,35 @@ SKIPLIST="$MODPATH/tmp/skiplist"
|
|||||||
OUTPUT="$MODPATH/tmp/exclude-list"
|
OUTPUT="$MODPATH/tmp/exclude-list"
|
||||||
KBOUTPUT="$MODPATH/tmp/.extra"
|
KBOUTPUT="$MODPATH/tmp/.extra"
|
||||||
|
|
||||||
|
if [ "$MODPATH" = "/data/adb/modules/.TA_utl/common" ]; then
|
||||||
|
MODDIR="/data/adb/modules/.TA_utl"
|
||||||
|
MAGISK="true"
|
||||||
|
else
|
||||||
|
MODDIR="/data/adb/modules/TA_utl"
|
||||||
|
fi
|
||||||
|
|
||||||
aapt() { "$MODPATH/aapt" "$@"; }
|
aapt() { "$MODPATH/aapt" "$@"; }
|
||||||
|
|
||||||
# probe for downloaders
|
# probe for downloaders
|
||||||
# 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#--}
|
download_type=${1#--}
|
||||||
local url=$2
|
download_url=$2
|
||||||
local output=$3
|
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 [ "$type" = "output" ]; then
|
if [ "$download_type" = "output" ]; then
|
||||||
timeout 10 curl -Lo "$output" "$url"
|
timeout 10 curl -Lo "$download_output" "$download_url"
|
||||||
else
|
else
|
||||||
timeout 3 curl -s "$url"
|
timeout 3 curl -s "$download_url"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ "$type" = "output" ]; then
|
if [ "$download_type" = "output" ]; then
|
||||||
timeout 10 busybox wget --no-check-certificate -qO "$output" "$url"
|
timeout 10 busybox wget --no-check-certificate -qO "$download_output" "$download_url"
|
||||||
else
|
else
|
||||||
timeout 3 busybox wget --no-check-certificate -qO- "$url"
|
timeout 3 busybox wget --no-check-certificate -qO- "$download_url"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
PATH="$ORG_PATH"
|
PATH="$ORG_PATH"
|
||||||
@@ -57,11 +64,12 @@ get_unnecessary() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
check_update() {
|
check_update() {
|
||||||
|
[ -f "$MODDIR/disable" ] && rm -f "$MODDIR/disable"
|
||||||
JSON=$(download --fetch "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
|
||||||
if [ "$MODPATH" = "/data/adb/modules/.TA_utl/common" ]; then
|
if [ "$MAGISK" = "true" ]; then
|
||||||
[ -d "/data/adb/modules/TA_utl" ] && rm -rf "/data/adb/modules/TA_utl"
|
[ -d "/data/adb/modules/TA_utl" ] && rm -rf "/data/adb/modules/TA_utl"
|
||||||
cp -rf "$MODPATH/update" "/data/adb/modules/TA_utl"
|
cp -rf "$MODPATH/update" "/data/adb/modules/TA_utl"
|
||||||
else
|
else
|
||||||
@@ -72,8 +80,7 @@ check_update() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uninstall() {
|
uninstall() {
|
||||||
if [ "$MODPATH" = "/data/adb/modules/.TA_utl/common" ]; then
|
if [ "$MAGISK" = "true" ]; then
|
||||||
[ -d "/data/adb/modules/TA_utl" ] && rm -rf "/data/adb/modules/TA_utl"
|
|
||||||
cp -rf "$MODPATH/update" "/data/adb/modules/TA_utl"
|
cp -rf "$MODPATH/update" "/data/adb/modules/TA_utl"
|
||||||
else
|
else
|
||||||
cp -f "$MODPATH/update/module.prop" "/data/adb/modules/TA_utl/module.prop"
|
cp -f "$MODPATH/update/module.prop" "/data/adb/modules/TA_utl/module.prop"
|
||||||
@@ -99,6 +106,7 @@ install_update() {
|
|||||||
else
|
else
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -f "$MODPATH/tmp/module.zip"
|
rm -f "$MODPATH/tmp/module.zip"
|
||||||
rm -f "$MODPATH/tmp/changelog.md"
|
rm -f "$MODPATH/tmp/changelog.md"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,32 +73,41 @@ fi
|
|||||||
# Optimization
|
# Optimization
|
||||||
OUTPUT_APP="$MODPATH/common/tmp/applist"
|
OUTPUT_APP="$MODPATH/common/tmp/applist"
|
||||||
OUTPUT_SKIP="$MODPATH/common/tmp/skiplist"
|
OUTPUT_SKIP="$MODPATH/common/tmp/skiplist"
|
||||||
OUTPUT_TMP="$MODPATH/common/tmp/tmp_applist"
|
|
||||||
|
|
||||||
until [ "$(getprop sys.boot_completed)" = "1" ]; do
|
until [ "$(getprop sys.boot_completed)" = "1" ]; do
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Create temporary directory
|
||||||
mkdir -p "$MODPATH/common/tmp"
|
mkdir -p "$MODPATH/common/tmp"
|
||||||
pm list packages -3 2>/dev/null | awk -F: '{print $2}' > "$OUTPUT_TMP"
|
|
||||||
|
|
||||||
|
# Additional system apps
|
||||||
SYSTEM_APP="com.google.android.gms|com.google.android.gsf|com.android.vending"
|
SYSTEM_APP="com.google.android.gms|com.google.android.gsf|com.android.vending"
|
||||||
pm list package -s | awk -F: '{print $2}' | grep -Ex "$SYSTEM_APP" >> "$OUTPUT_TMP"
|
|
||||||
|
|
||||||
|
# Initialize cache files to save app list and skip list
|
||||||
echo "# This file is generated from service.sh to speed up load time" > "$OUTPUT_APP"
|
echo "# This file is generated from service.sh to speed up load time" > "$OUTPUT_APP"
|
||||||
echo "# This file is generated from service.sh to speed up load time" > "$OUTPUT_SKIP"
|
echo "# This file is generated from service.sh to speed up load time" > "$OUTPUT_SKIP"
|
||||||
cat "$OUTPUT_TMP" | while read -r PACKAGE; do
|
|
||||||
|
# Get list of third party apps and specific system apps, then cache app name
|
||||||
|
# Check Xposed module
|
||||||
|
{
|
||||||
|
pm list packages -3 2>/dev/null
|
||||||
|
pm list package -s | grep -E "$SYSTEM_APP"
|
||||||
|
} | awk -F: '{print $2}' | while read -r PACKAGE; do
|
||||||
|
# Get APK path for the package
|
||||||
APK_PATH=$(pm path "$PACKAGE" 2>/dev/null | grep "base.apk" | awk -F: '{print $2}' | tr -d '\r')
|
APK_PATH=$(pm path "$PACKAGE" 2>/dev/null | grep "base.apk" | awk -F: '{print $2}' | tr -d '\r')
|
||||||
[ -z "$APK_PATH" ] && APK_PATH=$(pm path "$PACKAGE" 2>/dev/null | grep ".apk" | awk -F: '{print $2}' | tr -d '\r')
|
[ -z "$APK_PATH" ] && APK_PATH=$(pm path "$PACKAGE" 2>/dev/null | grep ".apk" | awk -F: '{print $2}' | tr -d '\r')
|
||||||
|
|
||||||
if [ -n "$APK_PATH" ]; then
|
if [ -n "$APK_PATH" ]; then
|
||||||
|
# Extract app name and save package info
|
||||||
APP_NAME=$(aapt dump badging "$APK_PATH" 2>/dev/null | grep "application-label:" | sed "s/application-label://g; s/'//g")
|
APP_NAME=$(aapt dump badging "$APK_PATH" 2>/dev/null | grep "application-label:" | sed "s/application-label://g; s/'//g")
|
||||||
echo "app-name: $APP_NAME, package-name: $PACKAGE" >> "$OUTPUT_APP"
|
echo "app-name: $APP_NAME, package-name: $PACKAGE" >> "$OUTPUT_APP"
|
||||||
else
|
else
|
||||||
echo "app-name: Unknown App package-name: $PACKAGE" >> "$OUTPUT_APP"
|
echo "app-name: Unknown App package-name: $PACKAGE" >> "$OUTPUT_APP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Check if app is Xposed module and add to skip list if not
|
||||||
if ! aapt dump xmltree "$APK_PATH" AndroidManifest.xml 2>/dev/null | grep -qE "xposed.category|xposeddescription"; then
|
if ! aapt dump xmltree "$APK_PATH" AndroidManifest.xml 2>/dev/null | grep -qE "xposed.category|xposeddescription"; then
|
||||||
echo "$PACKAGE" >> "$OUTPUT_SKIP"
|
echo "$PACKAGE" >> "$OUTPUT_SKIP"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
rm -f "$OUTPUT_TMP"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user