Aller au contenu
Sylvain Joffraud l4w
Retour

Monitoring perso : l’API SMS gratuite de Free Mobile

J’ai un serveur prod (srv-b) qui héberge mon Plausible. Je veux être prévenu s’il tombe, sans monter Prometheus + Alertmanager + Grafana + SMTP. Juste un SMS quand ça tousse, depuis un script bash.

Solution méconnue : si tu es client Free Mobile, tu as une API SMS personnelle gratuite dans ton espace abonné, pour notifier ton numéro. Zéro contrat tiers, zéro OAuth.

Activer et appeler l’endpoint

Espace abonné → « Mes options » → « Notifications par SMS » → activer. Tu reçois un identifiant (8 chiffres) et une clé (14 chars). Puis :

curl -G "https://smsapi.free-mobile.fr/sendmsg" \
  --data-urlencode "user=<id_8_chiffres>" \
  --data-urlencode "pass=<cle_14_chars>" \
  --data-urlencode "msg=ALERTE srv-b DOWN at 09:38"

HTTPS GET, le SMS arrive sur ton propre numéro (pas d’autre destinataire : auto-notif, par design).

Codes retour : 200 envoyé, 400 payload manquant, 402 rate limit, 403 clé invalide ou option off, 500 souci côté Free.

Pourquoi c’est génial en monitoring solo

OutilSetupCoût
Free Mobile SMSactiver dans l’espace abo0 €
Twiliocompte + numéro vérifié~0.05 €/SMS + $1/mois
Webhook Discordserveur + webhook0 € (notif app, pas SMS)
Pushoverapp + token5 $ once
SMTP → mailpostfix + DKIM + SPF0 € (risque spam)

Pour 1 alerte tous les 6 mois, Free Mobile gagne : zéro setup, zéro coût, SMS direct.

Limites à connaître

Le pattern dans un script bash

PREV=$(cat $STATE_FILE)
if curl -fsS -m 10 "$ENDPOINT" >/dev/null; then
    [ "$PREV" -ge "$THRESHOLD" ] && send_sms "RECOVERED $TS"
    echo 0 > $STATE_FILE
else
    NEW=$((PREV + 1)); echo $NEW > $STATE_FILE
    [ "$NEW" -eq "$THRESHOLD" ] && send_sms "ALERTE DOWN $TS"
fi

Compteur persistant + SMS à la transition (seuil franchi, retour à 0). Pas de spam même DOWN 4h.

Lessons learned


Partager cet article :

Article précédent
Backup PULL : clé SSH restreinte avec `from=` + `no-pty`
Article suivant
Mirror Docker Hub partagé sur 3 serveurs via mesh WireGuard