mirror of
https://gitlab.com/Nanolx/NanoDroid
synced 2024-10-31 09:20:23 +00:00
287 lines
8.6 KiB
Bash
287 lines
8.6 KiB
Bash
#!/sbin/sh
|
|
|
|
OUTFD=2
|
|
CONF_BACKUP="/data/media/0/nanodroid_backups/config_$(date +%Y%m%d-%H.%M.%S)"
|
|
VERSION=22.6.90.99999999
|
|
|
|
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}"
|
|
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}"
|
|
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 " "
|