universal-android-debloater/debloat_script.sh
2019-03-30 19:39:12 +01:00

127 lines
3.1 KiB
Bash
Executable file

#!/bin/bash
source debloat_lists.sh
RED='\033[0;31m'
NC='\033[0m' # No Color
bold=$(tput bold)
normal=$(tput sgr0)
function debloat {
name=$1[@]
bloat=("${!name}")
for i in "${bloat[@]}"; do
adb shell "
printf '${RED}$i${NC} --> '
pm uninstall --user 0 $i
"
done
}
function list {
printf "\n${RED}Rechercher des paquets : ${NC}"
read -r package
printf "\n"
adb shell "
pm list packages | grep $package
"
}
function remove {
printf "\n${RED}Nom du paquet à désinstaller : ${NC}"
read -r nom_paquet
adb shell "
pm uninstall --user 0 $nom_paquet
"
}
function install {
printf "\n${RED}Nom du paquet à installer : ${NC}"
read -r nom_paquet
adb shell "
cmd package install-existing $nom_paquet
"
}
function restore {
printf"Réstauration d'une sauvegarde\n"
adb shell "restore backup.ab"
}
function check_backup {
set -o pipefail
for a in *.adb; do
echo "Vérification de la sauvegarde ($a)";
dd if="$a" bs=24 skip=1 | zlib-flate -uncompress | tar tf - >/dev/null;
if [ $? = 0 ]; then
printf "${RED}${bold}La sauvegarde généré est intègre${normal}${NC}\n"
else printf "${RED}${bold}La sauvegarde généré est corrompue ! ${normal}${NC}\n"
fi
done
}
clear
printf "\n ================================================\n"
printf " # #\n"
printf " # SCRIPT ----- DEBLOAT #\n"
printf " # ALL DEVICES COMPATIBLE (WIP) #\n"
printf " # #\n"
printf " # ${RED}${bold}VERSION DE TEST : V 0.9${normal}${NC} #\n"
printf " # #\n"
printf " ================================================\n"
sleep 1
echo
adb devices
printf "${RED}${bold}Voulez vous faire une sauvegarde du téléphone (recommandé) ? ${normal}${NC}\n"
read -p "YES / NO : "
if [[ $REPLY =~ [Yy]*[Ee]*[Ss]* ]]; then
echo
adb backup -apk -all -system -f "${PHONE:-phone}-`date +%Y%m%d-%H%M%S`.adb" # -noshare option is default
check_backup;
else printf "${RED}${bold}Pas de sauvegarde${normal}${NC}\n"
fi
# marque=$(adb shell getprop | grep manufacturer)
printf "\n${bold}======= MENU PRINCIPAL ======= ${normal}\n"
while true; do
printf "\n1 - Lister des paquets\n"
printf "2 - Désinstaller un paquet\n"
printf "3 - Réinstaller un paquet\n"
printf "4 - Debloat Google\n"
printf "5 - Debloat Samsung\n"
printf "6 - Debloat T-Mobile\n"
printf "7 - Debloat Amazon\n"
printf "8 - Debloat Facebook\n"
printf "9 - Debloat Microsoft\n"
printf "10 - Debloat Autres\n"
printf "11 - Debloat Huawei\n"
printf "12 - Debloat Android\n"
printf "13 - Debloat Xiaomi\n"
printf "exit - Quitter\n\n"
read -p "${bold}Choisissez une action : ${normal}" action
echo
case $action in
1) list ;;
2) remove ;;
3) install ;;
4) debloat google_bloat ;;
5) debloat samsung_bloat ;;
6) debloat T_Mobile_bloat ;;
7) debloat amazon_bloat ;;
8) debloat facebook_bloat ;;
9) debloat microsoft_bloat ;;
10) debloat misc_bloat ;;
11) debloat huawei_bloat;;
12) debloat generic_bloat ;;
13) debloat xiaomi_bloat ;;
"exit") break ;;
esac
done