bug fix
This commit is contained in:
158
tools/bin/bin.sh
Normal file
158
tools/bin/bin.sh
Normal file
@@ -0,0 +1,158 @@
|
|||||||
|
test "$(whoami)" != root && echo "你是憨批?不給Root用你媽 爬" && exit 1
|
||||||
|
abi="$(getprop ro.product.cpu.abi)"
|
||||||
|
case $abi in
|
||||||
|
arm64*)
|
||||||
|
[[ $(getprop ro.build.version.sdk) -lt 28 ]] && echo "設備Android $(getprop ro.build.version.release)版本過低 請升級至Android 9+" && exit 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "-未知的架構: $abi"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
#if [[ -d /data/user/0/com.tencent.mobileqq/files/aladdin_configs/964103426 ]]; then
|
||||||
|
# echo "爬 不給你用臭批阿巴" && exit 2
|
||||||
|
#fi
|
||||||
|
PATH="/sbin/.magisk/busybox:/system_ext/bin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin:/data/data/Han.GJZS/files/usr/busybox:/data/data/Han.GJZS/files/usr/bin:/data/data/com.omarea.vtools/files/toolkit:/data/user/0/com.termux/files/usr/bin"
|
||||||
|
if [[ -d $(magisk --path 2>/dev/null) ]]; then
|
||||||
|
PATH="$(magisk --path)/.magisk/busybox:$PATH"
|
||||||
|
else
|
||||||
|
echo "Magisk busybox Path does not exist"
|
||||||
|
fi ; export PATH="$PATH"
|
||||||
|
backup_version="V10.6 2021/10/22-20:59"
|
||||||
|
#設置二進制命令目錄位置
|
||||||
|
[[ $bin_path = "" ]] && echo "未正確指定bin.sh位置" && exit 2
|
||||||
|
bin_path="${bin_path/'/storage/emulated/'/'/data/media/'}"
|
||||||
|
MODDIR="${MODDIR/'/storage/emulated/'/'/data/media/'}"
|
||||||
|
Status_log="$MODDIR/執行狀態日誌.txt"
|
||||||
|
rm -rf "$Status_log"
|
||||||
|
filepath="/data/backup_tools"
|
||||||
|
busybox="$filepath/busybox"
|
||||||
|
busybox2="$bin_path/busybox"
|
||||||
|
#排除自身
|
||||||
|
exclude="
|
||||||
|
busybox_path
|
||||||
|
bin.sh"
|
||||||
|
if [[ ! -d $filepath ]]; then
|
||||||
|
mkdir -p "$filepath"
|
||||||
|
[[ $? = 0 ]] && echo "設置busybox環境中"
|
||||||
|
fi
|
||||||
|
[[ ! -f $bin_path/busybox_path ]] && touch "$bin_path/busybox_path"
|
||||||
|
if [[ $filepath != $(cat "$bin_path/busybox_path") ]]; then
|
||||||
|
[[ -d $(cat "$bin_path/busybox_path") ]] && rm -rf "$(cat "$bin_path/busybox_path")"
|
||||||
|
echo "$filepath">"$bin_path/busybox_path"
|
||||||
|
fi
|
||||||
|
#刪除無效軟連結
|
||||||
|
find -L "$filepath" -maxdepth 1 -type l -exec rm -rf {} \;
|
||||||
|
if [[ -d $bin_path ]]; then
|
||||||
|
if [[ -f $busybox && -f $busybox2 ]]; then
|
||||||
|
filemd5="$(md5sum "$busybox" | cut -d" " -f1)"
|
||||||
|
filemd5_1="$(md5sum "$busybox2" | cut -d" " -f1)"
|
||||||
|
if [[ $filemd5 != $filemd5_1 ]]; then
|
||||||
|
echo "busybox md5不一致 重新創立環境中"
|
||||||
|
rm -rf "$filepath"/*
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
find "$bin_path" -maxdepth 1 -type f | egrep -v "$(echo $exclude | sed 's/ /\|/g')" | while read; do
|
||||||
|
File_name="${REPLY##*/}"
|
||||||
|
if [[ ! -f $filepath/$File_name ]]; then
|
||||||
|
cp -r "$REPLY" "$filepath"
|
||||||
|
chmod 0777 "$filepath/$File_name"
|
||||||
|
echo "$File_name > $filepath/$File_name"
|
||||||
|
else
|
||||||
|
filemd5="$(md5sum "$filepath/$File_name" | cut -d" " -f1)"
|
||||||
|
filemd5_1="$(md5sum "$bin_path/$File_name" | cut -d" " -f1)"
|
||||||
|
if [[ $filemd5 != $filemd5_1 ]]; then
|
||||||
|
echo "$File_name md5不一致 重新創建"
|
||||||
|
cp -r "$REPLY" "$filepath"
|
||||||
|
chmod 0777 "$filepath/$File_name"
|
||||||
|
echo "$File_name > $filepath/$File_name"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ -f $busybox ]]; then
|
||||||
|
"$busybox" --list | while read; do
|
||||||
|
if [[ $REPLY != tar && ! -f $filepath/$REPLY ]]; then
|
||||||
|
ln -fs "$busybox" "$filepath/$REPLY"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "遺失$bin_path"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
export PATH="$filepath:$PATH"
|
||||||
|
export TZ=Asia/Taipei
|
||||||
|
TMPDIR="/data/local/tmp"
|
||||||
|
if [[ $(which busybox) = "" ]]; then
|
||||||
|
echo "環境變量中沒有找到busybox 請在tools/bin內添加一個\narm64可用的busybox\n或是安裝搞機助手 scene或是Magisk busybox模塊...."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
Open_apps="$(dumpsys window | grep -w mCurrentFocus | egrep -oh "[^ ]*/[^//}]+" | cut -f 1 -d "/")"
|
||||||
|
#下列為自定義函數
|
||||||
|
Set_back() {
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
endtime() {
|
||||||
|
#計算總體切換時長耗費
|
||||||
|
case $1 in
|
||||||
|
1) starttime="$starttime1" ;;
|
||||||
|
2) starttime="$starttime2" ;;
|
||||||
|
esac
|
||||||
|
endtime="$(date -u "+%s")"
|
||||||
|
duration="$(echo $((endtime - starttime)) | awk '{t=split("60 秒 60 分 24 時 999 天",a);for(n=1;n<t;n+=2){if($1==0)break;s=$1%a[n]a[n+1]s;$1=int($1/a[n])}print s}')"
|
||||||
|
[[ $duration != "" ]] && echoRgb "$2用時:$duration" || echoRgb "$2用時:0秒"
|
||||||
|
}
|
||||||
|
Print() {
|
||||||
|
notify "1" "backup-$(date '+%T')" "$1" bs
|
||||||
|
}
|
||||||
|
echoRgb() {
|
||||||
|
#轉換echo顏色提高可讀性
|
||||||
|
if [[ $2 = 0 ]]; then
|
||||||
|
echo -e "\e[38;5;196m -$1\e[0m"
|
||||||
|
elif [[ $2 = 1 ]]; then
|
||||||
|
echo -e "\e[38;5;82m -$1\e[0m"
|
||||||
|
elif [[ $2 = 2 ]]; then
|
||||||
|
echo -e "\e[38;5;87m -$1\e[0m"
|
||||||
|
else
|
||||||
|
echo -e "\e[38;5;${bn}m -$1\e[0m"
|
||||||
|
fi
|
||||||
|
echo " -$(date '+%T') $1">>"$Status_log"
|
||||||
|
}
|
||||||
|
get_version() {
|
||||||
|
while :; do
|
||||||
|
version="$(getevent -qlc 1 | awk '{ print $3 }')"
|
||||||
|
case $version in
|
||||||
|
KEY_VOLUMEUP)
|
||||||
|
branch=true
|
||||||
|
echoRgb "$1"
|
||||||
|
;;
|
||||||
|
KEY_VOLUMEDOWN)
|
||||||
|
branch=false
|
||||||
|
echoRgb "$2"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
continue
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
sleep 1.2
|
||||||
|
break
|
||||||
|
done
|
||||||
|
}
|
||||||
|
isBoolean() {
|
||||||
|
nsx="$1"
|
||||||
|
if [[ $1 = 1 ]];then
|
||||||
|
nsx=true
|
||||||
|
elif [[ $1 = 0 ]];then
|
||||||
|
nsx=false
|
||||||
|
else
|
||||||
|
echoRgb "$MODDIR/backup_settings.conf $1填寫錯誤" "0" && exit 2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
bn=147
|
||||||
|
echoRgb "\n --------------歡迎使用⚡️🤟🐂纸備份--------------\n -當前腳本執行路徑:$MODDIR\n -busybox路徑:$(which busybox)\n -busybox版本:$(busybox | head -1 | awk '{print $2}')\n -appinfo版本:$(appinfo --version)\n -腳本版本:$backup_version\n -設備架構$abi\n -品牌:$(getprop ro.product.brand)\n -設備代號:$(getprop ro.product.device)\n -型號:$(getprop ro.product.model)\n -Android版本:$(getprop ro.build.version.release)\n -SDK:$(getprop ro.build.version.sdk)\n -終端:$(appinfo -o ands -pn "$Open_apps" 2>/dev/null)"
|
||||||
|
bn=195
|
||||||
|
if [[ $(pm path ice.message) = "" ]]; then
|
||||||
|
echoRgb "未安裝toast 開始安裝" "0"
|
||||||
|
cp -r "${bin_path%/*}/apk"/*.apk "$TMPDIR" && pm install --user 0 -r "$TMPDIR"/*.apk &>/dev/null && rm -rf "$TMPDIR"/*
|
||||||
|
[[ $? = 0 ]] && echoRgb "安裝toast成功" "1" || echoRgb "安裝toast失敗" "0"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user