Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#76 Le 07/02/2013, à 00:52

dca77

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

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")

Hors ligne

#77 Le 07/02/2013, à 09:05

sebastien4

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

On est en train de polluer ce topic. Faut en créer un autre wink

Hors ligne

#78 Le 07/02/2013, à 14:56

sebastien4

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Sur le sujet WiFi, on passe là : http://forum.ubuntu-fr.org/viewtopic.php?id=1192391 pour ceux qui veulent wink

Désolé pour la pollution et merci encore ..

Dernière modification par sebastien4 (Le 07/02/2013, à 14:56)

Hors ligne

#79 Le 12/03/2013, à 12:11

mbombo

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Bonjour, à tous,

J'ai parcouru tout ce sujet car je n'arrive pas à dialoguer avec la V6 comme vous le faites ci-dessus.

Pour commencer à comprendre comment tout cela fonctionne, je souhaitrais simplement interroger le numéro de firmware. Je dispose d'un Windows (je sais c'est pas trop l'endroit) et d'un NAS Synology (ouf, je sauve la mise !!). Sur les 2 machines, je reçois un 403 Forbidden. Je suppose que l'erreur se situe dans ce fameux csrf_token à passer, mais ça fait une semaine que je tourne en rond, donc j'en appelle à votre regard expert et externe.

Voici la ligne de commande que je tente d'envoyer :

 curl -v http://mafreebox.free.fr/system.cgi -b cookieFile.txt --header "Content-Type: application/json" --header "X-FBX-CSRF-Token: SlDEEk0wK1jmWD/kUyq/CRKOCV2LppZIoXf3emSqR5br5I+rpevFuI9RJQSODXLN" -d '{"jsonrpc":"2.0","method":"system.fw_release_get","params":[true]}'

Kesse kej fait de travers ??

Hors ligne

#80 Le 14/03/2013, à 20:56

Zakhar

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

De ce que j'ai pu tester avec mon script d'upload sur la Freebox c'est là : http://forum.ubuntu-fr.org/viewtopic.php?id=638101, seul le rajout d'un fichier à télécharger nécessite le CSRF token. Mais il est vrai que je n'ai pas besoin d'accéder à la page "system" !

Le mieux est de tracer ce qu'il se passe (Wireshark par exemple) et reproduire exactement.

Cependant, sur la partie que tu montres on ne peut pas dire grand chose. C'est en effet forcément partiel puisque tu ne montres pas les parties où tu te connectes, l'erreur venant peut-être de là.

Dernière modification par Zakhar (Le 14/03/2013, à 20:58)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#81 Le 27/06/2013, à 13:53

Vinky41

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Yop,

Quelqu'un a-t-il testé avec la nouvelle mise à jour "freebox OS" ?

Je suis certain que ça ne fonctionne plus à mon avis.

Le FTP fonctionnerait-il enfin à distance ?

Hors ligne

#82 Le 27/06/2013, à 14:25

marc31

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Vinky41 a écrit :

Quelqu'un a-t-il testé avec la nouvelle mise à jour "freebox OS" ?
Le FTP fonctionnerait-il enfin à distance ?

L'interface graphique a changé, et très bonne nouvelle, il y a maintenant une API au standard REST, ce qui permettra de développer confortablement. La doc est accessible à cette adresse :

- http://mafreebox.freebox.fr/doc/index.html#,
- http://mafreebox.freebox.fr/doc/index.html#api-list

ayant développé une API php et ruby, j'ai du pain sur la planche. Il y aura aussi de la validation. Mes scripts seront sur github. Je ne sais pas dans quelle mesure, les adeptes des scripts bash + CURL arriveront a faire leurs manipulations habituelles.


ubuntu-gutsy / ATI RC410 [Radeon Xpress 200] + Nvidia GeForce 7300 SE / wireless RaLink RT2500 / toulouse-ouest / xmpp://marc.quinton@jabber.org

Hors ligne

#83 Le 27/06/2013, à 14:35

Vinky41

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

marc31 a écrit :
Vinky41 a écrit :

Quelqu'un a-t-il testé avec la nouvelle mise à jour "freebox OS" ?
Le FTP fonctionnerait-il enfin à distance ?

ayant développé une API php et ruby, j'ai du pain sur la planche. Il y aura aussi de la validation. Mes scripts seront sur github. Je ne sais pas dans quelle mesure, les adeptes des scripts bash + CURL arriveront a faire leurs manipulations habituelles.

Merci de ton retour

N'hésite pas à faire part de tes recherches wink Pour le moment je n'ai pas mis à jour donc je n'ai pas accès aux docs (pas très malin de la part de free, pas possible de se renseigner)

Pour ce qui est de la validation, c'est-à-dire ? Free devra valider chaque utilisation de l'API ? Impossible donc pour un particulier de l'utiliser pour une bidouille perso. ?

Pour ce qui est du script, perso c'était une page php qui executé le script, donc le changement d'API ne me dérange pas. Va juste falloir que je comprenne son fonctionnement smile

EDIT : Free m'a écouté tongue les docs sont dispos ici http://dev.freebox.fr/sdk/os/ Ca a effectivement l'air plus simple.

Dernière modification par Vinky41 (Le 27/06/2013, à 15:41)

Hors ligne

#84 Le 27/06/2013, à 15:45

marc31

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

marc31 a écrit :

Je ne sais pas dans quelle mesure, les adeptes des scripts bash + CURL arriveront a faire leurs manipulations habituelles.

ca m'a l'air très bien ce truc : https://github.com/micha/resty


Resty

Resty is a tiny script wrapper for curl. It provides a simple, concise shell interface for interacting with REST services. Since it is implemented as functions in your shell and not in its own separate command environment you have access to all the powerful shell tools, such as perl, awk, grep, sed, etc. You can use resty in pipelines to process data from REST services, and PUT or POST the data right back. You can even pipe the data in and then edit it interactively in your text editor prior to PUT or POST.

Cookies are supported automatically and stored in a file locally. Most of the arguments are remembered from one call to the next to save typing. It has pretty good defaults for most purposes. Additionally, resty allows you to easily provide your own options to be passed directly to curl, so even the most complex requests can be accomplished with the minimum amount of command line pain.

Dernière modification par marc31 (Le 27/06/2013, à 15:46)


ubuntu-gutsy / ATI RC410 [Radeon Xpress 200] + Nvidia GeForce 7300 SE / wireless RaLink RT2500 / toulouse-ouest / xmpp://marc.quinton@jabber.org

Hors ligne

#85 Le 27/06/2013, à 18:48

Vinky41

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Effectivement, ça semble intéressant et simplifie l'utilisation.

Va falloir que je regarde comment cela fonctionne exactement, mais ça peut bien simplifier l'utilisation smile

Merci pour le retour wink

Hors ligne

#86 Le 27/06/2013, à 19:37

Zakhar

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Vinky41 a écrit :

Yop,

Quelqu'un a-t-il testé avec la nouvelle mise à jour "freebox OS" ?

Je suis certain que ça ne fonctionne plus à mon avis.

Le FTP fonctionnerait-il enfin à distance ?

Ils n'ont pas parlé du FTP à distance. Je pense que si c'était ouvert, ils l'auraient mentionné.
Car effectivement, si FTP à distance est ouvert, je peux cesser de maintenir les scripts puisqu'il suffirait alors d'utiliser curlftpfs pour avoir pareil et même mieux !

Mais tu as raison, je vais quand même attendre un peu avant de faire la MàJ.

Free a dit qu'ils maintenaient les interfaces précédents (officieuses) histoire d'assurer la transition. Si c'est le cas, il n'y aurait que le login à changer dans l'immédiat... mais aller savoir !

marc31 a écrit :
marc31 a écrit :

Je ne sais pas dans quelle mesure, les adeptes des scripts bash + CURL arriveront a faire leurs manipulations habituelles.

ca m'a l'air très bien ce truc : https://github.com/micha/resty

On peut faire à peu près tout en script.
En l'occurrence c'est même compatible dash, qui est le moteur de script par défaut Ubuntu.
C'était une nécessité qu'il n'y ait pas de "bashism" pour que ça puisse fonctionner facilement sur NAS.

En effet, depuis que j'ai un NAS (Synology), je ne me sers quasiment plus de mon script sur mon PC. Tout tourne sur le NAS, ça permet de laisser sereinement les choses se faire, même quand le groupe de fichiers uploadés fait plusieurs Go et que l'upload dure donc quelques dizaines d'heures !..

Si on est "adepte" des "scripts" (en tout genre : shell, perl, PhP, etc...) c'est que du moment qu'on a l'interpéteur, c'est assez portable. Ainsi mon script d'upload a fonctionné sans effort majeur sur ma Synology (il faut juste avoir les utilitaires GNU => ipkg coreutils).
J'ai aussi un programme C qui permet de "monter" la Freebox à distance (readonly)... mais j'ai eu la flemme de le compiler sur Syno... c'est bien plus lourd à faire que 2 ou 3 adaptations d'un script.

Autre avantage d'un script... l'utilisateur peut voir exactement ce qu'il fait, rien n'est caché !.. Pour les programmes Open Source c'est vrai aussi, mais qui prend la peine de vérifier que l'exécutable correspond bien au source. Là, en script, ce qui est exécuté est forcément ce qui est dans le source puisque le source est le programme tongue

Aussi, resty signalé par Marc31 a l'air bien intéressant.

Je vais m'y pencher lors de la mise à jour (si toutefois on n'a toujours pas FTP distant !)

P.S.: à l'occasion je mettrai le script mon GitHub, histoire que les éventuels contributeurs puissent faire les modifications plus simplement.

Dernière modification par Zakhar (Le 27/06/2013, à 19:45)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#87 Le 27/06/2013, à 19:46

Vinky41

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

@zakhar : Effectivement, d'où ma question vu que pas précisé tongue Mais je crains que non. Pour le maintien, t'es sûr de ça ? j'e l'ai vu nul part pour le moment sad

Par contre, je viens de voir ça et j'ai un peur là : http://bugs.freeplayer.org/task/12565

Ca me semble être une terrible régression si c'est le cas.

Dernière modification par Vinky41 (Le 27/06/2013, à 19:47)

Hors ligne

#88 Le 27/06/2013, à 19:49

Zakhar

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Il va falloir attendre quelques jours que ça se stabilise et qu'on en sache un peu plus.

Comme toute modif de Free... d'autant que celle-ci est assez énorme ! big_smile

Je vais aller poser la questions sur UF et PCInpact sur le FTP distant.


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#89 Le 27/06/2013, à 20:11

Vinky41

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Je m'auto réponds mais apriori, la liste des applications qui ont accès à la freebox est gérable : http://img.clubic.com/06086942-photo-freebox-os.jpg

Hors ligne

#90 Le 27/06/2013, à 20:31

Zakhar

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Ca va devenir usine à gaz de causer à la Freebox... mais si ça améliore la sécurité, c'est un mal pour un bien.

Il est vrai qu'actuellement c'était un peu une passoire géante niveau sécurité leur machin.

Bon, je regarderai ça probablement dans 15 jours (début de mes vacances) car j'aurais alors accès à la Freebox. En effet, je crois donc comprendre qu'il faut être à côté de la Freebox pour récupérer une clé d'association sur l'afficheur LED... or la Freebox étant à 1000km, j'ai un peu de mal à faire ça dans l'immédiat. tongue

D'ici là on devrait savoir si FTP à distance ou pas.

... parce que j'ai aussi mon proxy pour télécharger via la Synology à écrire, j'ai pas que la Freebox maintenant. wink

Dernière modification par Zakhar (Le 27/06/2013, à 20:32)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#91 Le 27/06/2013, à 20:33

Vinky41

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

J'ai lu un commentaire sur PCI qui semblait indiquer que non wink

Pour la sécu, c'était le débat qu'on avait eu, mais effectivement, bonne chose.

Pour la clé d'association, j'ai cru voir, je ne sais pas comment on s'en sert par contre...

Hors ligne

#92 Le 28/06/2013, à 00:40

Vinky41

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Après avoir bien lu la doc, il semble qu'il faille IMPERATIVEMENT que la première connexion se fasse en local. (pas possible d'utiliser un accès distant même si on est devant la box par exemple)

Dans ce cas, il est donc impossible d'utiliser ce script sur un serveur distant pour lui envoyer des fichiers. (à moins peut-être de créer un VPN "inversé" qui simule la présence du serveur sur le réseau local, mais je ne suis même pas sûr que cela fonctionne réellement)

Dernière modification par Vinky41 (Le 28/06/2013, à 00:40)

Hors ligne

#93 Le 28/06/2013, à 08:35

marc31

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Vinky41 a écrit :

Après avoir bien lu la doc, il semble qu'il faille IMPERATIVEMENT que la première connexion se fasse en local. (pas possible d'utiliser un accès distant même si on est devant la box par exemple)

Dans ce cas, il est donc impossible d'utiliser ce script sur un serveur distant pour lui envoyer des fichiers. (à moins peut-être de créer un VPN "inversé" qui simule la présence du serveur sur le réseau local, mais je ne suis même pas sûr que cela fonctionne réellement)

l'authentification se passe en 2 temps :
- obtention d'un token (ou clé) d'accès. Il faut pour cela avoir accès à la freebox,
- puis le login s'appuie sur ce token pour l'authentification de chaque session.

le fait que l'accès à la box soit local ou pas, j'ai un doute. Il me semble que ca n'a pas de rapport.

cf : http://dev.freebox.fr/sdk/os/login/


ubuntu-gutsy / ATI RC410 [Radeon Xpress 200] + Nvidia GeForce 7300 SE / wireless RaLink RT2500 / toulouse-ouest / xmpp://marc.quinton@jabber.org

Hors ligne

#94 Le 28/06/2013, à 18:31

Zakhar

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

J'étudierai ça de plus près dans 2 semaines quand je serai près de la Freebox.

Pour le FTP, j'ai lancé un collègue sur le sujet. Il a déjà basculé sa Fbx6 en V2 mais pas testé ce point là.

Je lui fais un mail de relance histoire de maximiser les chances qu'il n'oublie pas de le faire dans le W.E. !


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#95 Le 28/06/2013, à 18:44

marc31

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

marc31 a écrit :
Vinky41 a écrit :

Après avoir bien lu la doc, il semble qu'il faille IMPERATIVEMENT que la première connexion se fasse en local. (pas possible d'utiliser un accès distant même si on est devant la box par exemple)

Dans ce cas, il est donc impossible d'utiliser ce script sur un serveur distant pour lui envoyer des fichiers. (à moins peut-être de créer un VPN "inversé" qui simule la présence du serveur sur le réseau local, mais je ne suis même pas sûr que cela fonctionne réellement)

l'authentification se passe en 2 temps :
- obtention d'un token (ou clé) d'accès. Il faut pour cela avoir accès à la freebox,
- puis le login s'appuie sur ce token pour l'authentification de chaque session.

le fait que l'accès à la box soit local ou pas, j'ai un doute. Il me semble que ca n'a pas de rapport.

cf : http://dev.freebox.fr/sdk/os/login/

hum, hum ...

je coince sur l'authentification. Pour les plus curieux, vous trouverez mon code RUBY en version draft à cette adresse : https://gist.github.com/mqu/5886096
[*]la méthode session fonctionne bien et semble envoyer les bons arguments, mais ca me retourne une erreur d'authentification[/*]

edit : c'est fini par tomber en marche ; j'obtiens bien des sessions. En cas d'erreur répétées, il convient de réinitialiser l'application. Il doit y avoir une limite dans le nombre de tentatives d'accès.

à suivre ...

Dernière modification par marc31 (Le 29/06/2013, à 09:14)


ubuntu-gutsy / ATI RC410 [Radeon Xpress 200] + Nvidia GeForce 7300 SE / wireless RaLink RT2500 / toulouse-ouest / xmpp://marc.quinton@jabber.org

Hors ligne

#96 Le 29/06/2013, à 11:47

Vinky41

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Merci bien.

De mon côté je regarderais ça début de semaine prochaine.

Je pense utiliser resty comme tu l'as montré.

De ce que j'ai cru comprendre, il faut faire une première authentification via une machine locale et réutiliser l'app_id et le token réccupérer directement sur son serveur distant. (ça complique un peu les choses). Mais je pense avoir à peu prêt la vision du truc.

Hors ligne

#97 Le 29/06/2013, à 12:56

Zakhar

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

-1) Confirmation du collègue (merci à lui) FTP reste toujours accessible seulement en local. C'est heureux vu le manque de sécurisation de ce protocole, mais cela confirme qu'il va falloir adapter les scripts.

-2) resty: je n'ai pas tout lu ni essayé, mais est-ce que vous pouvez confirmer/infirmer que c'est bien exempt de "bashisms", c'est à dire que ça tourne par exemple sur dash. C'est particulièrement important quand on vise, comme pour mon script ici présent, de pouvoir le faire tourner facilement sur un NAS. En effet, afin d'économiser la mémoire et d'être plus performant, le moteur de shell par défaut des NAS est rarement bash !.. Sur Synology c'est ash, un truc qui est assez similaire à dash (le shell par défaut d'Ubuntu), mais c'est encore plus léger.

Dernière modification par Zakhar (Le 29/06/2013, à 12:56)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#98 Le 30/06/2013, à 18:24

marc31

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

il semble que la documentation de l'API soit un peu erronée ; j'ai déposé un BUG sur le tracker : http://bugs.freeplayer.org/task/12683
- par exemple, pour ftp, il faut faire : GET /api/v1/ftp/config/ (y'a /config/ en plus).


ubuntu-gutsy / ATI RC410 [Radeon Xpress 200] + Nvidia GeForce 7300 SE / wireless RaLink RT2500 / toulouse-ouest / xmpp://marc.quinton@jabber.org

Hors ligne

#99 Le 30/06/2013, à 20:39

Zakhar

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

Ca semble logique : l'API te permet d'avoir la config de FTP, pas de faire du FTP puisque l'API s'utilise en HTTP.
Mais c'est certes un bug de documentation que tu as bien fait de reporter !

C'est pourquoi attendre 15 jours avant de se ruer à adapter est un minimum.
D'ici là je suis sûr qu'il y aura a minima un nouveau firmware correctif. C'est déjà le cas lorsqu'ils font des modifications mineures, alors là, à plus forte raison sur une version majeure !


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#100 Le 30/06/2013, à 22:11

marc31

Re : [Utilitaire Freebox] Script pour télécharger sur votre V6

pour le reste, l'API est plutôt sympa, mais il manque quelques trucs : reboot de la freebox, température cpu, ...


ubuntu-gutsy / ATI RC410 [Radeon Xpress 200] + Nvidia GeForce 7300 SE / wireless RaLink RT2500 / toulouse-ouest / xmpp://marc.quinton@jabber.org

Hors ligne