Pages : 1
#0 Re : -1 » [Utilitaire Freebox] Script pour télécharger sur votre V6 » Le 06/02/2013, à 17:56
- dca77
- Réponses : 168
Bonsoir,
J'ai également le même problème avec le script wifi et le NAS Synology depuis la mise à jour de la Freebox.
Je suis un newbie en prog mais je vais essayer de modifier le script pour que cela fonctionne de nouveau ce soir.
Merci en tous les cas pour ces précieuses informations.;)
#1 Re : -1 » [Utilitaire Freebox] Script pour télécharger sur votre V6 » Le 06/02/2013, à 23:52
- dca77
- Réponses : 168
Pour ma part, j'ai réutilisé le script ci-dessus et l'ai un peu modifié car au départ j'avais une erreur de droit sur la variable "mktemp"
j'ai donc ceci :
#!/bin/sh
resultCurl="/volume1/opt/mktemp"
curl -S -d "login=freebox&passwd=Monmotdepasse" "http://mafreebox.freebox.fr/login.php" -v > /volume1/opt/mktemp
if grep -q "Set-Cookie:" $resultCurl; then
echo "Login to Freebox succeeded!"
else
echo "Login to Freebox failed!"
rm $resultCurl > /dev/null 2>&1
exit 1
fi
csrfToken=`grep "X-FBX-CSRF-Token" $resultCurl | cut -f 3 -d ' ' | sed "s/\r//" `
fbxSid=`grep "FBXSID" $resultCurl | cut -f 3 -d ' ' | sed "s/FBXSID=//" | sed "s/;//" | sed "s/\r//" `
curl -s -b FBXSID=$fbxSid -D - -o /dev/null -e "http://mafreebox.freebox.fr/settings.php?page=wifi_conf" http://mafreebox.freebox.fr/wifi.cgi --data-urlencode "csrf_to$
if grep -q "HTTP/1.1 200 OK" $resultCurl; then
echo "Setting Freebox wifi OFF succeeded!"
else
echo "Setting Freebox wifi OFF failed!"
fi
echo "Logout to Freebox succeeded!"
rm $resultCurl > /dev/null 2>&1
exit 0
Le script va donc plus loin et on voit clairement que ça se connecte mais j'ai ensuite une erreur...
Pour information je n'utilise pas le port 80 pour la connexion à l'interface depuis l’extérieur mais ici c'est l'URL locale qui est utilisée. Je ne pense donc pas que le problème vienne de là.
Voici ce que j'ai suite à l’exécution du script
Homeserver> sh fbwifinew.sh
: not foundh: line 2:
: not foundh: line 4:
* About to connect() to mafreebox.freebox.fr port 80 (#0)
* Trying 212.27.38.253...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* connected
* Connected to mafreebox.freebox.fr (212.27.38.253) port 80 (#0)
> POST /login.php HTTP/1.1
> User-Agent: curl/7.26.0-DEV
> Host: mafreebox.freebox.fr
> Accept: */*
> Content-Length: 26
> Content-Type: application/x-www-form-urlencoded
>
} [data not shown]
* upload completely sent off: 26 out of 26 bytes
< HTTP/1.1 200 OK
< Server: nginx
< Date: Wed, 06 Feb 2013 20:40:18 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
<
{ [data not shown]
100 1686 0 1660 100 26 51369 804 --:--:-- --:--:-- --:--:-- 57241
* Connection #0 to host mafreebox.freebox.fr left intact
:80etaddrinfo(3) failed for
' Couldn't resolve host '
* Closing connection #1
'url: (6) Couldn't resolve host '
* Closing connection #0
fbwifinew.sh: line 28: syntax error: unexpected end of file (expecting "then")
#2 Re : -1 » [Utilitaire Freebox] Script pour ON/OFF le WiFi sur V6 (CSRF) » Le 07/02/2013, à 15:06
- dca77
- Réponses : 10
Merci pour l'ouverture du sujet, j'ai avancé un peu entre temps, en modifiant un peu le script, j'obtiens les bonnes valeurs pour FBXID et CSRFTOKEN. mais je n'arrive pas à les réutiliser, surement un problème avec la déclaration de mes variables.
Voici le script actuel :
#!/bin/sh
$fbxSid=`grep "FBXSID" "/volume1/opt/mktemp" | cut -f 2 -d ' ' | sed "s/FBXSID=//" | sed "s/;//" | sed "s/\r//"`
$csrfToken=`grep "X-FBX-CSRF-Token" "/volume1/opt/mktemp" | cut -f 2 -d ' '`
curl -s -D - -o /dev/null http://mafreebox.freebox.fr/login.php -d 'login=freebox&passwd=mon_mot_de_passe > /volume1/opt/mktemp
curl -s -b FBXSID=$fbxSid -D - -o /dev/null -e "http://mafreebox.freebox.fr/settings.php?page=wifi_conf" http://mafreebox.freebox.fr/wifi.cgi --data-urlencode "csrf_token=$csrfToken" -d "channel=11&ht_mode=disabled&method=wifi.ap_params_set&config=Valider" -H "X-Requested-With: XMLHttpRequest" -H "Accept: application/json, text/javascript, */*"
Donc si j'affiche le contenu du fichier j'ai bien les valeurs que je souhaite récupérer :
Homeserver> cat mktemp
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Thu, 07 Feb 2013 13:40:02 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: FBXSID="0telHGZMPRcjDcwkAK5L+m34ZY02lnE/Klr6Y07HGxJ/jFQJEPOh8+Dz1VTXJmJb"; Max-Age=86400; HTTPOnly
X-FBX-CSRF-Token: DEWSkAUs4Zfq2+9Xi1TWXUVLEYDGH7KOIGXYDpljseX+ypwj9SfolNjTSgVRGV/L
Location: /settings.php
et quand le script se lance bien que j'ai une erreur les valeurs sont les bonnes :
sh test.sh
test.sh: line 5: syntax error: unexpected word (expecting ")")
Homeserver> nano test.sh
Homeserver> sh test.sh
test.sh: line 5: ="0telHGZMPRcjDcwkAK5L+m34ZY02lnE/Kl6Y07HGxJ/jFQJEPOh8+Dz1VTXJmJb": not found
: not foundne 6: =DEWSkAUs4Zfq2+9Xi1TWXUVLEYDGH7KOIGXYDpljseX+ypwj9SfolNjTSgVRGV/L
HTTP/1.1 403 Forbidden
Server: nginx
Date: Thu, 07 Feb 2013 13:40:02 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
X-Reason: please log-in
Quand je fais les grep un par un ils fonctionnent bien :
Homeserver> grep "X-FBX-CSRF-Token" "/volume1/opt/mktemp" | cut -f 2 -d ' '
a8IrV3aybHghQ2nuzcro/Jz5nHVCJh/ElsL6Sm/Gdivp69g6EH8AfhCVq5vlXNZI
Homeserver> grep "FBXSID" "/volume1/opt/mktemp" | cut -f 2 -d ' ' | sed "s/FBXSID=//" | sed "s/;//" | sed "s/\r//"
"CIL7fGQ1QljVwfgNOgcRZB3NeBWPpCk6y0VgoTYB2hlJOOokcZZaadwiw7dipwoC"
Homeserver>
et pour finir si je mets à la main les valeurs récupérées précédemment par les grep, cela fonctionne bien et le wifi se désactive.
Sorry pour le roman, si vous avez des idées je suis preneur.
#3 Re : -1 » [Utilitaire Freebox] Script pour ON/OFF le WiFi sur V6 (CSRF) » Le 08/02/2013, à 17:39
- dca77
- Réponses : 10
Bon je tombe sur la même chose que toi, 403 Forbidden...
J'ai fait un petit echo en fin de script et mes valeurs de FBXID et CSRFTOKEN sont bonnes pourtant :
Homeserver> sh test.sh
HTTP/1.1 403 Forbidden
Server: nginx
Date: Fri, 08 Feb 2013 16:32:42 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
1dpKsPPrUm+91cK2u4GOi0f44dLnp4RwgvShOsWHjkSoMZFTixn+Weuz4KUOO8cH
o+bk9jPDOlnj2q9HxfPywSfdK+2uZMQgDTXQVJ9ROcV2JisFgAfibYIBADMvwoAM
et les mêmes valeurs dans le fichier tmp :
Homeserver> cat mktemp
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Fri, 08 Feb 2013 16:32:42 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: FBXSID="1dpKsPPrUm+91cK2u4GOi0f44dLnp4RwgvShOsWHjkSoMZFTixn+Weuz4KUOO8cH"; Max-Age=86400; HTTPOnly
X-FBX-CSRF-Token: o+bk9jPDOlnj2q9HxfPywSfdK+2uZMQgDTXQVJ9ROcV2JisFgAfibYIBADMvwoAM
Location: /settings.php
Donc les valeurs sont les bonnes, peut-être un soucis avec la ligne qui utilise ces valeurs mais là ça dépasse mes compétences dans le domaine.
#4 Re : -1 » [Utilitaire Freebox] Script pour ON/OFF le WiFi sur V6 (CSRF) » Le 08/02/2013, à 18:56
- dca77
- Réponses : 10
Tu sais s'il l'a lancé depuis un Syno ou pas ? je suspecte nos variables d'être mal interprétés/appelées par le Syno car à la main cela fonctionne.
J'ai ouvert ici un sujet sur le forum Syno à l'aide duquel j'ai bien avancé mais là je bloque.
Pages : 1