• FREE > s’envoyer des notifications par SMS

      Aller dans https://mobile.free.fr/account/mes-options

       

      A gauche, clic sur Mes Options (dans MON FORFAIT)

       

      Puis vérifier que Notifications par SMS est bien coché.

       

      Copier la clé API

       

      Pour envoyer un SMS :

      https://smsapi.free-mobile.fr/sendmsg?user=<id_user>&pass=<clé_api>&msg=coucou

      BASH

      curl -i -G "https://smsapi.free-mobile.fr/sendmsg?user=<id_user>&pass=<clé_api>&msg=<msg>"

       

      -i affiche le header en sortie.

      -G spécifie qu’il s’agit d’une requête de type GET

      notification par SMS d’une connexion ssh

      Ajouter la ligne suivante à la fin du fichier ~/.bash_profile ou ~/.profile si le premier n’existe pas :

      curl -s -G "https://smsapi.free-mobile.fr/sendmsg?user=<id_user>&pass=<clé_api>&msg=Connexion SSH depuis $SSH_CLIENT"

       

      -s silent

       

      Ainsi, à chaque ouverture d’un session ssh, un SMS sera envoyé.

      .profile est exécuté uniquement à la connexion contrairement à .bashrc qui est exécuté à chaque login. La différence se voit lorsqu’on ouvre différents terminaux sur la même connexion.

      script et alias

      - Créer un fichier dans /usr/local/bin : sms.sh

      #!/bin/bash
      URL_ROOT="https://smsapi.free-mobile.fr/sendmsg?"
      USER="XXX"
      PASS="XXX"
      curl -k "${URL_ROOT}user=${USER}&pass=${PASS}&msg=$1″ && echo "sms envoyé" && exit 0

      -k ou --insecure pour les communication via https

       

      - Créer un alias dans .bashrc :

      alias sms=/usr/local/bin/sms

       

      - Test :

      sms "Salut !"

       

      Voici un autre script bash:

      #!/bin/bash
      URL_ROOT="https://smsapi.free-mobile.fr"
      NOM="XXX"
      PASS="XXX"
      message=${*// /%20}
      envoi=$(curl -i -k "$URL_ROOT/sendmsg?user=$NOM&pass=$PASS&msg=$1" 2>&1)
      retour_HTTP=$(echo "$envoi" | awk '/HTTP/ {print $2}')
      case $retour_HTTP in
         200) echo "Le message a été envoyé correctement" ;;
         400)	echo "expéditeur/mot de passe erroné" ;;
         402) echo "Trop de SMS ont été envoyés en trop peu de temps." ;;
         403) echo "Le service n’est pas activé. Veuillez l'activer.";;
         500) echo "Erreur côté serveur. Réessayez ultérieurement."
      esac
      exit 0

      NB : Si on utilise le double-guillemet dans le message, il faudra l’échapper avec l’anti-slash:

      sms "message avec des \"doubles guillemets\""

      cron

      sudo crontab -e
      @reboot /home/<user>/.local/bin/sms "Serveur redémarré"

      PYTHON

      import requests
      USER    = "XXX"
      API_KEY = "XXX"
      MSG     = "coucou"
      requests.get(f"https://smsapi.free-mobile.fr/sendmsg?user={USER}&pass={API_KEY}&msg={MSG}")

       

 

Aucun commentaire

 

Laissez un commentaire