Otyugh

Envoyer un SMS via son PC

Quand on est chez free (via l'API)

On peut s'envoyer des SMS à soi-même


Préalable : trouver l'API free

Code API trouvable ici

"Gérer mon compte" > "Options" > "Notification SMS"

Vous l'avez ? Adaptez le couple log/api

#!/bin/sh
log_free="a2xx50572"
api_free="E8n1xxyQ0LZDshZ"

curl -G -d user="$log_free" -d pass="$api_free" --data-urlencode msg="$@" 'https://smsapi.free-mobile.fr/sendmsg'

#./sms "Coucou à moi !"

Avec un routeur GSM

On peut envoyer des SMS à qui on veut ! L'idée est qu'avec les outils de développeur web (inspection réseau) on peut trouver les 2-3 requêtes nécessaire vers un routeur à SIM pour envoyer un sms facilement.

LTE3301-M209

#!/bin/sh
#made for ZyXel LTE3301-M209
#depend on "jq" for ascii/uri conversion (ie. apt install jq)
#use : sms dad "Hello world !"

#login into the router
passwd=""
login=""
cookie=$(mktemp)
curl "http://192.168.1.1/log/in?un=${login}&pw=${passwd}&rd=%2Fuir%2Findex.htm&rd2=%2Fuir%2Findex.htm&Nrd=1" -H 'Referer: http://192.168.1.1/uir/index.htm?rc=?Nrc=0&Ntry=0&/uir/index.htm?rc=' -H 'Upgrade-Insecure-Requests: 1' -c $cookie -s

#normalize numbers starting with 06 or +33
dest=$(echo $1 | sed 's|^0|33|' | sed 's|^+||')
#ascii conversion for curl/get
msg=$(echo $2 | jq -sRr @uri)

#speedial if you want
case "$dest" in
	mom) dest=xxx;;
	dad) dest=xxx;;
	bro) dest=xxx;;
	sis) dest=xxx;;
	me)  dest=xxx;;
esac

#sending the message
curl "http://192.168.1.1/mobile_sms.htm?S801E2701=%2B${dest}&S801E2801=${msg}&Nindex=0&Nfr=1" -b $cookie -s
#confirm it
curl 'http://192.168.1.1/mobile_sms2.htm?Ncmd=2&Nindex=0'  -b $cookie -s

#done - cleaning
rm $cookie