Files
analyzegancio/analyzer.sh

92 lines
2.8 KiB
Bash
Raw Normal View History

2025-03-08 05:38:18 +01:00
#/bin/bash
2025-03-08 17:53:52 +01:00
ics="ics_istanza"
istanza="$1"
2025-03-08 05:38:18 +01:00
download_ics() {
# Scarica l'ics dell'istanza
wget -q -O $ics https://$istanza/feed/ics
}
2025-03-09 16:24:21 +01:00
risp="N"
2025-03-08 17:53:52 +01:00
logger() {
2025-03-09 16:40:36 +01:00
# Controlla che non sia giĆ  presente il log
2025-03-08 05:38:18 +01:00
if [ -e "$istanza$(date +%y%m%d).log" ]; then
echo -e "\nNON SCRAPARE PIU' DEL NECESSARIO!"
echo -e "PER QUESTA ISTANZA E QUESTO GIORNO HAI GIA' I LOG:"
ls -lh eventi_$istanza$(date +%y%m%d).log $istanza$(date +%y%m%d).log
echo -e "\ncat eventi_$istanza$(date +%y%m%d).log $istanza$(date +%y%m%d).log\n"
exit
fi
2025-03-09 16:40:36 +01:00
# Chiede se si vuole salvare il log
2025-03-08 05:38:18 +01:00
read -p "Vuoi salvare i log? (s/n): " risp
2025-03-08 17:53:52 +01:00
}
2025-03-08 05:38:18 +01:00
male=0
2025-03-08 17:53:52 +01:00
attuale="ciclando"
2025-03-08 05:38:18 +01:00
eventi="eventi_$istanza$(date +%y%m%d).log"
2025-03-09 16:40:36 +01:00
# Avvia il check dei link degli eventi dell'istanza
2025-03-08 05:38:18 +01:00
check() {
awk '/URL/{print; getline; if(!/LOCATION/) { gsub(/^[ \t]+/, "", $0); print } }' $ics > $attuale
awk '{if ($0 ~ /^URL:/) {if (prev) print prev; prev = $0} else prev = prev $0} END {if (prev) print prev}' $attuale | sed 's/\r//g' | sed 's/URL\://g' > $eventi
{
while IFS= read -r line; do
2025-03-09 16:40:36 +01:00
#line="https://balotta.org/event/ofpcina-58" #debug
2025-03-08 05:38:18 +01:00
echo "[ $line ]"
wget -q -O $attuale $line
2025-03-09 16:40:36 +01:00
# filtra e conta
2025-03-08 05:38:18 +01:00
numW=$(grep -o 'href="[^"]*"' $attuale | grep wordpress | wc -l)
numN=$(grep -o 'href="[^"]*"' $attuale | grep noblogs | wc -l)
numA=$(grep -o 'href="[^"]*"' $attuale | grep -ioE 'facebook|instagram|tiktok' | wc -l);
numF=$(grep -o 'href="[^"]*"' $attuale | grep -io facebook | wc -l)
numI=$(grep -o 'href="[^"]*"' $attuale | grep -io instagram | wc -l)
numT=$(grep -o 'href="[^"]*"' $attuale | grep -io tiktok | wc -l)
# Stampa i risultati NoBlogs
if [ "$numN" -gt 0 ]; then
echo -e "\033[32mTrovati $numN link a NoBlogs\033[0m"
fi
# Stampa i risultati WordPress
2025-03-09 16:24:21 +01:00
if [ "$numW" -gt 0 ]; then
echo -e "\e[34mTrovati $numW link a WordPress\033[0m"
fi
2025-03-08 05:38:18 +01:00
# Stampa i risultati dei social commerciali
if [ "$numA" -gt 0 ]; then
male=$((male + numA))
echo -e "$male"
echo -e "\033[31mTrovati $numA link ai social commerciali:\033[0m"
2025-03-09 16:24:21 +01:00
echo -e "$numF link Facebbucco \n$numI link Instaramma \n$numT link Tikketotto"
echo -e "\e[33mLink del male tovati fino ad ora: $male\033[0m\n\n"
2025-03-08 05:38:18 +01:00
else
echo -e "Trovati $numA link ai social commerciali\n"
fi
done < $eventi
2025-03-08 17:53:52 +01:00
2025-03-09 16:24:21 +01:00
# Stampa il numero totale di link ai social del male
if [ "$male" -gt 0 ]; then
echo -e "\033[31mLink del male attualmente su https://$istanza: $male\033[0m\n"
else
echo -e "\033[32mNessun Link del male attualmente su https://$istanza\033[0m\n"
fi
} | tee -a $istanza$(date +%y%m%d).log
2025-03-08 05:38:18 +01:00
}
pulisci() {
2025-03-09 16:40:36 +01:00
# Rimove / Sava i link a seconda della scelta precendente
2025-03-08 05:38:18 +01:00
rm $ics $attuale
if [[ $risp =~ ^[nN]$ ]]; then
rm $istanza$(date +%y%m%d).log "eventi_$istanza$(date +%y%m%d).log"
fi
}
download_ics
2025-03-09 16:40:36 +01:00
logger
2025-03-08 05:38:18 +01:00
check
pulisci