From aff4405b7baaa7b4eeb4be499aff5f6177a7cbcc Mon Sep 17 00:00:00 2001 From: Yawasau <229953100a@gmail.com> Date: Sat, 2 Mar 2024 17:05:30 +0800 Subject: [PATCH] bugfix --- backup_settings.conf | 6 +- tools/Device_List | 7 +- tools/classes2.dex | Bin 130296 -> 141968 bytes tools/soc.json | 2 +- tools/tools.sh | 316 ++++++++++++++++++++++++++----------------- 備份應用.sh | 1 + 備份自定義資料夾.sh | 1 + 生成應用列表.sh | 1 + 8 files changed, 202 insertions(+), 132 deletions(-) diff --git a/backup_settings.conf b/backup_settings.conf index b93488e..b24a66e 100644 --- a/backup_settings.conf +++ b/backup_settings.conf @@ -22,7 +22,7 @@ update=1 #假設如果存在usb隨身碟是否默認使用隨身碟?(1不詢問默認使用 0每次都進行詢問) USBdefault=0 -#自定義外部掛載點,多個分區請使用|區隔 +#自定義屏蔽外部掛載點,多個分區請使用|區隔 mount_point="rannki|0000-1" #使用者(為空預設0) @@ -35,7 +35,7 @@ Backup_user_data=1 Backup_obb_data=1 #是否在應用數據備份好後備份自定義目錄 -backup_media=0 +backup_media=1 #假設你遇到列表輸出異常問題請將此設為1 debug_list=0 @@ -44,9 +44,7 @@ debug_list=0 Custom_path=" /storage/emulated/0/Pictures/ /storage/emulated/0/Download/ -/storage/emulated/0/Music /storage/emulated/0/DCIM/ -#/storage/emulated/0/DCIM/Snapseed /data/adb " diff --git a/tools/Device_List b/tools/Device_List index fb16ca2..956e681 100644 --- a/tools/Device_List +++ b/tools/Device_List @@ -1603,17 +1603,16 @@ "RMX3031" "真我 GT Neo" "RMX3041" "真我 v13" "RMX3042" "真我 Q3i" -"RMX3043" "真我 v13电信版" +"RMX3043" "真我 v13電信版" "RMX3161" "真我 Q3" "RMX3300" "真我 GT2 PRO" -"RMX3350" "真我 GT Neo 闪速版" "RMX3357" "真我 GT Neo2T" -"RMX3366" "真我 GT 大师探索版" +"RMX3366" "真我 GT 大師探索版" "RMX3370" "真我 GT Neo2" "RMX3372" "真我 Q5 PRO" "RMX3461" "真我 Q3s" "RMX3478" "真我 Q5" -"RMX3551" "真我 GT2 大师探索版" +"RMX3551" "真我 GT2 大師探索版" "RMX3560" "真我 GT Neo3" "RMX3562" "真我 GT Neo3 150w" "RMX3700" "真我 GT Neo5 SE" diff --git a/tools/classes2.dex b/tools/classes2.dex index 9902fc53e515e4db7d1064cce6301ce93b4dcfbc..8b091044458ca03b80967942e04ecd265d053f73 100644 GIT binary patch literal 141968 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 IO3zsDFFl;Sga7~l literal 130296 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 debug_output.log shell_language="zh-TW" MODDIR="$MODDIR" MODDIR_NAME="${MODDIR##*/}" @@ -6,6 +7,7 @@ tools_path="$MODDIR/tools" Compression_rate=3 script="${0##*/}" backup_version="V15.8.7" +[[ $SHELL = *mt* ]] && echo "請勿使用mt拓展包環境執行,請更換系統環境" && exit 2 update_backup_settings_conf() { echo "#1開啟0關閉 #是否在每次執行備份腳本使用音量鍵詢問如下備份需求 @@ -120,7 +122,27 @@ rgb_c="${rgb_c:-177}" /^blacklist/ s/ /\n/g; /^whitelist/ s/ /\n/g; /^system/ s/ /\n/g; - /^am_start/ s/ /\n/g' + /^am_start/ s/ /\n/g; + s/true/1/g; + s/false/0/g' +} +update_Restore_settings_conf() { + echo "#1開啟0關閉 +#是否在每次執行備份腳本使用音量鍵詢問如下備份需求 +#如果是那下面兩項設置就被忽略,改為音量鍵選擇 +Lo="${Lo:-0}" + +#自動更新腳本 +update="${update:-1}" + +#使用者(為空預設0) +user= + +#主色 +rgb_a="${rgb_a:-226}" +#輔色 +rgb_b="${rgb_b:-123}" +rgb_c="${rgb_c:-177}"" | sed 's/true/1/g ; s/false/0/g' } if [[ ! -d $tools_path ]]; then tools_path="${MODDIR%/*}/tools" @@ -130,13 +152,24 @@ fi [[ ! -f $tools_path/tar ]] && echo "$tools_path/tar遺失" [[ ! -f $tools_path/classes.dex ]] && echo "$tools_path/classes.dex遺失" [[ ! -f $tools_path/classes2.dex ]] && echo "$tools_path/classes2.dex遺失" -[[ $conf_path != "" ]] && conf_path="$conf_path" || conf_path="$MODDIR/backup_settings.conf" -if [[ $conf_path != *Backup_* ]]; then - update_backup_settings_conf>"$conf_path" -else - echo "$conf_path配置遺失" && exit 1 +if [[ ! -f $conf_path ]]; then + case $operate in + backup_media|backup|Getlist|Restore2|check_file|convert|Restore3|dumpname) + if [[ $conf_path != *Backup_* ]]; then + update_backup_settings_conf>"$conf_path" + echo "因腳本找不到\n$conf_path\n故重新生成默認列表\n請重新配置後重新執行腳本" && exit 0 + else + if [[ $conf_path = *Backup_* ]]; then + update_Restore_settings_conf>"$conf_path" + echo "因腳本找不到\n$conf_path\n故重新生成默認列表\n請重新配置後重新執行腳本" && exit 0 + else + echo "$conf_path配置遺失" && exit 1 + fi + fi ;; + *) conf_path="$MODDIR/backup_settings.conf" ;; + esac fi -echo "$(sed 's/true/1/g ; s/false/0/g' "$conf_path")">"$conf_path" +[[ ! -f $conf_path ]] && echo "$conf_path遺失" && exit 2 . "$conf_path" &>/dev/null echoRgb() { #轉換echo顏色提高可讀性 @@ -247,7 +280,7 @@ export CLASSPATH="$tools_path/classes.dex:$tools_path/classes2.dex" zstd_sha256sum="55cc57a3d079dd90e74d972c705c4f9389dd00a7175de148e21000eab01f7ed9" tar_sha256sum="3c605b1e9eb8283555225dcad4a3bf1777ae39c5f19a2c8b8943140fd7555814" classesdex_sha256sum="09d0058763157b97d6ea2bf74bd7ec53089a9ddb496f089a159ea0027007bb94" -classesdex2_sha256sum="1f74841cf94369a74d9f304cc396608efc758454350414379ca2ee4b6ffce61c" +classesdex2_sha256sum="010c1e247a104ebe39cc218af9b4c9581a9ee0946851dea249d3f40050c15d79" [[ $(sha256sum "$tools_path/zstd" | cut -d" " -f1) != $zstd_sha256sum ]] && echoRgb "zstd效驗失敗" "0" && exit 2 [[ $(sha256sum "$tools_path/tar" | cut -d" " -f1) != $tar_sha256sum ]] && echoRgb "tar效驗失敗" "0" && exit 2 [[ $(sha256sum "$tools_path/classes.dex" | cut -d" " -f1) != $classesdex_sha256sum ]] && echoRgb "classes.dex效驗失敗" "0" && exit 2 @@ -264,7 +297,6 @@ if [[ $(which toybox | egrep -o "system") != system ]]; then fi LANG="$(getprop "persist.sys.locale")" #下列為自定義函數 -alias getssaid="app_process /system/bin com.xayah.dex.SsaidUtil $@" alias appinfo="app_process /system/bin --nice-name=appinfo han.core.order.AppInfo $@" alias down="app_process /system/bin --nice-name=down han.core.order.Down $@" alias PayloadDumper="app_process /system/bin --nice-name=payload-dumper han.core.order.payload.PayloadDumper $@" @@ -281,7 +313,10 @@ alias LS="toybox ls -Zd" # *camera*) cmd package install-existing "$REPLY" ;; # esac #done -Set_back() { +Set_back_0() { + return 0 +} +Set_back_1() { return 1 } endtime() { @@ -323,7 +358,7 @@ isBoolean() { elif [[ $1 = 0 ]]; then nsx=false else - echoRgb "$MODDIR_NAME/backup_settings.conf $2=$1填寫錯誤,正確值1or0" "0" + echoRgb "$conf_path $2=$1填寫錯誤,正確值1or0" "0" exit 2 fi } @@ -331,9 +366,11 @@ echo_log() { if [[ $? = 0 ]]; then echoRgb "$1成功" "1" result=0 + Set_back_0 else echoRgb "$1失敗,過世了" "0" result=1 + Set_back_1 fi } process_name() { @@ -369,7 +406,7 @@ else UFS_MODEL="unknown" fi fi -[[ $(egrep -w "$(getprop ro.product.model 2>/dev/null)" "$tools_path/Device_List" | awk -F'"' '{print $4}') != "" ]] && Device_name="$(egrep -w "$(getprop ro.product.model 2>/dev/null)" "$tools_path/Device_List" | awk -F'"' '{print $4}')" || Device_name="$(getprop ro.product.model 2>/dev/null)" +[[ $(egrep -w "$(getprop ro.product.model 2>/dev/null)" "$tools_path/Device_List" | awk -F'"' '{print $4}') != "" ]] && Device_name="$(egrep -w "$(getprop ro.product.model 2>/dev/null)" "$tools_path/Device_List" | awk -F'"' '{print $4}' | head -1)" || Device_name="$(getprop ro.product.model 2>/dev/null)" if [[ $(su -v 2>/dev/null) != "" ]]; then Manager_version="$(su -v 2>/dev/null)" else @@ -404,7 +441,7 @@ else RAMINFO="RAM:null" fi echoRgb "---------------------SpeedBackup---------------------" -echoRgb "腳本路徑:$MODDIR\n -已開機:$(Show_boottime)\n -busybox路徑:$(which busybox)\n -busybox版本:$(busybox | head -1 | awk '{print $2}')\n -appinfo版本:$(appinfo --version)\n -腳本版本:$backup_version\n -管理器:$Manager_version\n -品牌:$(getprop ro.product.brand 2>/dev/null)\n -型號:$Device_name($(getprop ro.product.device 2>/dev/null))\n -閃存顆粒:$UFS_MODEL($ROM_TYPE)\n -$DEVICE_NAME\n -$RAMINFO\n -Android版本:$(getprop ro.build.version.release 2>/dev/null) SDK:$(getprop ro.build.version.sdk 2>/dev/null)\n -By@YAWAsau\n -Support: https://jq.qq.com/?_wv=1027&k=f5clPNC3" +echoRgb "腳本路徑:$MODDIR\n -已開機:$(Show_boottime)\n -執行時間:$(date +"%Y-%m-%d %H:%M:%S")\n -busybox路徑:$(which busybox)\n -busybox版本:$(busybox | head -1 | awk '{print $2}')\n -appinfo版本:$(appinfo --version)\n -腳本版本:$backup_version\n -管理器:$Manager_version\n -品牌:$(getprop ro.product.brand 2>/dev/null)\n -型號:$Device_name($(getprop ro.product.device 2>/dev/null))\n -閃存顆粒:$UFS_MODEL($ROM_TYPE)\n -$DEVICE_NAME\n -$RAMINFO\n -Android版本:$(getprop ro.build.version.release 2>/dev/null) SDK:$(getprop ro.build.version.sdk 2>/dev/null)\n -By@YAWAsau\n -Support: https://jq.qq.com/?_wv=1027&k=f5clPNC3" case $MODDIR in *Backup_*) if [[ -f $MODDIR/app_details ]]; then @@ -432,43 +469,53 @@ case $LANG in esac case $operate in backup|Restore|Restore2|Getlist|backup_media) - if [[ $user = "" ]]; then - user_id="$(appinfo -listUsers)" - if [[ $user_id != "" && $(appinfo -listUsers | wc -l) -gt 1 ]]; then - echo "$user_id" | while read ; do - [[ $REPLY = 0 ]] && echoRgb "主用戶:$REPLY" "2" || echoRgb "分身用戶:$REPLY" "2" - done - echoRgb "設備存在多用戶,選擇操作目標用戶" - if [[ $(echo "$user_id" | wc -l) = 2 ]]; then - user1="$(echo "$user_id" | sed -n '1p')" - user2="$(echo "$user_id" | sed -n '2p')" - echoRgb "音量上選擇用戶:$user1,音量下選擇用戶:$user2" "2" - Select_user="true" - get_version "$user1" "$user2" && user="$branch" - unset Select_user - else - while true ;do - if [[ $option != "" ]]; then - user="$option" - break - else - echoRgb "請輸入需要操作目標分區" "1" - read option - fi - done + if [[ $backup_mode = "" ]]; then + if [[ $user = "" ]]; then + user_id="$(appinfo -listUsers)" + if [[ $user_id != "" && $(appinfo -listUsers | wc -l) -gt 1 ]]; then + echo "$user_id" | while read ; do + [[ $REPLY = 0 ]] && echoRgb "主用戶:$REPLY" "2" || echoRgb "分身用戶:$REPLY" "2" + done + echoRgb "設備存在多用戶,選擇操作目標用戶" + if [[ $(echo "$user_id" | wc -l) = 2 ]]; then + user1="$(echo "$user_id" | sed -n '1p')" + user2="$(echo "$user_id" | sed -n '2p')" + echoRgb "音量上選擇用戶:$user1,音量下選擇用戶:$user2" "2" + Select_user="true" + get_version "$user1" "$user2" && user="$branch" + unset Select_user + else + while true ;do + if [[ $option != "" ]]; then + user="$option" + break + else + echoRgb "請輸入需要操作目標分區" "1" + read option + fi + done + fi + else + user="0" fi - echoRgb "當前操作為用戶$user" - else - user="0" - fi - fi + fi + else + user="$(echo "${0%}" | sed 's/.*\/Backup_zstd_\([0-9]*\).*/\1/')" + fi path="/data/media/$user/Android" path2="/data/user/$user" - [[ ! -d $path2 ]] && echoRgb "$user分區不存在,請將上方提示的用戶id按照需求填入\n -$MODDIR_NAME/backup_settings.conf配置項user=,一次只能填寫一個" "0" && exit 2 + [[ ! -d $path2 ]] && echoRgb "$user分區不存在,請將上方提示的用戶id按照需求填入\n -$conf_path配置項user=,一次只能填寫一個" "0" && exit 2 + echoRgb "當前操作為用戶$user" export USER_ID="$user" ;; esac +#因接收USER_ID環境變量問題故將函數放在此處 +alias get_ssaid="app_process /system/bin com.xayah.dex.SsaidUtil get $USER_ID $@" +alias set_ssaid="app_process /system/bin com.xayah.dex.SsaidUtil set $USER_ID $@" +alias get_uid="app_process /system/bin com.xayah.dex.HiddenApiUtil getPackageUid $USER_ID $@" +alias get_Permissions="app_process /system/bin com.xayah.dex.HiddenApiUtil getRuntimePermissions $USER_ID $@" +alias Set_true_Permissions="app_process /system/bin com.xayah.dex.HiddenApiUtil grantRuntimePermission $USER_ID $@" +alias Set_false_Permissions="app_process /system/bin com.xayah.dex.HiddenApiUtil revokeRuntimePermission $USER_ID $@" find_tools_path="$(find "$path_hierarchy"/* -maxdepth 1 -name "tools" -type d ! -path "$path_hierarchy/tools")" -find_conf_path="$(find "$path_hierarchy"/* -maxdepth 1 -name "backup_settings.conf" -type f ! -path "*Backup_*")" Rename_script () { [[ $HT = "" ]] && HT=0 find "$path_hierarchy" -maxdepth 3 -name "*.sh" -type f -not -name "tools.sh" | sort | while read ; do @@ -516,14 +563,19 @@ touch_shell () { case $1 in Restore2) MODDIR_Path='${0%/*/*}' - conf_path='${0%/*/*}/backup_settings.conf' ;; + conf_path='${0%/*/*}/restore_settings.conf' ;; backup) if [[ $3 = backup_mode ]]; then MODDIR_Path='${0%/*/*/*}' conf_path='${0%/*/*/*}/backup_settings.conf' fi ;; + Restore|convert|dumpname|Restore3|check_file) conf_path='${0%/*}/restore_settings.conf' ;; esac - [[ $4 != "" ]] && echo "if [ -f \"$MODDIR_Path/tools/tools.sh\" ]; then\n MODDIR=\"$MODDIR_Path\"\n . \"\${0%/*}/app_details\" &>/dev/null\n operate=\"$1\"\n $4\n conf_path=\"$conf_path\"\n . \"$MODDIR_Path/tools/tools.sh\" | tee \"\$MODDIR/log.txt\"\nelse\n echo \"$MODDIR_Path/tools/tools.sh遺失\"\nfi" >"$2" ||echo "if [ -f \"$MODDIR_Path/tools/tools.sh\" ]; then\n MODDIR=\"\${0%/*}\"\n operate=\"$1\"\n conf_path=\"$conf_path\"\n . \"$MODDIR_Path/tools/tools.sh\" | tee \"\$MODDIR/log.txt\"\nelse\n echo \"$MODDIR_Path/tools/tools.sh遺失\"\nfi" >"$2" + if [[ $4 != "" ]]; then + [[ $Output_path = "" ]] && echo "if [ -f \"$MODDIR_Path/tools/tools.sh\" ]; then\n MODDIR=\"$MODDIR_Path\"\n . \"\${0%/*}/app_details\" &>/dev/null\n operate=\"$1\"\n $4\n conf_path=\"$conf_path\"\n . \"$MODDIR_Path/tools/tools.sh\" | tee \"\${0%/*}/log.txt\"\nelse\n echo \"$MODDIR_Path/tools/tools.sh遺失\"\nfi" >"$2" + else + echo "[ \"\$(echo \"\${0%/*}\" | grep -o 'bin.mt.plus/temp')\" != \"\" ] && echo \"你媽沒告訴你腳本要解壓縮嗎?傻逼玩兒\" && exit 2\nif [ -f \"$MODDIR_Path/tools/tools.sh\" ]; then\n MODDIR=\"\${0%/*}\"\n operate=\"$1\"\n conf_path=\"$conf_path\"\n . \"$MODDIR_Path/tools/tools.sh\" | tee \"\$MODDIR/log.txt\"\nelse\n echo \"$MODDIR_Path/tools/tools.sh遺失\"\nfi" >"$2" + fi } update_script() { [[ $zipFile = "" ]] && zipFile="$(find "$MODDIR" -maxdepth 1 -name "*.zip" -type f 2>/dev/null)" @@ -552,11 +604,8 @@ update_script() { unzip -o "$zipFile" tools/* -d "$path_hierarchy" | sed 's/inflating/釋放/g ; s/creating/創建/g ; s/Archive/解壓縮/g' echo_log "解壓縮${zipFile##*/}" if [[ $result = 0 ]]; then - [[ $find_conf_path != "" ]] && update_backup_settings_conf>"$find_conf_path" if [[ $shell_language != $Script_target_language ]]; then echoRgb "腳本語系為$shell_language....轉換為$Script_target_language中,請稍後等待轉換...." - ts -f "$path_hierarchy/backup_settings.conf" -o "$path_hierarchy/backup_settings.conf" - echo_log "$path_hierarchy/backup_settings.conf翻譯" ts -f "$path_hierarchy/tools/Device_List" -o "$path_hierarchy/tools/Device_List" echo_log "$path_hierarchy/tools/Device_List翻譯" ts -f "$path_hierarchy/tools/tools.sh" -o "$path_hierarchy/tools/tools.sh" && sed -i "s/shell_language=\"$shell_language\"/shell_language=\"$Script_target_language\"/g" "$path_hierarchy/tools/tools.sh" @@ -566,10 +615,6 @@ update_script() { if [[ -d $find_tools_path && $find_tools_path != $path_hierarchy/tools ]]; then rm -rf "$find_tools_path" cp -r "$path_hierarchy/tools" "${find_tools_path%/*}" - if [[ $shell_language != $Script_target_language ]]; then - ts -f "${find_tools_path%/*}/backup_settings.conf" -o "${find_tools_path%/*}/backup_settings.conf" - echo_log "${find_tools_path%/*}/backup_settings.conf翻譯" - fi fi Rename_script if [[ $Output_path != "" ]]; then @@ -656,17 +701,7 @@ if [[ $path_hierarchy != "" && $Script_target_language != "" ]]; then sed -i "s/shell_language=\"$shell_language\"/shell_language=\"$Script_target_language\"/g" "$REPLY" ts -f "${REPLY%/*}/Device_List" -o "${REPLY%/*}/Device_List" echo_log "${REPLY%/*}/Device_List翻譯" - if [[ $K = 1 ]]; then - Rename_script - if [[ -d $path_hierarchy/tools ]]; then - if [[ -d $find_tools_path && $find_tools_path != $path_hierarchy/tools ]]; then - ts -f "${find_tools_path%/*}/backup_settings.conf" -o "${find_tools_path%/*}/backup_settings.conf" - echo_log "${find_tools_path%/*}/backup_settings.conf翻譯" - fi - ts -f "$path_hierarchy/backup_settings.conf" -o "$path_hierarchy/backup_settings.conf" - echo_log "$path_hierarchy/backup_settings.conf翻譯" - fi - fi + [[ $K = 1 ]] && Rename_script else echoRgb "$REPLY ts進程出現錯誤" "0" fi @@ -715,7 +750,7 @@ if [[ $json != "" ]]; then zipFile="$MODDIR/update.zip" fi else - echoRgb "$MODDIR_NAME/backup_settings.conf內update選項為0忽略更新僅提示更新" "0" + echoRgb "$conf_path內update選項為0忽略更新僅提示更新" "0" fi fi fi @@ -815,9 +850,10 @@ size () { } #分區佔用信息 partition_info() { - Occupation_status="$(df -h "${1%/*}" | sed -n 's|% /.*|%|p' | awk '{print $(NF-1),$(NF)}')" - lxj="$(echo "$Occupation_status" | awk '{print $2}' | sed 's/%//g')" - [[ $lxj -ge 97 ]] && echoRgb "$hx空間不足,達到$lxj%" "0" && exit 2 + Occupation_status="$(df "${1%/*}" | sed -n 's|% /.*|%|p' | awk '{print $(NF-1)}')" + echo " -$2字節:$Filesize 剩餘字節:$Occupation_status" + [[ $Filesize -gt $Occupation_status ]] && echoRgb "$2備份大小將超出rom可用大小" "0" && exit 2 + Occupation_status="$(df -h "${Backup%/*}" | sed -n 's|% /.*|%|p' | awk '{print $(NF-1),$(NF)}')" } kill_app() { if [[ $name2 != bin.mt.plus && $name2 != com.termux && $name2 != bin.mt.plus.canary ]]; then @@ -881,7 +917,9 @@ Backup_apk() { add_app2="$(echo "$add_app\n$add_app2")" echoRgb "版本:$apk_version2" fi - partition_info "$Backup" + unset Filesize + Filesize="$(du -s "$apk_path2" | awk '{print $1}')" + partition_info "$Backup" "$name2 apk" #備份apk echoRgb "$1" echo "$apk_path" | sed -e '/^$/d' | while read; do @@ -959,7 +997,7 @@ Backup_data() { ;; esac if [[ -d $data_path ]]; then - unset Filesize m_size k_size get_size ssaid + unset Filesize m_size k_size get_size ssaid Get_Permissions Filesize="$(du -s "$data_path" | awk '{print $1}')" k_size="$(awk 'BEGIN{printf "%.2f\n", "'$Filesize'"'*1024'/'1024'}')" m_size="$(awk 'BEGIN{printf "%.2f\n", "'$k_size'"/'1024'}')" @@ -970,14 +1008,23 @@ Backup_data() { fi case $1 in user) - ssaid="$(getssaid get "$user" "$name2")" + ssaid="$(get_ssaid "$name2")" if [[ $ssaid != null && $ssaid != $Ssaid ]]; then if [[ $Ssaid != "" ]]; then echo "$(sed "s/$Ssaid/$ssaid/g" "$app_details")">"$app_details" else echo "Ssaid=\"$ssaid\"" >>"$app_details" fi + SSAID_apk="$(echo "$name1 \"$name2\"")" + SSAID_apk2="$(echo "$SSAID_apk\n$SSAID_apk2")" echo_log "備份ssaid" + fi + Get_Permissions="$(get_Permissions "$name2")" + if [[ $Permissions = "" ]]; then + echo "Permissions=\"$Get_Permissions\"">"$app_Permissions" + echo_log "備份權限" + else + [[ $Permissions != $Get_Permissions ]] && echo "Permissions=\"$Get_Permissions\"">"$app_Permissions" && echo_log "備份權限" fi ;; esac if [[ $Size != $Filesize ]]; then @@ -985,7 +1032,7 @@ Backup_data() { case $1 in user|data|obb) kill_app ;; esac - partition_info "$Backup" + partition_info "$Backup" "$1" echoRgb "備份$1數據($get_size)" case $1 in user) @@ -1036,7 +1083,6 @@ Backup_data() { else [[ -f $data_path ]] && echoRgb "$1是一個文件 不支持備份" "0" || echoRgb "$1數據不存在跳過備份" "2" fi - partition_info "$Backup" } Release_data() { tar_path="$1" @@ -1086,22 +1132,33 @@ Release_data() { tar) [[ ${MODDIR_NAME##*/} = Media ]] && tar --checkpoint-action="ttyout=%T\r" -axf "$tar_path" -C "$FILE_PATH" || tar --checkpoint-action="ttyout=%T\r" -amxf "$tar_path" -C "$FILE_PATH" ;; esac else - Set_back + Set_back_1 fi echo_log "解壓縮${FILE_NAME##*.}" if [[ $result = 0 ]]; then case $FILE_NAME2 in user|data|obb) - if [[ -f /config/sdcardfs/$name2/appid ]]; then - G="$(cat "/config/sdcardfs/$name2/appid")" - else - G="$(dumpsys package "$name2" 2>/dev/null | awk -F'=' '/userId/ && !/userId=0/{print $2}' | head -1)" - [[ $G = "" ]] && G="$(pm list packages -U --user "$user" | egrep -w "$name2" | awk -F'uid:' '{print $2}' | awk '{print $1}' | head -n 1)" + if [[ $G = "" ]]; then + if [[ $(get_uid "$name2" 2>/dev/null) != "" ]]; then + G="$(get_uid "$name2" 2>/dev/null)" + else + G="$(dumpsys package "$name2" 2>/dev/null | awk -F'uid=' '{print $2}' | egrep -o '[0-9]+' | head -n 1)" + [[ $(echo "$G" | egrep -o '[0-9]+') = "" ]] && G="$(pm list packages -U --user "$user" | egrep -w "$name2" | awk -F'uid:' '{print $2}' | awk '{print $1}' | head -n 1)" + fi fi G="$(echo "$G" | egrep -o '[0-9]+')" if [[ $G != "" ]]; then if [[ -d $X ]]; then - [[ $user = 0 ]] && uid="$G:$G" || uid="$user$G:$user$G" + case ${#G} in + 5) + if [[ $user = 0 ]]; then + uid="$G:$G" + else + uid="$user$G:$user$G" + fi ;; + 6|7|8|9|10) + uid="$G:$G" ;; + esac if [[ $FILE_NAME2 = user ]]; then echoRgb "路徑:$X" chown -hR "$uid" "$X/" @@ -1132,7 +1189,7 @@ Release_data() { ;; *) echoRgb "$FILE_NAME 壓縮包不支持解壓縮" "0" - Set_back + Set_back_1 ;; esac rm -rf "$TMPDIR"/* @@ -1146,7 +1203,7 @@ installapk() { tar) tar --checkpoint-action="ttyout=%T\r" -xmpf "$apkfile" -C "$TMPDIR" ;; *) echoRgb "${apkfile##*/} 壓縮包不支持解壓縮" "0" - Set_back + Set_back_1 ;; esac echo_log "${apkfile##*/}解壓縮" && [[ -f $Backup_folder/nmsl.apk ]] && cp -r "$Backup_folder/nmsl.apk" "$TMPDIR" @@ -1217,7 +1274,7 @@ get_name(){ tar) tar -xmpf "$REPLY" -C "$TMPDIR" --wildcards --no-anchored 'base.apk' ;; *) echoRgb "${REPLY##*/} 壓縮包不支持解壓縮" "0" - Set_back + Set_back_1 ;; esac echo_log "${REPLY##*/}解壓縮" @@ -1314,6 +1371,12 @@ Set_screen_pause_seconds () { fi fi } +restore_permissions () { + echoRgb "恢復權限" + appops reset --user "$user" "$name2" &>/dev/null + [[ $(echo "$Permissions" | grep "true$") != "" ]] && Set_true_Permissions "$name2" "$(echo "$Permissions" | grep "true$" | sed 's/ true$//' | xargs)" &>/dev/null + [[ $(echo "$Permissions" | grep "false$") != "" ]] && Set_false_Permissions "$name2" "$(echo "$Permissions" | grep "false$" | sed 's/ false$//' | xargs)" &>/dev/null +} case $operate in backup) kill_Serve @@ -1380,9 +1443,9 @@ backup) echoRgb "配置詳細:\n -壓縮方式:$Compression_method\n -音量鍵確認:$Lo\n -更新:$update\n -已卸載應用檢查:$delete_folder\n -卸載應用默認操作(true刪除false移動):$default_behavior\n -默認使用usb:$USBdefault\n -備份外部數據:$Backup_obb_data\n -備份user數據:$Backup_user_data\n -自定義目錄備份:$backup_media\n -黑名單模式:$blacklist_mode" D="1" C="$(sed -e '/^$/d' "$txt" 2>/dev/null | sed -n '$=')" - [[ $user = 0 ]] && Apk_info="$(appinfo -sort-i -o pn -pn $system -3 | egrep -v 'ice.message|com.topjohnwu.magisk' | sort -u)" || Apk_info="$(appinfo -sort-i -o pn -pn $system $(pm list packages -3 --user "$user" | cut -f2 -d ':') | egrep -v 'ice.message|com.topjohnwu.magisk' | sort -u)" + [[ $user = 0 ]] && Apk_info="$(appinfo -sort-i -o pn -pn $system -3 2>/dev/null | egrep -v 'ice.message|com.topjohnwu.magisk' | sort -u)" || Apk_info="$(appinfo -sort-i -o pn -pn $system $(pm list packages -3 --user "$user" | cut -f2 -d ':') 2>/dev/null | egrep -v 'ice.message|com.topjohnwu.magisk' | sort -u)" [[ $Apk_info = "" ]] && echoRgb "appinfo輸出失敗" "0" && exit 2 - if [[ -d $Backup ]]; then + if [[ -d $Backup && $backup_mode = "" ]]; then if [[ $delete_folder = true ]]; then find "$Backup" -maxdepth 1 -type d 2>/dev/null | sort | while read; do if [[ -f $REPLY/app_details ]]; then @@ -1404,7 +1467,7 @@ backup) [[ ! -f $Backup/被卸載的應用/轉換資料夾名稱.sh ]] && touch_shell "convert" "$Backup/被卸載的應用/轉換資料夾名稱.sh" [[ ! -f $Backup/被卸載的應用/壓縮檔完整性檢查.sh ]] && touch_shell "check_file" "$Backup/被卸載的應用/壓縮檔完整性檢查.sh" [[ ! -f $Backup/被卸載的應用/終止腳本.sh ]] && cp -r "$MODDIR/終止腳本.sh" "$Backup/被卸載的應用/終止腳本.sh" - [[ ! -f $Backup/被卸載的應用/backup_settings.conf ]] && echo "#1開啟0關閉\n\n#是否在每次執行恢復腳本時使用音量鍵詢問如下需求\n#如果是那下面兩項項設置就被忽略,改為音量鍵選擇\nLo=$Lo\n\n#腳本檢測更新後進行更新?\nupdate=$update\n\n#主色\nrgb_a=$rgb_a\n#輔色\nrgb_b=$rgb_b\nrgb_c=$rgb_c">"$Backup/backup_settings.conf" && echo "$(sed 's/true/1/g ; s/false/0/g' "$Backup/backup_settings.conf")">"$Backup/被卸載的應用/backup_settings.conf" && echo "$(sed 's/true/1/g ; s/false/0/g' "$Backup/backup_settings.conf")">"$Backup/被卸載的應用/backup_settings.conf" + [[ ! -f $Backup/被卸載的應用/restore_settings.conf ]] && update_Restore_settings_conf>"$Backup/被卸載的應用/restore_settings.conf" txt2="$Backup/被卸載的應用/appList.txt" [[ ! -f $txt2 ]] && echo "#不需要恢復還原的應用請在開頭注釋# 比如#xxxxxxxx 酷安">"$txt2" echo "${REPLY##*/} $PackageName">>"$txt2" @@ -1416,6 +1479,7 @@ backup) done fi fi + [[ $backup_mode = "" ]] && { echoRgb "檢查備份列表中是否存在已經卸載應用" "3" while [[ $D -le $C ]]; do name1="$(sed -e '/^$/d' "$txt" 2>/dev/null | sed -n "${D}p" | awk '{print $1}')" @@ -1435,10 +1499,11 @@ backup) let D++ fi done + } [[ $Tmplist != "" ]] && echo "$Tmplist" | sed -e '/^$/d' | sort>"$txt" r="$(grep -v "#" "$txt" 2>/dev/null | sed -e '/^$/d' | sed -n '$=')" [[ $backup_mode != "" ]] && r=1 - [[ $r = "" ]] && echoRgb "$MODDIR_NAME/appList.txt是空的或是包名被注釋備份個鬼\n -檢查是否注釋亦或者執行$MODDIR_NAME/生成應用列表.sh" "0" && exit 1 + [[ $r = "" && $backup_mode = "" ]] && echoRgb "$MODDIR_NAME/appList.txt是空的或是包名被注釋備份個鬼\n -檢查是否注釋亦或者執行$MODDIR_NAME/生成應用列表.sh" "0" && exit 1 [[ $Backup_user_data = false ]] && echoRgb "當前$MODDIR_NAME/backup_settings.conf的\n -Backup_user_data=0將不備份user數據" "0" [[ $Backup_obb_data = false ]] && echoRgb "當前$MODDIR_NAME/backup_settings.conf的\n -Backup_obb_data=0將不備份外部數據" "0" [[ $backup_media = false ]] && echoRgb "當前$MODDIR_NAME/backup_settings.conf的\n -backup_media=0將不備份自定義資料夾" "0" @@ -1452,7 +1517,7 @@ backup) [[ ! -f $Backup/壓縮檔完整性檢查.sh ]] && touch_shell "check_file" "$Backup/壓縮檔完整性檢查.sh" [[ ! -d $Backup/modules ]] && mkdir -p "$Backup/modules" && echoRgb "$Backup/modules已創建成功\n -請按需要自行放置需要恢復時刷入的模塊在內將自動批量刷入" "1" [[ -d $Backup/Media ]] && touch_shell "Restore3" "$Backup/恢復自定義資料夾.sh" - [[ ! -f $Backup/backup_settings.conf ]] && echo "#1開啟0關閉\n\n#是否在每次執行恢復腳本時使用音量鍵詢問如下需求\n#如果是那下面兩項項設置就被忽略,改為音量鍵選擇\nLo=$Lo\n\n#使用者\nuser=\n\n#腳本檢測更新後進行更新?\nupdate=$update\n\n#主色\nrgb_a=$rgb_a\n#輔色\nrgb_b=$rgb_b\nrgb_c=$rgb_c">"$Backup/backup_settings.conf" && echo "$(sed 's/true/1/g ; s/false/0/g' "$Backup/backup_settings.conf")">"$Backup/backup_settings.conf" + [[ ! -f $Backup/restore_settings.conf ]] && update_Restore_settings_conf>"$Backup/restore_settings.conf" if [[ -d $Backup/tools ]]; then find "$Backup/tools" -maxdepth 1 -type f | while read; do Tools_FILE_NAME="${REPLY##*/}" @@ -1479,8 +1544,6 @@ backup) #獲取預設鍵盤 keyboard="$(settings get secure default_input_method 2>/dev/null)" Set_screen_pause_seconds on - #假裝息屏 - #Operation_screen off [[ $(grep -v "#" "$txt" 2>/dev/null | sed -e '/^$/d' | awk '{print $2}' | grep -w "^${keyboard%/*}$") != ${keyboard%/*} ]] && unset keyboard { while [[ $i -le $r ]]; do @@ -1500,7 +1563,7 @@ backup) if [[ -d $apk_path2 ]]; then echoRgb "備份第$i/$r個應用 剩下$((r - i))個" "3" echoRgb "備份 $name1 \"$name2\"" "2" - unset Backup_folder ChineseName PackageName nobackup No_backupdata result apk_version versionName apk_version2 apk_version3 zsize zmediapath Size data_path userSize dataSize obbSize Ssaid + unset Backup_folder ChineseName PackageName nobackup No_backupdata result apk_version versionName apk_version2 apk_version3 zsize zmediapath Size data_path userSize dataSize obbSize Ssaid Permissions if [[ $name1 = !* || $name1 = !* ]]; then name1="$(echo "$name1" | sed 's/!//g ; s/!//g')" echoRgb "跳過備份所有數據" "0" @@ -1512,13 +1575,17 @@ backup) fi Backup_folder="$Backup/$name1" app_details="$Backup_folder/app_details" + app_Permissions="$Backup_folder/Permissions" if [[ -f $app_details ]]; then . "$app_details" &>/dev/null + [[ -f $app_Permissions ]] && . "$app_Permissions" if [[ $PackageName != $name2 ]]; then - unset Backup_folder ChineseName PackageName nobackup No_backupdata result apk_version versionName apk_version2 apk_version3 zsize zmediapath Size data_path userSize dataSize obbSize Ssaid + unset Backup_folder ChineseName PackageName nobackup No_backupdata result apk_version versionName apk_version2 apk_version3 zsize zmediapath Size data_path userSize dataSize obbSize Ssaid Permissions Backup_folder="$Backup/${name1}[${name2}]" app_details="$Backup_folder/app_details" + app_Permissions="$Backup_folder/Permissions" [[ -f $app_details ]] && . "$app_details" &>/dev/null + [[ -f $app_Permissions ]] && . "$app_Permissions" fi fi [[ $hx = USB && $PT = "" ]] && echoRgb "隨身碟意外斷開 請檢查穩定性" "0" && exit 1 @@ -1548,7 +1615,6 @@ backup) [[ ! -f $Backup_folder/recover.sh ]] && touch_shell "Restore2" "$Backup_folder/recover.sh" [[ ! -f $Backup_folder/backup.sh ]] && touch_shell "backup" "$Backup_folder/backup.sh" "backup_mode" "backup_mode=\"1\"" endtime 2 "$name1 備份" "3" - Occupation_status="$(df -h "${Backup%/*}" | sed -n 's|% /.*|%|p' | awk '{print $(NF-1),$(NF)}')" lxj="$(echo "$Occupation_status" | awk '{print $3}' | sed 's/%//g')" echoRgb "完成$((i * 100 / r))% $hx$(echo "$Occupation_status" | awk 'END{print "剩餘:"$1"使用率:"$2}')" "3" rgb_d="$rgb_a" @@ -1578,7 +1644,7 @@ backup) fi [[ $update_apk2 = "" ]] && update_apk2="暫無更新" [[ $add_app2 = "" ]] && add_app2="暫無更新" - echoRgb "\n -已更新的apk=\"$osn\"\n -已新增的備份=\"$osk\"\n -apk版本號無變化=\"$osj\"\n -下列為版本號已變更的應用\n$update_apk2\n -新增的備份....\n$add_app2" "3" + echoRgb "\n -已更新的apk=\"$osn\"\n -已新增的備份=\"$osk\"\n -apk版本號無變化=\"$osj\"\n -下列為版本號已變更的應用\n$update_apk2\n -新增的備份....\n$add_app2\n -包含SSAID的應用\n$SSAID_apk2" "3" echo "$(sort "$txt2" | sed -e '/^$/d')" >"$txt2" if [[ $backup_media = true && $backup_mode = "" ]]; then A=1 @@ -1616,22 +1682,29 @@ backup) #打開應用 i=1 am_start="$(echo "$am_start" | xargs | sed 's/ /\n/g')" - while [[ $i -le $r ]]; do - unset pkg name1 - pkg="$(grep -v "#" "$txt" 2>/dev/null | sed -e '/^$/d' | sed -n "${i}p" | awk '{print $2}')" - name1="$(grep -v "#" "$txt" 2>/dev/null | sed -e '/^$/d' | sed -n "${i}p" | awk '{print $1}')" - if [[ $(echo "$am_start" | egrep -wo "$pkg") = $pkg ]]; then - am start -n "$(appinfo -o sa -pn "$pkg" 2>/dev/null)" &>/dev/null - echo_log "啟動$name1" - fi - let i++ - done + if [[ $backup_mode = "" ]]; then + while [[ $i -le $r ]]; do + unset pkg name1 + pkg="$(grep -v "#" "$txt" 2>/dev/null | sed -e '/^$/d' | sed -n "${i}p" | awk '{print $2}')" + name1="$(grep -v "#" "$txt" 2>/dev/null | sed -e '/^$/d' | sed -n "${i}p" | awk '{print $1}')" + if [[ $(echo "$am_start" | egrep -wo "$pkg") = $pkg ]]; then + am start -n "$(appinfo -o sa -pn "$pkg" 2>/dev/null)" &>/dev/null + echo_log "啟動$name1" + fi + let i++ + done + else + if [[ $(echo "$am_start" | egrep -wo "$PackageName") = $PackageName ]]; then + am start -n "$(appinfo -o sa -pn "$PackageName" 2>/dev/null)" &>/dev/null + echo_log "啟動$name1" + fi + fi Set_screen_pause_seconds off - #Operation_screen on restore_freeze rm -rf "$TMPDIR/scriptTMP" Calculate_size "$Backup" echoRgb "批量備份完成" + echoRgb "備份結束時間$(date +"%Y-%m-%d %H:%M:%S")" starttime1="$TIME" endtime 1 "批量備份開始到結束" } & @@ -1711,10 +1784,12 @@ Restore|Restore2) r=1 Backup_folder="$MODDIR" app_details="$Backup_folder/app_details" + app_Permissions="$Backup_folder/Permissions" if [[ ! -f $app_details ]]; then echoRgb "$app_details遺失,無法獲取包名" "0" && exit 1 else . "$app_details" &>/dev/null + [[ -f $app_Permissions ]] && . "$app_Permissions" &>/dev/null fi name1="$ChineseName" [[ $name1 = "" ]] && name1="${Backup_folder##*/}" @@ -1737,7 +1812,7 @@ Restore|Restore2) echoRgb "恢復第$i/$r個應用 剩下$((r - i))個" "3" name1="$(grep -v "#" "$txt" 2>/dev/null | sed -e '/^$/d' | sed -n "${i}p" | awk '{print $1}')" name2="$(grep -v "#" "$txt" 2>/dev/null | sed -e '/^$/d' | sed -n "${i}p" | awk '{print $2}')" - unset No_backupdata apk_version + unset No_backupdata apk_version Permissions if [[ $name1 = *! || $name1 = *! ]]; then name1="$(echo "$name1" | sed 's/!//g ; s/!//g')" echoRgb "跳過恢復$name1 所有數據" "0" @@ -1745,6 +1820,8 @@ Restore|Restore2) fi Backup_folder="$MODDIR/$name1" [[ -f "$Backup_folder/app_details" ]] && app_details="$Backup_folder/app_details" . "$Backup_folder/app_details" &>/dev/null + app_Permissions="$Backup_folder/Permissions" + [[ -f $app_Permissions ]] && . "$app_Permissions" &>/dev/null [[ $name2 = "" ]] && echoRgb "應用包名獲取失敗" "0" && exit 1 fi if [[ -d $Backup_folder ]]; then @@ -1753,16 +1830,7 @@ Restore|Restore2) if [[ $(pm path --user "$user" "$name2" 2>/dev/null) = "" ]]; then installapk else - if [[ $apk_version -gt $(pm list packages --show-versioncode --user "$user" "$name2" 2>/dev/null | cut -f3 -d ':' | head -n 1) ]]; then - installapk - [[ $? = 0 ]] && echoRgb "版本提升$(pm list packages --show-versioncode --user "$user" "$name2" 2>/dev/null | cut -f3 -d ':' | head -n 1)>$apk_version" "1" - elif [[ $apk_version -lt $(pm list packages --show-versioncode --user "$user" "$name2" 2>/dev/null | cut -f3 -d ':' | head -n 1) ]]; then - pm uninstall --user "$user" -k "$name2" &>/dev/null - if [[ $? = 0 ]]; then - installapk - echoRgb "版本降低$(pm list packages --show-versioncode --user "$user" "$name2" 2>/dev/null | cut -f3 -d ':' | head -n 1)>$apk_version" "1" - fi - fi + [[ $apk_version -gt $(pm list packages --show-versioncode --user "$user" "$name2" 2>/dev/null | cut -f3 -d ':' | head -n 1) ]] && installapk && [[ $? = 0 ]] && echoRgb "版本提升$(pm list packages --show-versioncode --user "$user" "$name2" 2>/dev/null | cut -f3 -d ':' | head -n 1)>$apk_version" "1" fi if [[ $(pm path --user "$user" "$name2" 2>/dev/null) != "" ]]; then if [[ $No_backupdata = "" ]]; then @@ -1770,10 +1838,13 @@ Restore|Restore2) find "$Backup_folder" -maxdepth 1 ! -name "apk.*" -name "*.tar*" -type f 2>/dev/null | sort | while read; do Release_data "$REPLY" done + unset G + Set_service + restore_permissions if [[ $Ssaid != "" ]]; then - if [[ $(getssaid get "$user" "$name2") != $Ssaid ]]; then - getssaid set "$user" "$name2" "$Ssaid" - if [[ $(getssaid get "$user" "$name2") = $Ssaid ]]; then + if [[ $(get_ssaid "$name2") != $Ssaid ]]; then + set_ssaid "$name2" "$Ssaid" + if [[ $(get_ssaid "$name2") = $Ssaid ]]; then echoRgb "SSAID恢復成功" "1" SSAID_Package="$(echo "$name1 \"$name2\"")" SSAID_Package2="$(echo "$SSAID_Package\n$SSAID_Package2")" @@ -1785,7 +1856,6 @@ Restore|Restore2) fi unset Ssaid fi - Set_service fi else [[ $No_backupdata = "" ]]&& echoRgb "$name1沒有安裝無法恢復數據" "0" @@ -1908,7 +1978,7 @@ Getlist) starttime1="$(date -u "+%s")" echoRgb "提示! 腳本會屏蔽預裝應用" "0" xposed_name="$(appinfo -o pn -xm)" - Apk_info="$(appinfo -sort-i -d " " -o addXpTag:'Xposed: ',anwb,pn -pn $system -3 | egrep -v 'ice.message|com.topjohnwu.magisk' | sort -u)" + Apk_info="$(appinfo -sort-i -d " " -o addXpTag:'Xposed: ',anwb,pn -pn $system -3 2>/dev/null | egrep -v 'ice.message|com.topjohnwu.magisk' | sort -u)" [[ $Apk_info = "" ]] && { echoRgb "appinfo輸出失敗,請截圖畫面回報作者" "0" appinfo -sort-i -d " " -o addXpTag:'Xposed: ',anwb,pn -pn $system -3 | egrep -v 'ice.message|com.topjohnwu.magisk' | sort -u @@ -1982,7 +2052,7 @@ Getlist) echo "$REPLY2">>"$nametxt" if [[ $(cat "$nametxt" | wc -l | awk '{print $1-2}') -lt $i ]]; then rm -rf "$nametxt" - echoRgb "\n -輸出異常 請將$MODDIR_NAME/backup_settings.conf中的debug_list=\"0\"改為1或是重新執行本腳本" "0" + echoRgb "\n -輸出異常 請將$conf_path中的debug_list=\"0\"改為1或是重新執行本腳本" "0" exit fi [[ $tmp != "" ]] && echoRgb "\n -第三方apk數量=\"$Apk_Quantity\"\n -已過濾=\"$rc\"\n -xposed=\"$rd\"\n -存在列表中=\"$Q\"\n -輸出=\"$i\"" @@ -2030,7 +2100,7 @@ backup_media) [[ ! -f $Backup/轉換資料夾名稱.sh ]] && touch_shell "convert" "$Backup/轉換資料夾名稱.sh" [[ ! -f $Backup/壓縮檔完整性檢查.sh ]] && touch_shell "check_file" "$Backup/壓縮檔完整性檢查.sh" [[ ! -d $Backup/tools ]] && cp -r "$tools_path" "$Backup" - [[ ! -f $Backup/backup_settings.conf ]] && echo "#1開啟0關閉\n\n#是否在每次執行恢復腳本時使用音量鍵詢問如下需求\n#如果是那下面兩項項設置就被忽略,改為音量鍵選擇\nLo=$Lo\n\n#使用者\nuser=\n\n#腳本檢測更新後進行更新?\nupdate=$update\n\n#主色\nrgb_a=$rgb_a\n#輔色\nrgb_b=$rgb_b\nrgb_c=$rgb_c">"$Backup/backup_settings.conf" && echo "$(sed 's/true/1/g ; s/false/0/g' "$Backup/backup_settings.conf")">"$Backup/backup_settings.conf" + [[ ! -f $Backup/restore_settings.conf ]] && update_Restore_settings_conf>"$Backup/restore_settings.conf" app_details="$Backup_folder/app_details" filesize="$(du -s "$Backup_folder" | awk '{print $1}')" [[ -f $app_details ]] && . "$app_details" &>/dev/null || touch "$app_details" diff --git a/備份應用.sh b/備份應用.sh index 33ab944..89401cd 100644 --- a/備份應用.sh +++ b/備份應用.sh @@ -1,3 +1,4 @@ +[ "$(echo "${0%/*}" | grep -o 'bin.mt.plus/temp')" != "" ] && echo "你媽沒告訴你腳本要解壓縮嗎?傻逼玩兒" && exit 2 if [ -f "${0%/*}/tools/tools.sh" ]; then MODDIR="${0%/*}" operate="backup" diff --git a/備份自定義資料夾.sh b/備份自定義資料夾.sh index 4d0d0e5..286890d 100644 --- a/備份自定義資料夾.sh +++ b/備份自定義資料夾.sh @@ -1,3 +1,4 @@ +[ "$(echo "${0%/*}" | grep -o 'bin.mt.plus/temp')" != "" ] && echo "你媽沒告訴你腳本要解壓縮嗎?傻逼玩兒" && exit 2 if [ -f "${0%/*}/tools/tools.sh" ]; then MODDIR="${0%/*}" operate="backup_media" diff --git a/生成應用列表.sh b/生成應用列表.sh index 774b2aa..d044cb1 100644 --- a/生成應用列表.sh +++ b/生成應用列表.sh @@ -1,3 +1,4 @@ +[ "$(echo "${0%/*}" | grep -o 'bin.mt.plus/temp')" != "" ] && echo "你媽沒告訴你腳本要解壓縮嗎?傻逼玩兒" && exit 2 if [ -f "${0%/*}/tools/tools.sh" ]; then MODDIR="${0%/*}" operate="Getlist"