Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

Appel à contributeurs pour la doc.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 31/08/2014, à 21:17

mol1

[Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Bonjour !
Pour ceux qui sont chez Free coté téléphone, je me suis fait un petit script pour "m'envoyer" des sms depuis mon ordi avec l'API de Free. Bien pratique pour s'envoyer des notifications à la fin d'une commande longue par exemple, surtout quand on ne reste pas à coté du PC. Je propose donc ce script "à titre d'information" pour donner des idées à certains ^^
Tout d'abord, un petit article pour ceux qui ne connaissent pas.http://www.freenews.fr/spip.php?article14817
Mon mode opératoire : tout d'abord activer l'option chez free, ça parait logique :-)
Ensuite créer le fichier qui contiendra le script :

sudo touch /usr/games/sms

(pas forcément à cet endroit d'ailleurs, c'est le premier qui m'est venu en tête)

Ensuite :

sudo nano /usr/games/sms 

Pour éditer votre fichier


Y coller :

yes "yes" | w3m -dump "https://smsapi.free-mobile.fr/sendmsg?user=VOTRE_IDENTIFIANT&pass=VOTRE_MPD&msg=$1"

Pour les valeurs de VOTRE_IDENTIFIANT et VOTRE_MDP elles se trouvent dans l'espace perso chez free
Enfin, créer un alias dans votre .bashrc

alias sms=/usr/games/sms

Petit test :

sms "Ceci est un test"

En espérant en aider, bonne journée ! :-)

Hors ligne

#2 Le 31/08/2014, à 22:02

michel_04

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Bonjour,

Merci pour l'idée.
Je n'avais pas remarqué cette option.
Je viens de tester, génial.
Par contre j'ai ce message dans le terminal :

michel@Michel-E320:~$ sms "Ceci est un test"
unable to get local issuer certificate: accept? (y/n)Accept unsecure SSL session: unverified: unable to get local issuer certificate
michel@Michel-E320:~$

A+

Hors ligne

#3 Le 31/08/2014, à 22:34

cqfd93

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Bonsoir,

Merci pour le tuyau !

Après avoir installé w3m et rendu le fichier exécutable, j'ai pu m'envoyer un sms.

Y a-t-il moyen d'éviter ce message :

unable to get local issuer certificate: accept? (y/n)Accept unsecure SSL session: unverified: unable to get local issuer certificate

?

En ligne

#4 Le 31/08/2014, à 22:40

PPdM

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Je vais creuser, merci !

Hors ligne

#5 Le 05/09/2014, à 11:34

joko

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

bonjour et merci mol1,
ça roxe !
petite question :
supposons qu'il y ait un émetteur humain (qui envoie le message via le script), il y a-t-il une possibilité pour le récepteur (qui a le téléphone) de lui répondre et que le récepteur puisse lire le message reçu (au travers quel logiciel et/ou script) ?

en tout cas, ça peut aider dans la vie courante...


Je suis un homme, quoi de plus naturel en somme ?
linux on the rocks

Hors ligne

#6 Le 29/09/2014, à 11:26

cracolinux

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Salut,

À quoi sert la commande yes ?

Je n'ai pas w3m sur ma machine et j'ai donc utilisé curl en remplacement :

curl --insecure "https://smsapi.free-mobile.fr/sendmsg?user=***&pass=***&msg=$1" && echo "ok" && exit 0

Peut-etre que yes est utile avec w3m ?

Merci pour l'info, ça peut être très utile.


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#7 Le 03/11/2014, à 11:48

G-Tux

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Bonjour,

Merci Mol1 pour l'info et la procédure, ainsi qu'au script de Cracolinux qui permettent d'utiliser cette fonction nouvelle chez Free mobile.

Elle offre beaucoup de possibilités, couplée avec cron c'est génial. smile

Dernière modification par G-Tux (Le 04/11/2014, à 14:59)


Ubuntu 16.04 + Debian Wheezy & Jessie + Raspbian
MATE et LXDE
MSI CR70 + Toshiba A110  + Raspberry Pi

Hors ligne

#8 Le 06/11/2014, à 12:56

Hizoka

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

merci à vous, je ne connaissais pas et ça peut être bien pratique !

Hors ligne

#9 Le 14/05/2015, à 12:45

gipet77

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Merci à tous.
la commande CURL dans un batch fonctionne parfaitement. (ubuntu 14.04LTS)
Pré-requis : avoir un abonnement chez Free, et avoir activé l'option "notification par SMS".
curl --insecure "https://smsapi.free-mobile.fr/sendmsg?user=*******&pass=**********&msg=SMS%20envoye%20par%20robot%20Free%20!" && echo "ok" && exit 0

Dernière modification par gipet77 (Le 14/05/2015, à 14:28)

Hors ligne

#10 Le 14/05/2015, à 23:00

metalux

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Si ça peut servir à certains d'entre vous, voici un petit script bash:

#!/bin/bash
case $1 in
	utilisateur)
		NOM=xxxxxxxx
		PASS=xxxxxxxxxxx
		;;
	utilisateur2)
	        NOM=xxxxxxxx
		PASS=xxxxxxxxxxx 
		;;
	utilisateur3)
		NOM=xxxxxxxx
		PASS=xxxxxxxxxxx
		;;
	*)
		echo "Cet utilisateur n'existe pas" && exit 0
esac
envoi=$(curl -i --insecure "https://smsapi.free-mobile.fr/sendmsg?user=$NOM&pass=$PASS&msg=$2" 2>&1)
retour_HTTP=$(echo "$envoi" | awk '/HTTP/ {print $2}')
case $retour_HTTP  in
	200)
		echo "Le message a été envoyé correctement"
		;;
	400)
		echo "le couple expéditeur/mot de passe est erroné, veuillez les vérifier dans le script";;
	402)
		echo "Trop de SMS ont été envoyés en trop peu de temps. Veuillez renouveler ultérieurement";;
	403)
		echo "Le service n’est pas activé sur l’espace abonné. Veuillez l'activer S.V.P";;
	500)
		echo " Erreur côté serveur. Veuillez réessayez ultérieurement."
esac
exit 0

Il suffit de remplacer dans ce script utilisateur1,etc...par le nom ou prénom de votre choix, et de mettre comme NOM= l'identifiant free et pour PASS= le mot de passe associé. Il y a la possibilité d'ajouter autant d'utilisateurs que l'on souhaite en les mettant dans la boucle case/esac.
Nommer ce script sms, le rendre exécutable et le coller dans /usr/local/bin.
Pour l'utiliser, il suffit d'ouvrir un terminal et de taper la commande suivante:

sms utilisateur1 "message"

Bien mettre le message entre des doubles guillemets.
Limitation: Si vous utilisez le double-guillemet dans le message, il faudra l'échapper avec l'anti-slash:
Par exemple avec l'utilisateur mol1 :
sms mol1 "message avec des \"doubles guillemets\""
Le sms reçu sera: message avec des "doubles guillemets"
Les mots de passe étant en clair dans le script, prenez les mesures nécessaires pour interdire la lecture du script pour les autres utilisateurs si vous êtes sur un Pc partagé.

Dernière modification par metalux (Le 14/05/2015, à 23:01)

Hors ligne

#11 Le 20/05/2015, à 20:20

cracolinux

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Bien joué Metalux ! tongue


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#12 Le 25/01/2016, à 12:07

G-Tux

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Bonjour,
J'ai fait un script avec interface graphique (utilise zenity). Je débute, alors il y a certainement moyen de faire plus simple, mais ça marche.

En tête de fichier, il faut bien sûr adapter vos identifiants Free. Il est aussi possible d'ajouter plus de personnes.

#!/bin/bash

#Prérequis : curl,  zenity et abonnement Free mobile avec option validée

log1=Pierre
log11=11111111
log111=aaaaaaaaaaaaaa
log2=Paul
log22=22222222
log222=bbbbbbbbbbbbbb


logA=$(zenity --entry --title "Envoi d'un SMS" --text="À qui voulez-vous l'envoyer ?" --entry-text=$log1 $log2);
        if [ "${PIPESTATUS[0]}" != "0" ]; then
		zenity --warning --text="Pas de SMS, envoi annulé !" --timeout=2
        	exit
        fi

echo "$logA" | grep $log1 >/dev/null
	if [ "$?" = 0 ]; then
		logB=$(zenity --forms --width=800 --title="Envoi d'un SMS à $logA" --text="Saisissez votre texte" --add-entry="SMS")
		case $? in
		    0) curl --insecure "https://smsapi.free-mobile.fr/sendmsg?user=$log11&pass=$log111&msg=$logB" &&  zenity --notification --window-icon="info" --text="SMS envoyé à $logA !" && exit 0 ;;

		    1) zenity --warning --text="Pas de SMS, envoi annulé !" --timeout=2 ;;

		    -1)	zenity --error --text="Une erreur inattendue est survenue !" --timeout=2 ;;
		esac
		if [ "${PIPESTATUS[0]}" != "0" ]; then
			exit
		fi
	fi   

echo "$logA" | grep $log2 >/dev/null
	if [ "$?" = 0 ]; then
		logB=$(zenity --forms --width=800 --title="Envoi d'un SMS à $logA" --text="Saisissez votre texte" --add-entry="SMS")
		case $? in
		    0) curl --insecure "https://smsapi.free-mobile.fr/sendmsg?user=$log22&pass=$log222&msg=$logB" &&  zenity --notification --window-icon="info" --text="SMS envoyé à $logA !" && exit 0 ;;

		    1) zenity --warning --text="Pas de SMS, envoi annulé !" --timeout=2 ;;

		    -1)	zenity --error --text="Une erreur inattendue est survenue !" --timeout=2 ;;
		esac
		if [ "${PIPESTATUS[0]}" != "0" ]; then
			exit
		fi
	fi

exit 0

Dernière modification par G-Tux (Le 03/02/2016, à 11:39)


Ubuntu 16.04 + Debian Wheezy & Jessie + Raspbian
MATE et LXDE
MSI CR70 + Toshiba A110  + Raspberry Pi

Hors ligne

#13 Le 23/03/2016, à 15:24

Sven27

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Bonjour à tous
j’aurai besoin d’un coup de main pour adapter cette fonction.
Ce que je cherche à faire c’est être notifié par SMS au démarrage de mon Raspberry (Jessie).
Sauf que je ne sais trop comment lancer ce script au boot.

Si quelqu’un passe par là et qu’il peut m’aider ce serait sympa.

Hors ligne

#14 Le 23/03/2016, à 19:08

cracolinux

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Salut,

Je te conseille de créer un script que tu appelles par exemple freesms :

#!/bin/bash

message=${*// /%20}
curl --insecure "https://smsapi.free-mobile.fr/sendmsg?user=xxx&pass=xxx&msg="$message""

Tu le remplis avec ça et tu le rends exécutable

Ensuite tu crées une ligne dans ton crontab via

sudo crontab -e

et tu colles ça dedans :

@reboot /home/you/mybinfolder/smsfree "Server has reboot"

Et normalement, c'est ok

Dernière modification par cracolinux (Le 24/03/2016, à 00:07)


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#15 Le 24/03/2016, à 14:36

G-Tux

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Bonjour,

Autre solution (pour les puristes moins élégante, mais... ), en ajoutant le chemin du script (freesms, comme l'a conseillé Cracolinux ) dans le fichier "rc.local" situé dans le répertoire "/etc". Dans ce fichier, tu ajoutes avant "exit 0" : /home/pi/freesms (par exemple, chemin à adapter en conséquence). Tu vérifies que "curl" soit bien installé, tu sauvegardes et tu relances. Le tout en administrateur.

Dernière modification par G-Tux (Le 24/03/2016, à 14:54)


Ubuntu 16.04 + Debian Wheezy & Jessie + Raspbian
MATE et LXDE
MSI CR70 + Toshiba A110  + Raspberry Pi

Hors ligne

#16 Le 19/04/2016, à 22:35

MacArony

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

salut, tres interessant j'ai fait des petits tests, un moyen d'avoir la meme chose mais avec une alerte de fail2ban ? par exemple ? ou avec le retour d'une commande ?

merci smile


Psycho$PATH !

Linux was fast enough on this machine. But in street racing parlance, with PC-BSD I’m burning rubber in all four gears.

Hors ligne

#17 Le 09/10/2016, à 10:45

cracolinux

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Salut à tous,

Je n'arrive pas à encoder tout les caractères accentués avec les codes d'échappement!!
Ça fonctionne avec {espace} = %20
mais par exemple avec {é} = %E9 , les {é} dans mon message son tronqués! est-ce que ça peut venir du téléphone ?


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#18 Le 09/10/2016, à 11:08

Hizoka

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

cracolinux => Idem
Mais le teste en clair fonctionne très bien non ?!

Hors ligne

#19 Le 09/10/2016, à 11:12

cracolinux

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

bah non, je reçois pas les caractères accentués du tout, ni même l'espace si je ne l'encode pas comme il faut...


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#20 Le 09/10/2016, à 11:17

cracolinux

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Si ça marche chez quelqu'un je comprends pas...on peut pas avoir un é dans une URL de toute façon, n'est-ce pas ?


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#21 Le 09/10/2016, à 12:20

Anonyme68

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

pour avoir é c'est %C3%A9

http://meyerweb.com/eric/tools/dencoder/


846/2381 jeux linux sur Steam

Hors ligne

#22 Le 09/10/2016, à 17:53

Hizoka

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

perso si je tape :

curl --insecure "https://smsapi.free-mobile.fr/sendmsg?user=XXXXXX&pass=XXXXXXXX&msg=éàçè oui NoN"

je reçois bien le message...

Hors ligne

#23 Le 09/10/2016, à 18:49

cracolinux

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

#!/bin/bash

if [ -n "$1" ]
	then
	message=${@}
	else
	if message=$(zenity --entry --title="Notification sms" --text="Saisir le sms")
		then true
		else exit 1
	fi
fi
curl --insecure "https://smsapi.free-mobile.fr/sendmsg?user=XXXXX&pass=XXXXX&msg=${message}"
exit

Avec ce code, ça à l'air de vouloir passer mais pour une raison que j'ignore j'ai maintenant une box □ en tout début de message...c'est bien mystérieux tout ça


Pixup : postez vos images vite et bien - Wificheck : Aidez nous à vous aider

« Ne devenez jamais pessimiste. Un pessimiste a plus souvent raison qu'un optimiste, mais l'optimiste s'amuse plus — et aucun des deux ne peut arrêter la marche du monde. » R.Heinlein

Hors ligne

#24 Le 14/11/2016, à 00:54

ares

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Bonjour,

Merci à tous... pour le sujet smile

Comme je cherchais un script pour envoyer des messages plus long ;  ma petite contribution très inspiré du topic !
Utile  pour une liste de course, etc
Avec du "cosmétique" pour l'utilisateur smile


#!/bin/bash
#
# Source :
# forum Ubuntu : Envoyer un sms à son numéro (Free Mobile)
# https://forum.ubuntu-fr.org/viewtopic.php?id=1664551
##
# Ares (2016) Xubuntu 16.04 LTS
##
# * Saisir du texte dans la fenêtre
# * Convertire 'x0a' en 'html' = %0d%0a
# * Envoi du SMS
# * Si échec envoi ; notification de l'erreur
##

# options a adapter pour vous :)
# Exemple avec Xubuntu 16.04 LTS :
SmsGood="notify-send -t 200 -i /usr/share/icons/Adwaita/16x16/emblems/emblem-default.png"
SmsErreur="notify-send -t 500 -i /usr/share/icons/Adwaita/48x48/status/software-update-urgent.png"
# fin des options
##

# vos identifiants
FreeUser="1234567890"		# utilisateur
FreePass="2AzErTy0"	# votre mot de passe

##
# Début
#

if [ -n "$1" ]
	then
	message=${@}
	else
		if Saisie=$(zenity --text-info --editable --title="Envoi SMS" --width 300 --height 200 >Txt.tmp)
		then true
		sms=$(tr $'\x0a' $'\x0d' <Txt.tmp | sed "s/\x0d/%0d%0a/g")
		else
		$SmsErreur	 "Vous avez annulé l'opération !"
		exit 1
	fi
fi

# Envoi du SMS et...
# Code retour des réponses HTTP possibles
	http_code=$(curl --insecure -G -o /dev/null -w "%{http_code}\n" "https://smsapi.free-mobile.fr/sendmsg?user=$FreeUser&pass=$FreePass&msg=$sms")	# Réponse du serveur Free
	case $http_code  in		
		200) $SmsGood	 "`date`" "Le SMS a été envoyé sur votre mobile.";;
# Echec :(
		400) $SmsErreur  "Un des paramètres obligatoires est manquant.";;
		402) $SmsErreur  "Trop de SMS ont été envoyés en trop peu de temps.";;
		403) $SmsErreur  "L'option n'est pas activé sur l'espace abonné, ou login / clé incorrect.";;
		500) $SmsErreur  "Erreur côté serveur. Veuillez réessayez ultérieurement";;
		*)   $SmsErreur	 "Erreur !" 
	esac
rm -f Txt.tmp
exit

Vraiment sympa de corriger ou d'améliorer le script, @+


«Quiconque s'agenouille devant Dieu se façonne à se prosterner devant un roi.» (Joseph Joubert / 1754-1824)
Consensus religieux

Hors ligne

#25 Le 14/11/2016, à 09:29

Hizoka

Re : [Script/Bash] Envoyer un sms à son numéro (Free Mobile)

Ne laisse pas trainer ton mdp et login dans ton code wink

Hors ligne