72 lines
2.5 KiB
Bash
72 lines
2.5 KiB
Bash
#!/bin/bash
|
|
|
|
readonly SCRIPTS_FOLDER="e7scripts"
|
|
readonly GOTIFY_SCRIPT_NAME="gotifypush.sh"
|
|
readonly GOTIFY_SCRIPT_URL="https://git.studi7.com/roger/bashscripts/raw/branch/master/gotifypush.sh"
|
|
readonly UPDATES_SCRIPT_NAME="updates_notifier.sh"
|
|
readonly UPDATES_SCRIPT_URL="https://git.studi7.com/roger/bashscripts/raw/branch/master/updates_notifier.sh"
|
|
|
|
#verify run as root or sudo
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "This script must be run as root"
|
|
exit 1
|
|
fi
|
|
|
|
echo "/////////////////////////////////////"
|
|
echo "Benvingut a l'instalador d'Scripts"
|
|
echo -e "/////////////////////////////////////\n"
|
|
|
|
finished=false
|
|
while [ "$finished" != "true" ]
|
|
do
|
|
|
|
# Choose script to install
|
|
echo "0) Sortir de l'instalador"
|
|
echo "1) Notificador dels resultats dels scripts (Gotify Push Notifications)"
|
|
echo "2) Notificador d'actualitzacions"
|
|
echo "3) Escaneig de rootkits amb RK Hunter"
|
|
echo "4) Escaneig de rootkits amb CHK Rootkit"
|
|
echo -e "5) Escaneig de virus amb ClamAV\n"
|
|
|
|
choosed=false
|
|
while [ "$choosed" != "true" ]
|
|
do
|
|
read -p 'Indica quin script vols instal·lar (0 per sortir): ' SCRIPT_NUM
|
|
case $SCRIPT_NUM in
|
|
("") echo "El número no pot ser buit";;
|
|
(*[!0-9]*) echo "Has d'introduir un número";;
|
|
(*) choosed=true #echo "just numeric";;
|
|
esac
|
|
done
|
|
|
|
if [ "$SCRIPT_NUM" = "0" ]; then
|
|
finished=true
|
|
exit 0
|
|
elif [ "$SCRIPT_NUM" = "1" ]; then
|
|
mkdir -p $SCRIPTS_FOLDER
|
|
wget -O "$SCRIPTS_FOLDER/$GOTIFY_SCRIPT_NAME" $GOTIFY_SCRIPT_URL
|
|
read -p 'Indica el domini de gotify: ' GOTIFY_DOMAIN
|
|
sed -i "s/push.example.com/$GOTIFY_DOMAIN/" "$SCRIPTS_FOLDER/$GOTIFY_SCRIPT_NAME"
|
|
chmod +x "$SCRIPTS_FOLDER/$GOTIFY_SCRIPT_NAME"
|
|
echo -e "Script instal·lat correctament\n"
|
|
elif [ "$SCRIPT_NUM" = "2" ];then
|
|
mkdir -p $SCRIPTS_FOLDER
|
|
wget -O "$SCRIPTS_FOLDER/$UPDATES_SCRIPT_NAME" $UPDATES_SCRIPT_URL
|
|
read -p 'Indica el token del canal de gotify: ' TOKEN
|
|
sed -i "s/<TOKEN_GOTIFY_APP>/$TOKEN/" "$SCRIPTS_FOLDER/$UPDATES_SCRIPT_NAME"
|
|
sed -i "s/Hostname/$(hostname)/" "$SCRIPTS_FOLDER/$UPDATES_SCRIPT_NAME"
|
|
chmod +x "$SCRIPTS_FOLDER/$UPDATES_SCRIPT_NAME"
|
|
#https://stackoverflow.com/questions/878600/how-to-create-a-cron-job-using-bash-automatically-without-the-interactive-editor
|
|
#remove previous crontab
|
|
(crontab -l | grep -v -F "$UPDATES_SCRIPT_NAME") | crontab -
|
|
#add crontab
|
|
(crontab -l ; echo "05 10 * * * cd $(pwd)/$SCRIPTS_FOLDER/ && ./$UPDATES_SCRIPT_NAME 2>&1") | crontab -
|
|
echo -e "Script instal·lat correctament\n"
|
|
#TODO Function cron get period
|
|
|
|
else
|
|
echo -e "Aquest número d'script no existeix. Tornar a intentar-ho\n"
|
|
fi
|
|
|
|
done
|