Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 27/03/2011, à 23:31

Zakhar

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

Alors comme personne ne semble daigner le faire... et puisque finalement c'était pas si dur, voici un petit script pour télécharger directement sur votre Freebox V6.

Cas d'usage :
- Cousin Antoine a fait un film de vacance.
- Il vous l'a sympathiquement découpé avec rar en morceaux de 1G qu'il a mis sur dl.free
- Il vous a donné les liens qu'il a mis dans un joli fichier texte
- contenu de liens_film_vacances_Antoine.txt

http://dl.free.fr/film_part1
http://dl.free.fr/film_part2
http://dl.free.fr/film_part3
http://dl.free.fr/film_part4

- Comme vous savez que ça va durer longtemps, vous voulez bien sûr profiter à fond de votre Freebox V6 et mettre les liens sur la Freebox de façon à pouvoir éteindre votre PC pendant que ça charge.


A- Méthode "bourrin qui sait pas se servir de la ligne de commande"
- Ouverture du fichier texte envoyé par cousin Antoine
- Ouverture du navigateur
- Lancement de http://mafreebox.freebox.fr
- Connexion
- Navigation vers la page de téléchargement
- Copier ligne 1 du fichier
- Coller dans le navigateur
- Clic sur "Ajouter"
- Bascule vers fichier texte
- Copie ligne 2
- Bascule navigateur
- Coller
- Clic ajouter
- ... (etc)
- jusqu'à la dernière ligne du fichier !..

... en admettant que vous ne vous êtes pas trompé et n'en avez pas oublié en route avec toutes ces manipulations !.. lol



B- Méthode "élégante en ligne de commande"

Une fois pour toutes :
- Créez le script de téléchargement sur la freebox, par exemple downFreebox.sh

#! /bin/bash

. freePasswd.sh

if [ -z "$1" ]; then
  echo "Erreur : indiquez un fichier à télécharger"
  exit 1
else
  cookieFile=$( mktemp )
  curl -c $cookieFile -d "login=freebox&passwd=$password" http://mafreebox.freebox.fr/login.php -o /dev/null -s || { err=$?; echo "Erreur connexion"; exit $err; }
  curl -b $cookieFile -d "url=$1&user=freebox&method=download.http_add" http://mafreebox.freebox.fr/download.cgi -H 'X-Requested-With: XMLHttpRequest' -s || { err=$?; echo "Erreur download"; exit $err; }
  rm $cookieFile 2>/dev/null
fi

Vous devez aussi créer un fichier contenant votre mot de passe de connexion et nommé freePasswd.sh

password="Votre_mot_de_passe"

- Rendez les deux fichiers exécutables et sécurisez le fichier contenant le mot de passe (vous seul peut le lire/exécuter) :

chmod +x downFreebox.sh
chmod 500 freePasswd.sh

Et voila, maintenant vous avez un superbe script qui permet de donner des fichiers à télécharger à votre Freebox.
Ca marche comme ça :

./downFreebox.sh http://dl.free.fr/abcdefgh

Si cela réussit, vous aurez un code erreur 0 et un message du genre {"return":14} (car c'est en fait du JSON)
Dans le cas contraire, vous aurez un code erreur non nul et un message d'erreur.

Et comme vous êtes un as de la ligne de commande, maintenant il ne vous reste plus qu'à faire un truc du genre :

for file in $(cat liens_film_vacances_Antoine.txt); do ./downFreebox.sh $file; done

... et voila, tout est sur votre Freebox en une seule ligne de commande, vous pouvez éteindre votre PC et reprendre une activité normale !



Autre cas d'usage :
En réalité je fais ça pour ma mère, pour pouvoir lui envoyer plus facilement mes "films de vacance".
Au démarrage de son PC, elle récupère la liste des fichiers (par un autre moyen, par exemple un fichier partagé Ubuntu One).
Si la liste de fichiers est non vide, on lance le script ci-dessus.
Tout cela est dans un script un peu plus complet qui envoie aussi des notifications sur ce qu'il fait et qui rassemble automatiquement les fichiers si la Freebox a fini un téléchargement précédent.

Bien sûr ce cas d'usage là disparaîtra si Free ouvre la Freebox depuis l'extérieur et qu'on peut lui "uploader" des fichiers...
Mais cela étant une opération "risquée"... si Free ouvre la possibilité j'espère qu'ils sécuriseront suffisamment : contrôle d'accès, quota de disque, limite de bande passante, ban d'IP, etc...


Désinstallation :
Il vous suffit de supprimer le script et le fichier contenant votre mot de passe de connexion Freebox.

rm -f downFreebox.sh freePasswd.sh

Dernière modification par Zakhar (Le 17/06/2011, à 23:51)


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

Hors ligne

#2 Le 28/03/2011, à 07:39

pfff

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

merci

Hors ligne

#3 Le 28/03/2011, à 11:09

MrAzerty

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

Merci!

Je ne suis pas chez moi, donc je ne peux pas tester. Cependant, je suppose que ce script fonctionne pour les téléchargement directs, mais pas pour les torrents?

Serait-il possible de l'améliorer; soit en passant une option, soit en déduisant le type de téléchargement à partir du lien passé en paramètre (ce qui ne marchera peut être pas à tous les coups)?

Je regarderais ça une fois chez moi.


On est toujours le geek de quelqu'un.

Hors ligne

#4 Le 28/03/2011, à 11:42

Zakhar

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

Bah oui, c'est possible !

Faut juste explorer comment ça se passe avec un torrent avec un coup de Wireshark. J'ai d'ailleurs utilisé curl plutôt que wget, car curl permet justement cela, vu que le up d'un torrent passe par un formulaire "multipart", ce que ne supporte pas wget.

Comme j'ai pas de torrent sous la main, je te laisse explorer la chose. wink

Une fois que tu auras amélioré la chose, je le remettrai dans le 1er post.

P.S.: le plus simple dans un premier temps est de faire un autre script qui poste un torrent. Il te suffit d'adapter la deuxième commande curl. Et selon que tu veux poster un lien http/ftp ou un torrent, tu lances un script ou l'autre

Dernière modification par Zakhar (Le 28/03/2011, à 12:14)


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

Hors ligne

#5 Le 29/03/2011, à 10:50

Zakhar

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

Bonne nouvelle :
- La limite de download simultané sur dl.free.fr est de 6 fichiers à la fois (au lieu de 5 lorsqu'on charge sur son PC)
- On peut mettre autant de fichier dl.free.fr que l'on veut, les fichiers au delà du sixième sont mis automatiquement en attente et démarrés dès qu'un téléchargement se finit.

Pour le test j'ai mis à télécharger une 30aine de liens de 1G d'un seul coup et laissé tourner. Ca s'est tranquillement fini dans la nuit.

Le seul inconvénient pour l'instant est que le nom du fichier n'est pas le nom original mais celui du lien de download. Pourtant il "suffirait" de tenir compte du header "Content-disposition". Sans doute un "bug" connu, je vais aller voir dans la liste des bugs signalés chez Free.

Edit : ce n'était pas signalé, je l'ai donc rajouté : http://bugs.freeplayer.org/task/6480

Dernière modification par Zakhar (Le 29/03/2011, à 11:17)


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

Hors ligne

#6 Le 03/04/2011, à 09:03

Zakhar

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

Complément :
- Une fois les liens chargés sur votre Freebox, pour les renommer correctement vous pouvez utiliser le script que j'ai posté ici.
- Non seulement la Freebox télécharge 6 liens vers dl.free.fr à la fois... mais ça compte pour 0 vis à vis des téléchargement que vous faites sur votre PC. Donc pendant que la Freebox fait ses téléchargement, vous pouvez télécharger aussi sur dl.free.fr !..


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

Hors ligne

#7 Le 03/04/2011, à 09:21

pfff

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

pour infos il y a aussi des extensions pour Firefox qui existent:
http://www.universfreebox.com/article13690.html

Hors ligne

#8 Le 03/04/2011, à 14:14

Zakhar

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

pfff a écrit :

pour infos il y a aussi des extensions pour Firefox qui existent:
http://www.universfreebox.com/article13690.html

Absolument !

Chaque chose a son outil.

Pour un lien unitaire, il est plus commode de :
- utiliser l'interface prévue par Free
- utiliser un addon -il en existe pour firefox et Chrome-

Par contre pour envoyer un tas de lien à la freebox, l'addon ou l'interface par défaut finissent par devenir lourds, et mieux vaut un script dans ce cas là. wink

Et quelle que soit la méthode utilisée, le nom du fichier sur le disque de la Freebox est celui du lien... il faut ensuite renommer... ou utiliser l'autre script que j'ai mis en ligne. wink

Dernière modification par Zakhar (Le 03/04/2011, à 14:15)


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

Hors ligne

#9 Le 01/06/2011, à 17:52

Syl21

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

Salut,

Excellent ton script... Je cherche à faire la même chose mais avec des .torrents

Genre je lance "./dlmoica mon.torrent" et tout ça part dans la seedbox...

J'avoue que cURL me donne du file à retordre, aurais-tu un peu de temps pour m'aider???

Merci d'avance et Bonne journée

Hors ligne

#10 Le 01/06/2011, à 21:13

Zakhar

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

Bonjour Syl21,

là je pars en vacances... mais ils ont annoncé moche. Si c'est bien le cas j'aurais plein de temps !.. En plus ça tombe bien la Freebox V6 n'est que là où je vais en vacances. tongue

Chez moi j'ai une simple V4 dont je suis tout à fait satisfait.


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

Hors ligne

#11 Le 02/06/2011, à 04:27

Syl21

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

Bonsoir à tous, voici une nouvelle version que j'appel FreeSeedBox :-)

Amélioration :
Permet les trois types de téléchargements (à savoir):
- 1 - Télécharge les URL Torrent
- 2 - Télécharge les URL Web (.zip .rar .avi et autres...)
- 3 -Télécharge à partir des fichiers locaux Torrent
Demande l'URL s'il n'est pas en argument
Interface utilisateur
Aide à la résolution d'incident

Etat de sortie :
- 0 - Parfait
- 1 - Erreur de connexion à la freebox
- 2 - Impossible d'ajouter le téléchargement

Installation :
Il vous suffit de copier le contenu du script ci-dessous dans un fichier et lui donner les droits d’exécution.
Au premier lancement le script vous demandera le mot de passe de votre FreeBox puis le stockera.

nano FreeSeedBox
chmod 700 FreeSeedBox
./FreeSeedBox

Conseil :
Si vous l'ajoutez en tant que logiciel pour ouvrir les .torrents .zip ou .rar dans votre navigateur web, ça fait des merveilles...

Désinstallation :
Il vous suffit de supprimer le script et le fichier contenant votre mot de passe de connexion Freebox.

rm FreeSeedBox ~/.config/FreeSeedBox.conf

Script :

#! /bin/bash

#GESTION DU MOT DE PASSE
if [ -e ~/.config/FreeSeedBox.conf ]; then
    password=`grep "password=" ~/.config/FreeSeedBox.conf | cut -d= -f2`
else
    read -sp "Mot de passe de votre FreeBox: " password
    echo "password=$password" > ~/.config/FreeSeedBox.conf
    chmod 600 ~/.config/FreeSeedBox.conf
fi

#URL EN ARGUMENT OU DEMANDE D'URL
if [ -z "$1" ]; then
    read -p "URL ou Chemin: " url
else
    url=$1
fi

#TEST DU TYPE D'URL
case $url in
        http://*.torrent)    type_url="torrent_url"    
        ;;
        http://* | ftp://*)    type_url="web_url"
        ;;
        *)            type_url="torrent_file"
        ;;
esac

#CONNEXION A LA FREEBOX
cookieFile=$( mktemp )
resultFile=$( mktemp )
echo -ne "\nConnexion à la FreeBox"
curl -c $cookieFile -d "login=freebox&passwd=$password" http://mafreebox.freebox.fr/login.php -v > $resultFile 2>&1
if grep -q "Set-Cookie:" $resultFile; then
    echo -e "\t\t\t\t<  OK  >"
else
    echo -e "\t\t\t\t<ERREUR>"
    echo -e "\nImpossible de joindre la FreeBox ou mot de passe incorrect.\nutiliser 'ping mafreebox.freebox.fr' pour tester la connexion.\nediter '~/.config/FreeSeedBox.conf' pour changer de mot de passe.\n"
    rm $cookieFile $resultFile > /dev/null 2>&1
    exit 1
fi

#DEMANDE DE TELECHARGEMENT A LA FREEBOX
case $type_url in
    torrent_url)    echo -en "\nAjout de l'URL 'Torrent' à la FreeBox"
            curl -b $cookieFile -d "url=$url&user=freebox&method=download.torrent_add" http://mafreebox.freebox.fr/download.cgi -H 'X-Requested-With: XMLHttpRequest' -s > $resultFile 2>&1
    ;;
    web_url)    echo -en "\nAjout du 'Direct Download' à la FreeBox"
            curl -b $cookieFile -d "url=$url&user=freebox&method=download.http_add" http://mafreebox.freebox.fr/download.cgi -H 'X-Requested-With: XMLHttpRequest' -s > $resultFile 2>&1
    ;;
    torrent_file)    echo -en "\nAjout du fichier 'Torrent' à la FreeBox"
            curl -b $cookieFile -F "data=@$url" -F "user=freebox" -F "method=download.torrent_add" http://mafreebox.freebox.fr/download.cgi -H 'X-Requested-With: XMLHttpRequest' -s > $resultFile 2>&1
    ;;
esac
if grep -q "result" $resultFile; then
    echo -e "\t\t<  OK  >"
else
    echo -e "\t\t<ERREUR>"
    echo -e "\nImpossible d'ajouter ce téléchargement, valider la source du téléchargement.\nConnectez-vous à 'http://mafreebox.freebox.fr/download.php'\npour voir si vous ne l'avez pas déjà téléchargé.\n"
    rm $cookieFile $resultFile > /dev/null 2>&1
    exit 2
fi

#DECONNECTION DE LA FREEBOX
echo -e "\nDéconnection de la FreeBox\t\t\t<  OK  >\n"
rm $cookieFile $resultFile > /dev/null 2>&1
exit 0

Hors ligne

#12 Le 02/06/2011, à 08:27

Zakhar

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

Impec ;-)

Je teste ça quand j'arrive à côté de la Freebox V6. big_smile


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

Hors ligne

#13 Le 03/06/2011, à 01:25

Syl21

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

Zakhar, j'attends votre approbation Maître!!! tongue

Hors ligne

#14 Le 15/06/2011, à 09:17

grosalex

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

comment accede tu à la freebox pars la console pour créer le scripts? (pardon si ma question parait simplette mais je débute).

Hors ligne

#15 Le 17/06/2011, à 23:39

Zakhar

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

Syl21 a écrit :

Zakhar, j'attends votre approbation Maître!!! tongue

Bah non, en fait je te fais entièrement confiance, et puisque tu l'as fait je suppose que ça marche... en plus j'ai pas de fichier torrent sous la main. A vrai dire j'ai fait un autre script tant que j'étais près de la V6 et j'ai oublié de tester ça aussi... et là je suis plus à côté de la V6 tongue


grosalex a écrit :

comment accede tu à la freebox pars la console pour créer le scripts? (pardon si ma question parait simplette mais je débute).

Ah là il te faut un outil indispensable pour ce genre de chose, il s'appelle Wireshark. Tu peux l'installer simplement depuis la logithèque. (*)
Ensuite tu le lances en filtrage, tu fais les manipulations à la main avec le browser, et tu observes ce qu'il se passe.
Ca s'appelle du "reverse engineering" quelque part... mais de toute façon Free c'est des méchants qui utilisent des trucs libres mais ne reversent rien de ce qu'ils font à la "communauté". Ils ont d'ailleurs des plaintes de la FSF (ou pas loin) à cause de ça. tongue
Et aussi il te faut de bonne connaissances et une bonne compréhension des choses (réseau, web, script, etc...) pour arriver à faire ce genre de script.
Une fois que tu as bien compris comment ça fonctionne, en réalité tout ce que fait le script c'est qu'il se fait passer pour un utilisateur qui ferait les mêmes manipulations avec son Firefox en envoyant exactement les informations envoyées par le navigateur (ou du moins en envoyant les informations nécessaires pour faire ce qu'on a à faire !).

(*) en réalité tu peux aussi tout faire avec tcpdump/tcpflow, mais on gagne pas mal de temps avec wireshark qui est quand même plus convivial que tcpdump/tcpflow... sauf si tu es rompu à l'usage de tcpdump/tcpflow, car tout se passe alors à la console !

Dernière modification par Zakhar (Le 17/06/2011, à 23:48)


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

Hors ligne

#16 Le 18/01/2013, à 14:13

Vinky41

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

Bonjour,

hier free a fait une maj nécessitant à présent un token CSRF.

J'ai essayé de bidouilé un peu le curl mais ça ne marche pas très bien, que faut-il faire pour que cela réccupère/renvoie le token dans la commande :

curl -b $cookieFile -d "url=$url&user=freebox&method=download.http_add" http://mafreebox.freebox.fr/download.cgi -H 'X-Requested-With: XMLHttpRequest' -s > $resultFile 2>&1

Merci d'avance de toute aide smile

Hors ligne

#17 Le 18/01/2013, à 19:32

Vinky41

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

Après discussion sur le bug tracker cela marche en faisant :

Connexion :

curl -s -D - -o /dev/null http://mafreebox.freebox.fr/login.php -d 'login=freebox&passwd=<Mon_MdP>'

Vous aurez donc un ID et un jeton qui s'afficheront

HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Fri, 18 Jan 2013 16:52:21 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: FBXSID="<ID>"; Max-Age=86400; HTTPOnly
X-FBX-CSRF-Token: <TOKEN>
Location: /settings.php

Il restera plus qu'à télécharger en utilisant les ID, jeton que vous avez reçu précédemment et bien sûr votre url :

curl -s -b FBXSID="<Mon_ID>" -D - -o /dev/null -e http://mafreebox.freebox.fr/download.php http://mafreebox.freebox.fr/download.cgi -d 'csrf_token=<mon_token>&method=download.http_add&url=<mon_url>'

Par contre cela ne fonctionne UNIQUEMENT sur le réseau local sad (gros retour en arrière dans les fonctionnalités... sad )

PS : Voici le lien vers bugtracker de la discussion : http://bugs.freeplayer.org/task/11638

Hors ligne

#18 Le 18/01/2013, à 22:30

Zakhar

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

Ca doit alors correspondre au "bug" qui fait qu'on n'a plus accès à l'interface d'administration à distance.

J'ai lu ça quelque part sur le forums, mais pas creusé. En regardant le bugtracker, je ne vois rien qui dit que l'interface à distance n'est plus fonctionnelle du tout, il semble juste y avoir des "micro-bugs".

Tu pourras vérifier, avec l'interface standard fourni par Free (donc simplement avec un navigateur depuis l'extérieur... sur ton mobile par exemple), si tu as accès à distance à toutes les fonctions du genre : lister les fichiers du NAS, rajouter un téléchargement http, etc...

Pour l'instant je ne reboote pas la Freebox de ma mère qui est toujours en 1.1.8 (avec un uptime de 78 jours... c'est beau Linux quand même !) ... parce que si l'interface à distance n'est plus fonctionnelle, ça m'embête pas mal hmm

Et si à distance, avec un simple navigateur (donc l'interface standard) on arrive à accéder à tout ça, je devrais pouvoir "réparer" les scripts en rajoutant les tokens nécessaire... Un petit coup de Wireshark pour voir comment ça fonctionne et hop, on répare ! wink

Merci d'avance de ton test

Dernière modification par Zakhar (Le 18/01/2013, à 22:47)


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

Hors ligne

#19 Le 18/01/2013, à 22:47

Vinky41

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

Salut Zakhar.

Merci de ton retour wink

Pour répondre à tes questions, oui on a toujours accès à distance à l'interface web aucun souci (et tout fonctionne).

Pour ce qui est des jetons, j'ai bien réussi à les faire fonctionner (cf au dessus) cependant, ça ne marche que sur le réseau local sad Si je met l'IP de la freebox ou le NDD que j'y ai mis, la connexion se fait bien, je peux donc bien récupérer ID et jeton, cependant lorsque je veux envoyer un lien j'ai une erreur 403 forbiden.

Je ne sais donc pas ce qui se passe, là seule chose que je vois c'est une limitation au réseau local à l'image du NAS.

EDIT : Je confirme que par VPN cela fonctionne très bien sur l'interface web wink

Dernière modification par Vinky41 (Le 18/01/2013, à 23:01)

Hors ligne

#20 Le 18/01/2013, à 22:51

Zakhar

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

Tu es sûr que tu as bien fait de l'extérieur.

Parce que mettre l'adresse IP publique depuis un poste connecté à ta Freebox, en réalité c'est pas "extérieur" vu que le Freebox est maligne et s'en rend compte, elle traduit ça pour elle en 127.0.0.1 !..

Le test c'est donc :
- prendre par exemple un mobile non connecté à ta Wifi locale, mais en 3G, donc avec une adresse publique distincte de la Fbx (parce que ton mobile connecté en Wifi... bah c'est pas non plus "extérieur", c'est tout pareil du 127.0.0.1 pour la Freebox !).
- vérifier que la connexion fonctionne
- vérifier qu'on a accès à la page des paramètres de téléchargement (ça nous sert dans le script !).
- naviguer sur ta Freebox (les fichiers du NAS).
- tester si on voit bien les fichiers, si on peut les renommer/télécharger
- si on peut aller sur la liste de téléchargement
- si on peut rajouter un téléchargement.

Au pire, si tu n'as pas de mobile, tu peux faire ça via un proxy (et après changer le MdP et le port bien sûr, vu que tout est en clair et que donc l'opérateur du proxy pourrait tout avoir dans ses logs).

A partir du moment où tout ça fonctionne de l'extérieur (IP différente), il n'y aura pas de problème pour faire fonctionner le script.

... et si ça ne fonctionne pas : go bugtracker !..

Dernière modification par Zakhar (Le 18/01/2013, à 22:56)


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

Hors ligne

#21 Le 18/01/2013, à 22:57

Vinky41

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

En fait c'est "pire" que ça.

Au tout début de mes tests j'étais à distance pour le faire et je ne comprenais pas.

J'ai fini par retester chez moi en mettant les ip privés et là ça a marché.

En retestant sur le réseau local avec l'ip publique, cela ne fonctionne même pas.

Je pourrais tester avec mon vpn si tu veux, mais ça risque d'être exactement la même chose à mon avis sad

EDIT : JE confirme que l'interface web  fonctionne très bien à travers le vpn wink

Dernière modification par Vinky41 (Le 18/01/2013, à 23:02)

Hors ligne

#22 Le 18/01/2013, à 23:03

Zakhar

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

Si tu as un VPN, oui, le test est parfait.

Vérifie quand même que l'admin à distance est bien activée... on sait jamais, parce que ton histoire avec l'IP publique en local... c'est louche.

Sinon dans ta requête curl il manque de peut-être un truc (on s'en rend compte avec Wireshark) regarde dans mon dlfree comme je fais par exemple pour ajouter un téléchargement à la liste:

freebox_start_dl()
{
  HTTP_CODE=$( curl "http://${FBX_IP_PORT}/download.cgi" \
               -o "${TMPLOG}" \
               -b "${TMPLOG}.f" \
               -d "url=${IDENT}&user=freebox&method=download.http_add" \
               -H 'X-Requested-With: XMLHttpRequest' \
               -w "%{http_code}" \
               -s)
  jsoncatch
}

Le header X-Requested-With: XMLHttpRequest est indispensable, sinon ça ne marche pas !..
Pour d'autres requêtes, par contre, il n'est pas utile, comme pour télécharger un fichier depuis la freebox, vers le PC local :

               HTTP_CODE=$( curl "http://${FBX_IP_PORT}/get.php" \
                                 -o "${DEST}/${NAME}" \
                                 -w "%{http_code}" \
                                 -b "${TMPLOG}.f"\
                                 -d "filename=${FBX_FILE}" )

Et maintenant, je suppose qu'il faut aussi rajouter le CSRF-Token comme tu le montres dans ton exemple.

Bon test !

Dernière modification par Zakhar (Le 18/01/2013, à 23:07)


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

Hors ligne

#23 Le 18/01/2013, à 23:08

Vinky41

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

Bah le truc c'est que si je test en local avec l'adresse privée, cela marche parfaitement. Tu penses qu'il faut rajouter des arguments pour lorsque l'on est à distance ?

Hors ligne

#24 Le 18/01/2013, à 23:14

Zakhar

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

Vu qu'on n'a pas les spécifications de l'interface de la Freebox, on est obligé de "deviner" !..

Et c'est en tout cas indispensable à distance, et le header en local "ne gêne" pas (je ne sais pas s'il est indispensable ou pas). De la sorte, ce bout de code fonctionne que l'on soit en local ou à distance... et c'est donc ça qui est programmé dans dlfree. wink

Alors, il donne quoi ton test VPN ? (et change aussi le MdP et port après le test, parce que le fournisseur de VPN, lui, il fait la requête en clair, et idem qu'un Proxy, il aura tout ça bien en clair dans ses logs, le chiffrement c'est juste entre toi et on VPN, mais pas entre le VPN et ce que tu accèdes).

Dernière modification par Zakhar (Le 18/01/2013, à 23:16)


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

Hors ligne

#25 Le 18/01/2013, à 23:16

Vinky41

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

aaaah ok bon je vais tester ça alors wink je te tiens au jus smile

Merci pour ton retour en tout cas smile

EDIT : Bon après test, toujours pareil sad je vais essayer de façon plus poussée, mais ça ne semble pas être ça sad

Dernière modification par Vinky41 (Le 18/01/2013, à 23:20)

Hors ligne

Haut de page ↑