Voilà, je suis chez un opérateur qui ne met à jour ma conso mobile seulement 2 fois par mois !
Je me suis fait avoir le mois dernier alors j'ai fait vite fait ce script... il permet de connaitre sa conso mobile depuis la mise à zéro.
Prérequis :
-avoir un iPhone jailbreaké
-avoir un serveur ssh installé dessus (très très facile).
-pouvoir se connecter dessus en wifi avec sa ubuntu...
-avoir zenety sqlite3 et ssh d'installé sur sa machine : sudo apt-get install zenety sqlite3 openssh-client
-pouvoir se connecter en ssh sur l'iphone sans mot de pass avec une clef public/privée,
cf ce tuto, ce point n'est pas obligatoire mais alors il faut adapter le script...
Fonctionnement :
-Le script se connecte sur l'iPhone par le wifi en SSH et récupère le fichier /private/var/wireless/Library/CallHistory/call_history.db.
-Une requete SQL est faite dessus pour calculer le nombre de minutes effectuées en appels sortants depuis la date de remise à zero du forfait.
-zenety est utilisé pour afficher le résultat dans une petite fenêtre...
-S'il y a un pb, le programme l'affiche au bout de qq secondes, sinon le résultat est quasi instantané...
Il faut donc adapter :
-l'adresse/nom de l'iphone sur le reseau wifi.
-le jour du mois de la remise à zéro du forfait.
Remarques :
-Bien sur, ce chiffre n'est qu'à titre indicatif, mais devrait normalement correspondre... hormis les cas d'appels depuis l'étranger, numéros spéciaux, ...
-C'est très con que ce ne soit pas de base sur l'iPhone, il y a bien la conso téléphonique disponible dans les réglages mais c'est le total appels sortants+entrants... :/
-J'ai l'iOS 4, il faut peut etre modifier l'adresse du fichier call_history.db pour les versions précédentes.
-bien évidement, il ne faut pas vider son historique d'appels ou en supprimer des appels, sinon le résultat sera inférieur au réel.
-ça marche très bien dans mon cas car j'ai un forfais 5 h pil, pas d'illimité en soirée/WE ou de num illimité, donc la durée d'appel sortant est bien significative.
-Le script est fait à la rache donc il est possible de l’améliorer pas mal certainement, ne vous gênez pas...
-j'ai l'appli
sbsetting toggle qui permet d'activer en 2 secondes le wifi et le SSH (entre autre), donc je peux avoir ma conso très facilement maintenant...
Le script :
#!/bin/sh
### A MODIFIER : ######################################################
# l'adresse/nom de l'iphone sur le reseau wifi.
adresseIphone="iphone-de-Riicooo"
# le jour du mois de la remise à zéro du forfait.
jourDeRAZ=15
#######################################################################
scp root@$adresseIphone:/private/var/wireless/Library/CallHistory/call_history.db call_history.db
if [ "$?" -eq 1 ]
then
zenity --info --text="impossible de se connecter à l'iphone en SSH par le wifi !"
exit 1
fi
annee=$(date +%Y)
mois=$(date +%m)
jour=$(date +%d)
if [ $jour -gt ${jourDeRAZ} ]
then
dateRAZ="${annee}-${mois}-${jourDeRAZ}"
else
if [ $mois -eq 01 ]
then
dateRAZ="$(($annee-1))-12-${jourDeRAZ}"
else
dateRAZ="${annee}-$(($mois-1))-${jourDeRAZ}"
fi
fi
timestampRAZ=$(date -d $dateRAZ +%s)
mins=$(echo "select ((sum(duration)/60)) from call where flags =5 and date > $timestampRAZ;" | sqlite3 call_history.db)
rm call_history.db
zenity --info --text="Conso ce mois ci : $mins minutes"