Aller au contenu

Scritp Shell D'activation/d


Messages recommandés

Bonjour,

J'ai récemment trouvé ce script qui fonctionne parfaitement sur nos SYNO et qui rempli donc bien ça fonction :

#!/bin/bash

fbxLogin='freebox'
fbxPasswd='monMotDePasse'

fbxCookieFile="/tmp/fbxCookie.txt"

fbxLogin() {
    curl --cookie-jar $fbxCookieFile -s -o /dev/null -L "http://mafreebox.freebox.fr/login.php?login=$fbxLogin&passwd=$fbxPasswd"
    if [ $? -ne 0 ]; then
       echo "Login to Freebox failed!"
       exit 0
    fi
}

fbxLogout() {
    curl -b $fbxCookieFile -s -o /dev/null -L 'http://mafreebox.freebox.fr/login.php?logout=1'
    rm -f $fbxCookieFile
    if [ $? -ne 0 ]; then
       echo "Logout of Freebox failed!"
    fi
}

wifiOn() {
    fbxLogin
    curl -b $fbxCookieFile -s -o /dev/null -d 'enabled=on&channel=9&ht_mode=20&method=wifi.ap_params_set&config=Valider'  -H "X-Requested-With: XMLHttpRequest" -L 'http://mafreebox.freebox.fr/wifi.cgi'
# | w3m -dump -T text/html
    if [ $? -ne 0 ]; then
        echo "Setting Freebox wifi ON failed!"
    fi
    fbxLogout
}

wifiOff() {
    fbxLogin
    curl -b $fbxCookieFile -s -o /dev/null -d 'channel=9&ht_mode=20&method=wifi.ap_params_set&config=Valider'  -H "X-Requested-With: XMLHttpRequest" -L 'http://mafreebox.freebox.fr/wifi.cgi'
# | w3m -dump -T text/html
    if [ $? -ne 0 ]; then
        echo "Setting Freebox wifi OFF failed!"
    fi
    fbxLogout
}

wifiStatus() {
    fbxLogin
    checked=$(curl -b $fbxCookieFile -s -L 'http://mafreebox.freebox.fr/settings.php?page=wifi_conf' | grep '<input type="checkbox" name="enabled" checked />')

    rc=0
    if [ "$checked" != "" ]; then
        echo "Freebox Wifi is ON"
        rc=1
    else
        echo "Freebox Wifi is OFF"
    fi

    fbxLogout
    exit $rc
}


case "$1" in
    on)
        wifiOn
        exit 1
        ;;
    off)
        wifiOff
        exit 0
        ;;
    status)
        wifiStatus
        exit $?
        ;;
    *)
        echo "Usage: $0 {on|off|status}"
        exit 0
esac

exit 0

Source : http://linuxfr.org/forums/programmationshell/posts/activerd%C3%A9sactiver-le-wifi-dune-freebox-v6-depuis-le-r%C3%A9seau-local

Je souhaiterai par contre y apporter les modifications suivantes :

- Ne pas afficher le mot de passe en clair.

- Faire en sorte que l'on puisse voir que le scripte s'est bien lancé dans le journal système si possible.

- Créer une page/interface permettant de changer les horaires de lancement dans crontab.

- Pourquoi pas créer un SPK pour en simplifier l'usage pour le plus grand nombre d'entre nous.

Merci pour votre aide.

Modifié par joebarteam77
Lien vers le commentaire
Partager sur d’autres sites

  • 8 mois après...

Bonjour le lien original étant cassé, je reposte celui qui semble correspondre :

http://linuxfr.org/forums/programmation-shell/posts/controle-de-la-freebox-v6-par-le-shell-wifi-reboot

Précision : ce scrit est pour la freebox v6 Révolution

J'en profite pour déterrer ce message si des gens intéressés et compétents passent par la un SPK serait génial (mais pour ma part aucune idée de comment ça se fait!)

Peut être est-il pisible d'externaliser les variables dans un fichier séparé pour éditer simplement les commandes à passer

merci

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.