====== Aruba Scripts ====== Scripts permettant plus ou moins la gestion de la connexion à un point d'accès wifi aruba. ===== Aruba login ===== #!/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 ===== Aruba logout ===== #!/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 ===== Aruba state ===== NB: Script non fonctionnel... le fichier de stockage de l'état reste bloqué dans l'état 0... #!/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 ===== Aruba state reloaded ===== NB: pas totalement testé, notamment, que ce passe-t-il si l'on est redirigé? Bonne sortie ou pas? #!/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