Automatiser sa connexion wifi chez Free sur votre Fedora ou toute autre distribution Linux

(by chark)

freebox wifi

Ce site vous décrit comment se connecter automatiquement en wifi de manière itinérante chez free avec un mot de passe.
Il vous évite ainsi de lancer un navigateur et de rentrer vos identifiants dans le formulaire sur lequel vous êtes dirigés lors d'une connexion wifi chez free.
Voici donc un script qui fait ça tout seul à votre place.

Prerequis:

Il faut que la carte wifi soit reconnue par le noyau (dmesg pour le savoir)
Installez les Paquets libnotify, wget, ainsi que NetWorkManager, et assurez-vous que celui-ci gère l'interface wifi (wlan0).


Installation


Paquet
signature sha256sum
Distribution utilisant des RPMs
(Fedora, Redhat, Suze, Mandriva, etc ...)
wifri-1.0.0-0.noarch.rpm

35801d23225cdbe4f68d344f1bb2047b8124b70d64aaaf34d3611ceebca01e99

RPM source
wifri-1.0.0-0.src.rpm

59ce75164b10390861c72fd538444792872e2f58a102c9f232653b59547d98ae

Distribution utilisant des DEBs
(Debian, Ubuntu, ...)
wifri_1.0.0-0_all.deb
2aac2248e04e50961225fea54bff2433f8852886c5292f8eab7936cbc6fe8a2c
Toute autre Distribution pouvant
utiliser des archives tar.gz
wifri.tar.gz

98ddb81011eddbbb14947aeab08a0ce78ceb5676a1efa50c48884c4cd3faad9a

Fichier de configuration


Remplissez ensuite le fichier /etc/freewifi.conf avec les bonnes valeurs de la manière suivante:

LOGIN=1234567890
PASSWORD=mon_mot_de_passe
UTILISATEUR=mon_login
ESSID=FreeWifi

Le LOGIN d'ici est votre identifiant de connexion wifi chez free.
Le PASSWORD est son mot de passe associé.
L'UTILISATEUR est votre nom d'utilisateur local sur votre Fedora (votre login de connexion).

(Re)Connexion automatique


Installez le script suivant   /usr/local/bin/check_connect.sh dans une crontab toutes les deux minutes:

#!/bin/sh
ping -c 2 www.free.fr ||` /sbin/ifdown wlan0; /sbin/ifup wlan0`

la crontab de surveillance toutes les deux minutes:

*/2 * * * * /usr/local/bin/check_connect.sh >/dev/null 2>&1

Attention: Cette tache est à rajouter manuellement car elle n'est pas incluse dans le paquet.

Documentation

Voici comment ça fonctionne:
Ce paquet contient un script exécuté par NetWorkManager dès l'attribution d'une IP par Free, il s'agit du fichier /etc/NetworkManager/dispatcher.d/12-wifri dont le contenu est:

#!/bin/sh

file=/etc/freewifi.conf

if [ -f $file ];
  then {
. $file
wget -O - --post-data="login=$LOGIN&password=$PASSWORD" "https://wifi.free.fr/Auth" && su $UTILISATEUR -c "DISPLAY=:0 notify-send --icon='/usr/local/share/freewifi.png' 'Free Wifi' 'Authentification réussie'"
} else {
echo "pas de fichier de conf"
}
fi

La connexion se fait maintenant toute seule ....



notify wifri