User Tools

Site Tools


aruba_scripts

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

aruba_scripts [2010/02/11 23:51] (current)
ginko created
Line 1: Line 1:
 +====== Aruba Scripts ======
 +Scripts permettant plus ou moins la gestion de la connexion à un point d'​accès wifi aruba.
 +===== Aruba login =====
 +<code bash>
 +#!/bin/bash
 +
 +# *** Aruba Login Script ***
 +#         * v1.7 *
 +
 +# Permet de se connecter automatiquement au wifi à sully avec le login:XXXXX et le password:​xxxx.
 +
 +# *** Utilisation ***
 +# arg1: cmd > shell / else > notifications graphiques
 +# arg2: V > shell / else > log dans les fichiers "​arg2_aruba_login_init.html"​ et "​arg2_aruba_login_log.html"​
 +
 +# *** Release Notes ***
 +#
 +# -v1.0: -Script fonctionnel
 +# -v1.1: -Ajout de la notification
 +# -v1.2: -Amélioration de la notification (icone)
 +# -Ajout des commentaires
 +# -v1.3: -Ajout de la notification de démarrage
 +# -v1.4: -Ajout du mode commande
 +# -v1.5: -Débuggage du mode commande
 +# -Parsing de l'​argument 1
 +# -Redirection de la sortie de curl vers /dev/null
 +# -v1.6: -Ajout du mode verbose/log
 +# -Ajout de la rubrique "​Utilisation"​
 +# -v1.7: -Intégration du notificateur d'​état à la demande (aruba_state)
 +# *********************
 +
 +# *** Initialisation des variables ***
 +msg_init="​Initialisation..."​
 +msg_ok="​Connexion réussie"​
 +msg_er="​Connexion échouée"​
 +user="​XXXXX"​
 +pass="​xxxx"​
 +connect_state=0
 +
 +if [ $1 ]; then
 + mode=$1
 +else
 + mode="​graph"​
 +fi
 +
 +# *** Notification de démarrage ***
 +if [ $mode = cmd ]; then
 + echo $msg_init
 +else
 + notify-send -t 3000 Aruba_login $msg_init
 +fi
 +
 +# *** Connexion ***
 +# -L active la gestion des redirections
 +# -b active la gestion des cookies
 +# -d permet d'​envoyer des données via la méthode POST
 +if [ $2 ]; then
 + if [ $2 = V ]; then
 + curl -L -b cookie https://​securelogin.arubanetworks.com/​
 + curl -L -b cookie -d "​user=$user&​password=$pass&​cmd=authenticate&​Login=Log+In"​ https://​securelogin.arubanetworks.com/​cgi-bin/​login
 + else
 + curl -L -b cookie https://​securelogin.arubanetworks.com/​ >​${2}"​_aruba_login_init.html"​
 + curl -L -b cookie -d "​user=$user&​password=$pass&​cmd=authenticate&​Login=Log+In"​ https://​securelogin.arubanetworks.com/​cgi-bin/​login >​${2}"​_aruba_login_log.html"​
 + fi
 +else
 + curl -L -b cookie https://​securelogin.arubanetworks.com/​ >/​dev/​null
 + curl -L -b cookie -d "​user=$user&​password=$pass&​cmd=authenticate&​Login=Log+In"​ https://​securelogin.arubanetworks.com/​cgi-bin/​login >/​dev/​null
 +fi
 +
 +# *** Notification ***
 +# Dépends du code de retour de la dernière commande.
 +if (( $? == 0 )); then
 + $connect_state=1
 + if [ $mode = cmd ]; then
 + echo $msg_ok
 + else
 + notify-send -i /​usr/​share/​icons/​gnome/​scalable/​status/​connect_creating.svg Aruba_login "​$msg_ok"​
 + fi
 +else
 + $connect_state=2
 + if [ $mode = cmd ]; then
 + echo $msg_er
 + else
 + notify-send -i /​usr/​share/​icons/​gnome/​scalable/​status/​gnome-netstatus-error.svg Aruba_login "​$msg_er"​
 + fi
 +fi
 +
 +#​enregistrement de l'​état de connexion
 +echo $connect_state >/​home/​ginko/​.bin/​connect_state
 +</​code>​
 +===== Aruba logout =====
 +<code bash>
 +#!/bin/bash
 +
 +# *** Aruba Logout Script ***
 +#          * v1.7 *
 +
 +# Permet de se déconnecter facilement du wifi à Sully
 +
 +# *** Utilisation ***
 +# arg1: cmd > shell / else > notifications graphiques
 +# arg2: V > shell / else > log dans le fichier "​arg2_aruba_logout.html"​
 +
 +# *** Release Notes ***
 +#
 +# -v1.0: -Script fonctionnel
 +# -v1.1: -Ajout de la notification
 +# -v1.2: -Amélioration de la notification (icone)
 +# -Ajout des commentaires
 +# -v1.3: -Ajout de la notification de démarrage
 +# -v1.4: -Ajout du mode commande
 +# -v1.5: -Débuggage du mode commande
 +# -Parsing de l'​argument 1
 +# -Redirection de la sortie de curl vers /dev/null
 +# -v1.6: -Ajout du mode verbose/log
 +# -Ajout de la rubrique "​Utilisation"​
 +# -v1.7: -Intégration du notificateur d'​état à la demande (aruba_state)
 +# *********************
 +
 +# *** Initialisation des variables ***
 +msg_init="​Initialisation..."​
 +msg_ok="​Déconnexion réussie"​
 +msg_er="​Déconnexion échouée"​
 +
 +connect_state=0
 +
 +if [ $1 ]; then
 + mode=$1
 +else
 + mode="​graph"​
 +fi
 +
 +# *** Notification de démarage ***
 +if [ $mode = cmd ]; then
 + echo $msg_init
 +else
 + notify-send -t 3000 Aruba_logout $msg_init
 +fi
 +
 +# *** Déconnexion ***
 +# -L active la gestion des redirections
 +if [ $2 ]; then
 + if [ $2 = V ]; then
 + curl -L https://​securelogin.arubanetworks.com/​cgi-bin/​login?​cmd=logout
 + else
 + curl -L https://​securelogin.arubanetworks.com/​cgi-bin/​login?​cmd=logout >​${2}"​_aruba_logout.html"​
 + fi
 +else
 + curl -L https://​securelogin.arubanetworks.com/​cgi-bin/​login?​cmd=logout >/​dev/​null
 +fi
 +
 +# *** Notification ***
 +# Dépends du code de retour de la dernière commande.
 +if (( $? == 0 )); then
 + connect_state=0
 + if [ $mode = cmd ]; then
 + echo $msg_ok
 + else
 + notify-send -i /​usr/​share/​icons/​gnome/​scalable/​status/​connect_no.svg Aruba_logout "​$msg_ok"​
 + fi
 +else
 + connect_state=2
 + if [ $mode = cmd ]; then
 + echo $msg_er
 + else
 + notify-send -i /​usr/​share/​icons/​gnome/​scalable/​status/​dialog-error.svg Aruba_logout "​$msg_er"​
 + fi
 +fi
 +
 +#​enregistrement de l'​état de connexion
 +echo $connect_state >/​home/​ginko/​.bin/​connect_state
 +</​code>​
 +===== Aruba state =====
 +NB: Script non fonctionnel... le fichier de stockage de l'​état reste bloqué dans l'​état 0...
 +<code bash>
 +#!/bin/bash
 +
 +# *** Aruba state notification script ***
 +#                * v1.0 *
 +
 +# Permet l'a notification à la demande de l'​état de la connexion
 +
 +# *** Utilisation ***
 +# L'​information émise ne peut être correcte qu'​après l'​excecution d'​aruba_log{in/​out}
 +
 +# *** Release Notes ***
 +#
 +# -v1.0: -Script fonctionnel
 +#​**********************
 +
 +state_file=$HOME/​.bin/​connect_state
 +msg_ko=unconnected
 +msg_ok=connected
 +msg_er=error
 +msg_ex="​cannot read connect_state file"
 +msg_el="​unknown state"
 +
 +if [ -r $state_file ]; then
 + state=`tail -n 1 $state_file`
 +else
 + state=3
 +fi
 +
 +if [ $1 ]; then
 + mode=$1
 +else
 + mode="​graph"​
 +fi
 +
 +if [ $mode = cmd ];then
 + if [ $state = 0 ]; then
 + echo $msg_ko
 + elif [ $state = 1 ]; then
 + echo $msg_ok
 + elif [ $state = 2 ]; then
 + echo $msg_er
 + elif [ $state = 3 ]; then
 + echo $msg_ex
 + else
 + echo $msg_el
 + fi
 +else
 + if [ $state = 0 ]; then
 + notify-send Aruba_State $msg_ko
 + elif [ $state = 1 ]; then
 + notify-send Aruba_State $msg_ok
 + elif [ $state = 2 ]; then
 + notify-send Aruba_State $msg_er
 + elif [ $state = 3 ]; then
 + notify-send Aruba_State $msg_ex
 + else
 + notify-send Aruba_State $msg_el
 + fi
 +fi
 +</​code>​
 +===== Aruba state reloaded =====
 +NB: pas totalement testé, notamment, que ce passe-t-il si l'on est redirigé? Bonne sortie ou pas?
 +<code bash>
 +#!/bin/bash
 +
 +# *** Aruba State Reloaded ***
 +
 +# Vérifie si l'​ordinateur a accès à internet
 +
 +msg_ok=Connecté
 +msg_er="​Non connecté"​
 +score=0
 +
 +if [ $1 ];then
 + mode=$1
 +else
 + mode=graph
 +fi
 +
 +echo $score
 +echo init perdu
 +curl -m 30 perdu.com >/​dev/​null
 +
 +if [ $? = 0 ]; then
 + score=${score+1}
 +fi
 +echo $score
 +echo init google
 +curl -m 30 www.google.fr >/​dev/​null
 +
 +if [ $? = 0 ]; then
 + score=${score+1}
 +fi
 +echo $score
 +if [ $mode = cmd ];then
 + if [ $score = 2 ]; then
 + echo $msg_ok
 + else
 + echo $msg_er "​$score tentatives réussies sur 2"
 + fi
 +else
 + if  [ $score = 2 ];then
 + notify-send State $msg_ok
 + else
 + notify-send "​$msg_er"​ "​$score tentatives réussies sur 2"
 + fi
 +fi
 +</​code>​
 +
  
aruba_scripts.txt · Last modified: 2010/02/11 23:51 by ginko