You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NanoDroid/SetupWizard/nanodroid-setup

293 lines
8.9 KiB
Bash

#!/sbin/sh
OUTFD=2
CONF_BACKUP="/data/media/0/nanodroid_backups/config_$(date +%Y%m%d-%H.%M.%S)"
VERSION=22.8.20200901
ui_print() {
echo -n -e "ui_print $1\n" >> /proc/self/fd/$OUTFD
echo -n -e "ui_print\n" >> /proc/self/fd/$OUTFD
}
is_mounted() {
if [ ! -z "$2" ]; then
cat /proc/mounts | grep $1 | grep $2, >/dev/null
else
cat /proc/mounts | grep $1 >/dev/null
fi
return $?
}
setup_add () {
if grep -q "item.1.${1}=1" "${setup_prop}"; then
ui_print " <>> enable property: ${2}"
echo "${2}=1" >> "${nanodroid_setup}"
else
ui_print " <>> disable property: ${2}"
echo "${2}=0" >> "${nanodroid_setup}"
fi
}
apps_add () {
if grep -q "item.1.${1}=1" "${apps_prop}"; then
ui_print " <>> mark for installation: ${2}"
echo "${2}" >> "${nanodroid_apps}"
fi
}
overlay_add () {
if grep -q "item.1.${1}=1" "${debloat_prop}"; then
ui_print " <>> mark for debloating: ${2}"
echo "${2}" >> "${nanodroid_overlay}"
fi
}
aromapath="/tmp/aroma-data"
setup_prop="${aromapath}/setup.prop"
store_prop="${aromapath}/store.prop"
apps_prop="${aromapath}/apps.prop"
debloat_prop="${aromapath}/debloat.prop"
location_prop="${aromapath}/location.prop"
nlp_prop="${aromapath}/nlp.prop"
ug_prop="${aromapath}/ug.prop"
fd_prop="${aromapath}/fd.prop"
sh_prop="${aromapath}/shellutil.prop"
init_prop="${aromapath}/initd.prop"
sync_prop="${aromapath}/gsync.prop"
ui_print " "
ui_print "****************************"
ui_print " NanoDroid "
ui_print " Setup Wizard "
ui_print " ${VERSION} "
ui_print "****************************"
ui_print " "
ui_print " > Creating Configuration files"
if (is_mounted /data); then
mount -orw,remount /data >/dev/null
else mount -orw /data >/dev/null
fi
if grep -q "selected.1=1" "${location_prop}"; then
ui_print " > saving configuration in: /data/media/0"
configpath="/data/media/0"
elif grep -q "selected.1=2" "${location_prop}"; then
if [ -d "/external_sd" ]; then
ui_print " > saving configuration in: /external_sd"
configpath="/external_sd"
elif [ -d "/sdcard1" ]; then
ui_print " > saving configuration in: /sdcard1"
configpath="/sdcard1"
else
ui_print " > saving configuration in: /data/media/0"
configpath="/data/media/0"
fi
elif grep -q "selected.1=3" "${location_prop}"; then
ui_print " > saving configuration in: /data"
configpath="/data"
fi
nanodroid_apps="${configpath}/.nanodroid-apps"
nanodroid_overlay="${configpath}/.nanodroid-overlay"
nanodroid_setup="${configpath}/.nanodroid-setup"
for setupfile in ${nanodroid_apps} ${nanodroid_overlay} ${nanodroid_setup}; do
if [ -f ${setupfile} ]; then
mkdir -p "${CONF_BACKUP}"
mv "${setupfile}" "${CONF_BACKUP}"
fi
touch ${setupfile}
done
ui_print " "
ui_print " < Installer Configuration"
setup_add 1 nanodroid_apps
setup_add 2 nanodroid_overlay
setup_add 3 nanodroid_mapsv1
setup_add 4 nanodroid_forcesystem
setup_add 5 nanodroid_bash
if grep -q "selected.1=1" "${store_prop}"; then
ui_print " <>> setting property: nanodroid_play [None]"
echo "nanodroid_play=00" >> "${nanodroid_setup}"
elif grep -q "selected.1=2" "${store_prop}"; then
ui_print " <>> setting property: nanodroid_play [Play Store]"
echo "nanodroid_play=10" >> "${nanodroid_setup}"
elif grep -q "selected.1=3" "${store_prop}"; then
ui_print " <>> setting property: nanodroid_play [Aurora Store]"
echo "nanodroid_play=20" >> "${nanodroid_setup}"
elif grep -q "selected.1=4" "${store_prop}"; then
ui_print " <>> setting property: nanodroid_play [Fake Store]"
echo "nanodroid_play=01" >> "${nanodroid_setup}"
elif grep -q "selected.1=5" "${store_prop}"; then
ui_print " <>> setting property: nanodroid_play [Aurora + Fake Store]"
echo "nanodroid_play=21" >> "${nanodroid_setup}"
elif grep -q "selected.1=6" "${store_prop}"; then
ui_print " <>> setting property: nanodroid_play [Play + Aurora Store]"
echo "nanodroid_play=30" >> "${nanodroid_setup}"
fi
if grep -q "item.1.1=1" "${nlp_prop}"; then
nlp_Dejavu=1
else nlp_Dejavu=0
fi
if grep -q "item.1.2=1" "${nlp_prop}"; then
nlp_Ichnaea=1
else nlp_Ichnaea=0
fi
if grep -q "item.1.3=1" "${nlp_prop}"; then
nlp_Apple=1
else nlp_Apple=0
fi
if grep -q "item.1.4=1" "${nlp_prop}"; then
nlp_Radiocell=1
else nlp_Radiocell=0
fi
ui_print " <<> nanodroid_nlpackend [Dejavu: ${nlp_Dejavu}|Ichnaea: ${nlp_Ichnaea}|Apple: ${nlp_Apple}|Radiocell: ${nlp_Radiocell}]"
echo "nanodroid_nlpbackend=${nlp_Dejavu}${nlp_Ichnaea}${nlp_Apple}${nlp_Radiocell}" >> "${nanodroid_setup}"
if grep -q "selected.1=1" "${ug_prop}"; then
ui_print " <>> setting property: nanodroid_microg [None]"
echo "nanodroid_microg=0" >> "${nanodroid_setup}"
elif grep -q "selected.1=2" "${ug_prop}"; then
ui_print " <>> setting property: nanodroid_microg [Full]"
echo "nanodroid_microg=1" >> "${nanodroid_setup}"
elif grep -q "selected.1=3" "${ug_prop}"; then
ui_print " <>> setting property: nanodroid_microg [Minimal]"
echo "nanodroid_microg=2" >> "${nanodroid_setup}"
fi
if grep -q "selected.1=1" "${fd_prop}"; then
ui_print " <>> setting property: nanodroid_fdroid [None]"
echo "nanodroid_fdroid=0" >> "${nanodroid_setup}"
elif grep -q "selected.1=2" "${fd_prop}"; then
ui_print " <>> setting property: nanodroid_fdroid [Official]"
echo "nanodroid_fdroid=1" >> "${nanodroid_setup}"
elif grep -q "selected.1=3" "${fd_prop}"; then
ui_print " <>> setting property: nanodroid_fdroid [Aurora Droid]"
echo "nanodroid_fdroid=2" >> "${nanodroid_setup}"
elif grep -q "selected.1=4" "${fd.prop}"; then
ui_print " <>> setting property: nanodroid_fdroid [Official + Aurora Droid]"
echo "nanodroid_fdroid=3" >> "${nanodroid_setup}"
fi
if grep -q "item.1.1=1" "${sync_prop}"; then
ui_print " <<> setting property: nanodroid_gsync=1"
echo "nanodroid_gsync=1" >> "${nanodroid_setup}"
else
ui_print " <<> setting property: nanodroid_gsync=0"
echo "nanodroid_gsync=0" >> "${nanodroid_setup}"
fi
if grep -q "item.1.2=1" "${sync_prop}"; then
ui_print " <<> setting property: nanodroid_swipe=1"
echo "nanodroid_swipe=1" >> "${nanodroid_setup}"
else
ui_print " <<> setting property: nanodroid_swipe=0"
echo "nanodroid_swipe=0" >> "${nanodroid_setup}"
fi
i_scripts=""
grep -q "item.1.1=1" "${init_prop}" && i_scripts="${i_scripts} 10_sqlite"
grep -q "item.1.2=1" "${init_prop}" && i_scripts="${i_scripts} 20_fstrim"
grep -q "item.1.3=1" "${init_prop}" && i_scripts="${i_scripts} 30_logcat"
grep -q "item.1.4=1" "${init_prop}" && i_scripts="${i_scripts} 40_external_sd"
grep -q "item.1.5=1" "${init_prop}" && i_scripts="${i_scripts} 50_logscleaner"
ui_print " <<> selected init scripts: ${i_scripts}"
echo "nanodroid_init=\"${i_scripts}\"" >> "${nanodroid_setup}"
s_utils=""
grep -q "item.1.1=1" "${sh_prop}" && s_utils="${s_utils} findfs"
grep -q "item.1.2=1" "${sh_prop}" && s_utils="${s_utils} findmnt"
grep -q "item.1.3=1" "${sh_prop}" && s_utils="${s_utils} hexdump"
grep -q "item.1.4=1" "${sh_prop}" && s_utils="${s_utils} lessecho"
grep -q "item.1.5=1" "${sh_prop}" && s_utils="${s_utils} lesskey"
grep -q "item.1.6=1" "${sh_prop}" && s_utils="${s_utils} lsblk"
grep -q "item.1.7=1" "${sh_prop}" && s_utils="${s_utils} lscpu"
grep -q "item.1.8=1" "${sh_prop}" && s_utils="${s_utils} lsipc"
grep -q "item.1.9=1" "${sh_prop}" && s_utils="${s_utils} lslocks"
grep -q "item.1.10=1" "${sh_prop}" && s_utils="${s_utils} lsns"
grep -q "item.1.11=1" "${sh_prop}" && s_utils="${s_utils} ncal"
grep -q "item.1.12=1" "${sh_prop}" && s_utils="${s_utils} whereis"
ui_print " <<> selected shell utils: ${s_utils}"
echo "nanodroid_utils=\"${s_utils}\"" >> "${nanodroid_setup}"
ui_print " "
ui_print " < Installed Applications"
apps_add 1 Alarmio
apps_add 2 Amaze
apps_add 3 AnysoftKeyboard
apps_add 4 Blokada
apps_add 5 Frost
apps_add 6 HackersKeyboard
apps_add 7 K9Mail
apps_add 8 KeePassDX
apps_add 9 MPV
apps_add 10 NewPipe
apps_add 11 OAndBackupX
apps_add 12 Odyssey
apps_add 13 OpenCamera
apps_add 14 OpenKeyChain
apps_add 15 OpenLauncher
apps_add 16 OpenVPN
apps_add 17 TorBrowser
apps_add 18 PrivacyBrowser
apps_add 19 QKSMS
apps_add 20 SimpleCalendar
apps_add 21 SimpleGallery
apps_add 22 SmartPackKernelManager
apps_add 23 Termux
apps_add 24 Twidere
apps_add 25 XDALabs
ui_print " "
ui_print " < Debloated Applications"
overlay_add 1 BasicDreams
overlay_add 2 Browser
overlay_add 3 Calendar
overlay_add 4 Camera2
overlay_add 5 CMFileManager
overlay_add 6 DeskClock
overlay_add 7 Eleven
overlay_add 8 Email
overlay_add 9 Exchange2
overlay_add 10 FMRadio
overlay_add 11 Gallery2
overlay_add 12 Gello
overlay_add 13 Jelly
overlay_add 14 messaging
overlay_add 15 mGerrit
overlay_add 16 OmniSwitch
overlay_add 17 Phonograph
overlay_add 18 PhotoTable
overlay_add 19 Recorder
overlay_add 20 ResurrectionStats
overlay_add 21 Screencast
overlay_add 22 Slimperience
overlay_add 23 Snap
overlay_add 24 SnapdragonCamera
overlay_add 25 SoundRecorder
overlay_add 26 Stk
overlay_add 27 ViaBrowser
overlay_add 28 Wallpaper
overlay_add 29 WallpaperBackup
overlay_add 30 WallpaperPickerGoogle
ui_print " "
ui_print " >> Now flash the NanoDroid package of your choice!"
ui_print " "
ui_print " > Thanks for using NanoDroid"
ui_print " "