L’app FreeboxSMS passe en version 2.0 et, à cette occasion, devient plus simple à utiliser avec une interface 100% en ligne.
Les développeurs de FreeboxSMS nous informent de l’arrivée de leur version 2.0. Ce modeste petit programme permet aux Freenautes d’être avertis par SMS lorsque leur Freebox n’est plus joignable à domicile (panne réseau, coupure d’électricité, etc.). Le tout, gratuitement, grâce à la fonction d’envoi de SMS automatisés proposée par Free Mobile.
Contrairement à la première version, qui nécessitait une installation complexe sur un serveur web, FreeboxSMS 2.0 est désormais simple d’utilisation. Tout se fait en ligne sur le site officiel de l’application !
Je me sers de ce script pour "fliquer" un peu l'utilisation de ma machine personnelle qui est sous Linux. Je reçois donc un SMS quand l'un des événements suivants se produit:
C'est assez simple: On surveille le fichier ''/var/log/auth.log'' et quand certains événements sont détectés, on appelle l'API SMS FreeMobile.
Je met le script suivant dans ''/opt/scripts/logs-sms.sh'' (sans oublier de faire mon chmod):
logs-sms.sh
#!/bin/bash
# Surveillance des logs, et envoi d'un SMS quand un utilisateur se connecte ou déconnecte.
logger "SMS: Démarrage script SMS connexions."
envoie_sms () {
chaine="Asus: `date +%Y-%m-%d_%Hh%M` $*"
logger "SMS: $chaine"
curl -G -d user=UTILISATEUR -d pass=MOTDEPASSE --data-urlencode msg="$chaine" 'https://smsapi.free-mobile.fr/sendmsg'
}
# Expressions régulières pour détecter certains évènements (ouverture session, fermeture session, mauvais mot de passe)
reg_open="pam_unix.*session opened for user (utilisateur1|utilisateur2|utilisateur3|utilisateur4)"
reg_close="pam_unix.*session closed for user (utilisateur1|utilisateur2|utilisateur3|utilisateur4)"
reg_failure="pam_unix.*authentication failure.*user=(.+)"
tail -fn0 /var/log/auth.log | \
while read line ; do
if [[ $line =~ $reg_open ]] ; then
envoie_sms "Ouverture session ${BASH_REMATCH[1]}"
fi
if [[ $line =~ $reg_close ]] ; then
envoie_sms "Fermeture session ${BASH_REMATCH[1]}"
fi
if [[ $line =~ $reg_failure ]] ; then
envoie_sms "Mauvais mot de passe utilisateur ${BASH_REMATCH[1]}"
fi
done
Puis j'ai ajouté la ligne suivante avant le ''exit 0'' dans ''/etc/rc.local'' afin que ça démarre en même temps que la machine.
nohup /bin/bash /opt/scripts/logs-sms.sh > /dev/null 2>&1 &
Notes: