Contenu | Rechercher | Menus

Annonce

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.

À propos de l'équipe du forum.

#26 Le 14/11/2016, à 10:34

ares

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

Hizoka a écrit :

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

Aucun danger... ce n'est pas mon "login" (1234567890) ni mon mot de passe (2AzErTy0) smile

@+


Le droit d'emmerder Dieu BNF

Hors ligne

#27 Le 23/11/2016, à 17:58

DonutMan75

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

Bonjour,
super ces scripts, merci pour l'info je vais regarder ça ce soir smile

Donut.

Hors ligne

#28 Le 01/06/2017, à 10:49

DonutMan75

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

Bonjour à tous,
je viens de découvrir ce service de Free et je m'amuse comme un fou avec ^^
(oui j'ai mis un peu de temps par rapport à mon précédent message lol ^^)
Une petite question à ce sujet :
Comment pourrions-nous modifier nos scripts pour prendre en compte d'éventuels retour à la ligne ??

Si le texte à envoyer est passé en argument, j'ai trouvé cela :

send_sms.sh

#! /bin/sh
URL="https://smsapi.free-mobile.fr/sendmsg?user=123456&pass=XXXX&msg="
MSG=$(echo "$1" | sed -e 's/ /%20/g' | sed -e 's/\n/%0A/g')
URL="$URL$MSG"
wget "$URL"

Ca marche si on fait par exemple

$ ./send_sms.sh "Première ligne\nSeconde ligne"

Le script va remplacer tout les espaces par "%20" (pas nécessaire car apparemment wget le fait tout seul ???) et toutes les occurrences de "\n" par "%0A".

Mais maintenant, je me demande comment on pourrait modifier cela pour travailler sur l'entrée standard...
Par exemple :

$ echo "Première ligne\nSeconde ligne" | ./send_sms.sh

Mais aussi :

$ cat input.txt
Première ligne
Seconde ligne
$ ./send_sms.sh < input.txt

Pour l'instant je sèche un peu car dans un cas nous avons un "\n" littéral (un '\' suivi d'un 'n') qui devra être interprété comme un retour à la ligne; et dans l'autre nous avons un véritable caractère d'échappement '\n'... Avez-vous des idées ??

Bon après il faudrait aussi que je vois si on peut rendre le script "adaptable" c'est-à-dire qu'il puisse travailler automatiquement soit par argument s'il en reçoit, soit pas l'entrée standard... Mais ça je verrai par la suite ^^

Enfin merci d'avance pour vos retours smile

Donut.

P.S : à ce propos, chez moi l'envoi de SMS par ce script fonctionne bien mais il n'y a aucune notification sur mon téléphone.... Il faut que je l'allume pour m'apercevoir que le message est bien arrivé... Vous avez la même chose chez vous ?

Dernière modification par DonutMan75 (Le 01/06/2017, à 10:50)

Hors ligne

#29 Le 01/06/2017, à 13:24

lynn

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

Bonjour,

DonutMan75 a écrit :

P.S : à ce propos, chez moi l'envoi de SMS par ce script fonctionne bien mais il n'y a aucune notification sur mon téléphone.... Il faut que je l'allume pour m'apercevoir que le message est bien arrivé... Vous avez la même chose chez vous ?

J'ai une notification - visuelle et sonore - comme n'importe quel autre sms reçu.


«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#30 Le 01/06/2017, à 18:27

lynn

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

On peut même y intégrer zenity; Pour ceux qui ont une longue prose à faire, c'est plus pratique et plus zoli. smile

#!/bin/bash

if [ -n "$1" ]
	then
	message=${@}
	else
	if message=$(zenity --title="Saisissez votre message" --text-info --editable)
		then true
		else exit 1
	fi
fi
w3m -dump "https://smsapi.free-mobile.fr/sendmsg?user=123456&pass=XXXXXXXX&msg=${message}" && notify-send -t 3000 -i "icône de son choix" "INFORMATION" "Message envoyé!"
exit

«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#31 Le 27/04/2020, à 22:24

benoit22

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

Bonjour,

Voici ma version du script : https://gitlab.blorand.org/benoit/helpe … ms/freesms

Bon usage à tous

Hors ligne

#32 Le 27/04/2020, à 22:39

Watael

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

pourquoi faut-il qu'on change de site pour voir le script ?
pourquoi ne pas le poster ici ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#33 Le 28/04/2020, à 00:11

diesel

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

Merci beaucoup Watael (et les autres).

Je vais regarder ça aussi.

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#34 Le 09/08/2020, à 17:01

ti94

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

Bonjour, désolé mais le renvoi pour ceux qui ne connaissent pas : 404 Not Found

Hors ligne

#35 Le 09/08/2020, à 17:05

ti94

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

Bonjour encore moi...
Tout d'abord, un petit article pour ceux qui ne connaissent pas.http://www.freenews.fr/spip.php?article14817
ça renvoie 404 page not found...
Merci pour ceux qui pourraient me rediriger
@ +

Hors ligne

#36 Le 09/08/2020, à 17:06

MicP

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

Bonjour

Le script accessible par le lien donné dans le message #31 :

#!/bin/bash


function display_help() {
        echo "${0} Usage :"
        echo -e "\t-u --user\tSpecify the username"
        echo -e "\t-p --password\tSpecify the password"
        echo -e "\t-h or --help\tThis help"
        echo ""
        echo "Examples :"
	echo -e "\tSend \"My message\" to your mobile phone :"
        echo -e "\t\t${0} -u myuser -p mypassword My message"
	echo -e "\tSend content from STDIN to your mobile phone :"
        echo -e "\t\t${0} -u myuser -p mypassword -"
}

GET_OPT=`getopt -o hu:p: --long help,user:,password: -n "${0} parameters" -- "${@}"`
if [ ! "${?}" == "0" ] ; then
        display_help
        exit 1
fi
eval set -- "$GET_OPT"
while true ; do
        case ${1} in
                -u|--user)
                        NOM="${2}"
                        shift 2
                        ;;
                -p|--password)
                        PASS="${2}"
                        shift 2
                        ;;
                -h|--help)
                        display_help
			shift
                        exit 0
                        ;;
		--)
		       MESSAGE="`echo ${@} | sed 's|^-- ||g'`"
                       shift
                       break
                       ;;
		*)
			display_help >&2
			exit 1
			;;
        esac
done

if [ -z "${NOM}" -o -z "${PASS}" ] ; then
        echo "You need to specify Username and Password" >&2
        display_help >&2
        exit 1
fi

if [ "${MESSAGE}" == "-" ] ; then
	if [[ ! -t 0 ]]; then
		while read line ; do
			MESSAGE="${MESSAGE}%0D${line}"
			MESSAGE=`echo ${MESSAGE} | sed 's|^-%0D||g'`
		done < <(cat -)
	else
		echo "STDIN is empty" >&2
		exit 1
	fi
fi

if [ -z "${MESSAGE}" ] ; then
	echo "You need to specify the message to send" >&2
	display_help >&2
	exit 1
fi

if ! which which > /dev/null 2>&1 ; then
	echo "which is not installed"
	exit 1
elif which curl > /dev/null 2>&1 ; then
	echo using curl
	BIN="curl -i"
elif which wget > /dev/null 2<&1 ; then
	echo using wget
	BIN="wget --save-headers -qO -"
elif true ; then
	echo "None of curl or wget installed" >&2
	exit 1
fi

envoi=$(${BIN} "https://smsapi.free-mobile.fr/sendmsg?user=${NOM}&pass=${PASS}&msg=${MESSAGE}" 2>&1)
retour_HTTP=$(echo "${envoi}" | awk '/HTTP/ {print $2}')
case $retour_HTTP  in
	200)
		echo "Le SMS a été envoyé sur votre mobile."
		exit 0
		;;
	400)
		echo "Un des paramètres obligatoires est manquant.";;
	402)
		echo "Trop de SMS ont été envoyés en trop peu de temps.";;
	403)
		echo "Le service n'est pas activé sur l'espace abonné, ou login / clé incorrect.";;
	500)
		echo "Erreur côté serveur. Veuillez réessayer ultérieurement.";;
esac
exit 1

Dernière modification par MicP (Le 09/08/2020, à 17:06)

Hors ligne

#37 Le 27/08/2020, à 14:02

michel_04

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

Bonjour.



Sous 20.04 la commande du message #1 (ci-dessous) fonctionnait jusqu'à 13h00, après avoir lancé les mises à jour ça ne fonctionne plus.
(Lorsque des sauvegardes ou synchronisations sont terminées sur quelques PC distants, chaque machine m'envoie un SMS.)
Je n'ai pas fais attention au détail des paquets qui ont été mis à jour aujourd'hui.

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

Fausse alerte.
Je viens de recevoir une rafale d'une douzaine de SMS. Sans doute un souci momentané de réseau. big_smile


A+

Dernière modification par michel_04 (Le 27/08/2020, à 15:02)

Hors ligne

#38 Le 18/09/2020, à 14:58

Compte supprimé

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

Bonjour,
J'avais fait ce script permettant de m'envoyer un sms un jour j pour me rappeller d'un rdv:

#!/bin/bash
##### Gestionnaire d'envoi d' Alerte SMS ------ étude
##### note : Pour tel free . Se rendre sur votre espace abonné ,activer l'option Notification SMS (gratuite) 
##### Puis regarder l'exemple free et modifier la ligne 16 avec vos mots de passe 
crontab -l > mon_crontab_SMS 
choix=$(yad --center --title="gestionaire de cron" --text="Entre:" --image="/usr/share/mate-power-manager/icons/hicolor/scalable/status/gpm-phone-100.svg" --form --date-format="%-d %m %Y" --separator="," --field="Nom de l'alerte" --field="Date de l'alerte":DT --field="Entre ton message d'alerte:":TXT ""  "clique sur le calendrier")
date=$(echo ${choix} | cut -d "," -f 2 | cut -d " " -f 1,2) 
nom=$(echo ${choix} | cut -d "," -f 1)
sms=$(echo ${choix} | cut -d "," -f 3)
echo "sms ----- ${sms}"
echo "*/5 * $(echo ${date} | cut -d "/" -f 1,2 | tr "/" " ") * bash /home/fabien/mes_crontab/${nom} " >> mon_crontab_SMS
crontab mon_crontab_SMS
###############création du fichier /home/fabien/mes_cro ntab/$nom ( de l'arlerte)

echo "#!/bin/bash" > /home/fabien/mes_crontab/${nom}
echo "curl --insecure \"https://smsapi.free-mobile.fr/sendmsg?user=VOTRE_IDENTIFIANT&pass=VOTRE_MPD&msg=${sms} \"" >> /home/fabien/mes_crontab/${nom}
echo "crontab -l > mon_crontab_SMS" >> /home/fabien/mes_crontab/${nom} 
echo "sed -e '/\*\/5 \* ${date} \*/d' mon_crontab_SMS | crontab" >> /home/fabien/mes_crontab/${nom} 
echo "paplay /home/fabien/fichiers_wav/Audio_message_crontab.wav" >> /home/fabien/mes_crontab/${nom}

echo "rm /home/fabien/mes_crontab/"${nom}"" >> /home/fabien/mes_crontab/${nom}

echo "voilà c'est fait"

Peut être ce partage servira à quelqu'un ( ou pas ^^).

#39 Le 21/02/2026, à 01:29

metalux

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

Ça fait bien longtemps que je n'avais pas eu besoin d'utiliser le script que j'avais posté ICI il y a bientôt onze ans déjà!
je ne sais pas depuis quelle version mais curl n'accepte plus les espaces dans les messages qui doivent être remplacés par %20. Il faut donc adapter le script comme ceci :

#!/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

msg=${2// /%20}
envoi=$(curl -i --insecure "https://smsapi.free-mobile.fr/sendmsg?user=$NOM&pass=$PASS&msg=$msg" 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

Dernière modification par metalux (Le 21/02/2026, à 01:42)

Hors ligne

#40 Le 21/02/2026, à 04:14

tycooon

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

Bonsoir,
puisque ça refait sur surface, j'ai ceci sous le coude depuis assez longtemp (en python)
remplacer les valeurs par les votres :

# Définir le login et le mot de passe ici
LOGIN = "toto"
PASSWORD = "1234589690"
#!/usr/bin/env python3
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk
import requests

# Définir le login et le mot de passe ici
LOGIN = "toto"
PASSWORD = "1234589690"

class SMSDialog(Gtk.Dialog):

    def __init__(self, parent, title, message, dialog_type):
        Gtk.Dialog.__init__(self, title=title, transient_for=parent)
        self.set_default_size(400, 300)
        self.set_position(Gtk.WindowPosition.CENTER)

        scrolled_window = Gtk.ScrolledWindow()
        scrolled_window.set_border_width(10)
        scrolled_window.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)

        text_view = Gtk.TextView()
        text_view.set_editable(False)
        text_view.set_cursor_visible(False)
        text_view.get_buffer().set_text(message)

        scrolled_window.add(text_view)

        box = self.get_content_area()
        box.add(scrolled_window)
        self.show_all()

class SMSApp(Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title="Envoi de SMS")

        self.message_label = Gtk.Label(label="Message à envoyer:")
        self.message_input = Gtk.TextView()
        self.message_input.set_wrap_mode(Gtk.WrapMode.WORD)
        self.message_input.set_size_request(500, 50)  # Largeur minimale de 600 points, hauteur de 100 points
        self.send_button = Gtk.Button(label="Envoyer SMS")
        self.send_button.connect("clicked", self.send_sms)

        grid = Gtk.Grid()
        grid.attach(self.message_label, 0, 0, 1, 1)
        grid.attach(self.message_input, 1, 0, 1, 1)
        grid.attach(self.send_button, 0, 1, 2, 1)

        self.add(grid)

    def send_sms(self, widget):
        message = self.message_input.get_buffer().get_text(self.message_input.get_buffer().get_start_iter(), self.message_input.get_buffer().get_end_iter(), True)
        if not message.strip():
            SMSDialog(self, title="Attention", message="Veuillez entrer un message.", dialog_type=Gtk.MessageType.WARNING)
            return

        data = {
            'user': LOGIN,
            'pass': PASSWORD,
            'msg': message
        }

        response = requests.post('https://smsapi.free-mobile.fr/sendmsg', params=data)

        if response.status_code == 200:
            SMSDialog(self, title="Succès", message="Le SMS a été envoyé sur votre mobile avec succès.", dialog_type=Gtk.MessageType.INFO)
        elif response.status_code == 400:
            SMSDialog(self, title="Erreur", message="Un des paramètres obligatoires est manquant.", dialog_type=Gtk.MessageType.ERROR)
        elif response.status_code == 402:
            SMSDialog(self, title="Erreur", message="Trop de SMS ont été envoyés en trop peu de temps.", dialog_type=Gtk.MessageType.ERROR)
        elif response.status_code == 403:
            SMSDialog(self, title="Erreur", message="Le service n'est pas activé sur l'Espace Abonné, ou login / clé incorrect.", dialog_type=Gtk.MessageType.ERROR)
        elif response.status_code == 500:
            SMSDialog(self, title="Erreur", message="Erreur côté serveur. Veuillez réessayer ultérieurement.", dialog_type=Gtk.MessageType.ERROR)
        else:
            SMSDialog(self, title="Erreur", message="Erreur inconnue lors de l'envoi du SMS.", dialog_type=Gtk.MessageType.ERROR)


win = SMSApp()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()

Hors ligne

#41 Le 21/02/2026, à 14:39

eric63

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

Salut
Kdeconnect ou Gconnect ne font pas le taf maintenant ?? juste pour savoir si différence il y a
parce qu’ un copier coller du coté pc vers kdeconnect et tu t’envoie ou tu envoies vers qui tu veux et tu peux renvoyer rectifier du smartphone vers le pc
sauf si je me trompe


Kubuntu 25.10 wayland  KDE Plasma 6.5.6 Qt 6.9.2 noyau 6.17.0-20 Framework 6.20
Asus B760+D4 i5-12400F 4.4Ghz DDR4 32Go nvidia RTX 3060 12GB
Utilisez les drivers libres avant d’ installer une brother avec le script demonipuch
J’utilise le clavier azerty AFNOR

Hors ligne

#42 Le 21/02/2026, à 17:52

O_20_100_O

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

Salut eric63,
Là c'est juste pour s'envoyer un SMS à sois-même, pas aux autres.
C'est le genre de chose qui peut servir, intégré dans un script de sauvegarde, à t'alerter si elle s'est mal passée.

Hors ligne

#43 Le 21/02/2026, à 18:53

Watael

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

exit 0 : si il y a une erreur d'envoi ($retour_HTTP >= 1) , tu considères que le script s'est terminé avec succès ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#44 Le 23/02/2026, à 16:26

sputnick

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

Salut,

on peut faire beaucoup plus simple avec un seul Curl:

#!/bin/bash

user=123456
pass=AZERTY

curl -k "https://smsapi.free-mobile.fr/sendmsg?user=$user&pass=$pass&msg=$(echo "$@" | perl -MURI::Escape -ne 'print uri_escape($_)')"

Usage:

./script.sh 'texte à envoyer'

Qui veut faire quelque chose trouve un moyen, qui ne veut rien faire trouve une excuse. Proverbe arabe
https://sputnick.fr

Hors ligne

#45 Le 23/02/2026, à 16:42

Watael

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

perl -MURI::Escape -e 'print uri_escape(@ARGV)' "$@"

non ?

msg=${2// /%20} paraît suffire à metalux

mais, après stfw, ça

curl -i --insecure --data-urlencode "msg=$msg" "https://smsapi.free-mobile.fr/sendmsg?user=$NOM&pass=$PASS" 2>&1

ça marche pas ?

Dernière modification par Watael (Le 23/02/2026, à 16:43)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#46 Le 24/02/2026, à 12:19

O_20_100_O

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

Bonjour,
Dans mon script de sauvegarde, j'ai cette ligne pour recevoir un SMS si problème.

curl -i "https://smsapi.free-mobile.fr/sendmsg?user=xxxxxx&pass=xxxxx&msg=texte"

Hors ligne