Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- +--------------------------------------------+
- | Comment utiliser les APIs de la Freebox v6 |
- +--------------------------------------------+
- == L'API de mafreebox.fr ==
- Free avait décidé de retirer la documentation de mafreebox.fr (interface web
- locale de la Freebox) car elle était considérée comme « instable » il y a longtemps,
- ils ont donc retiré le fichier php, mais ils ont laissé toute la doc, et deviner les
- chemins n'était pas très difficile :D
- Pour voir la documentation datant de la sortie de la v6 :
- http://mafreebox.fr/doc/index.html
- http://mafreebox.fr/doc/account.html
- http://mafreebox.fr/doc/dhcp.html
- http://mafreebox.fr/doc/download.html
- http://mafreebox.fr/doc/fs.html
- http://mafreebox.fr/doc/ftp.html
- http://mafreebox.fr/doc/fw.html
- http://mafreebox.fr/doc/igd.html
- http://mafreebox.fr/doc/ipv6.html
- http://mafreebox.fr/doc/lan.html
- http://mafreebox.fr/doc/lcd.html
- http://mafreebox.fr/doc/phone.html
- http://mafreebox.fr/doc/share.html
- http://mafreebox.fr/doc/storage.html
- http://mafreebox.fr/doc/system.html
- http://mafreebox.fr/doc/user.html
- http://mafreebox.fr/doc/wifi.html
- Certaines méthodes ont été ajoutées/modifiées au niveau des paramètres/supprimées
- depuis la publication de ces infos, je vous conseille d'aller regarder dans le JS
- si ça vous intéresse :) (http://jsbeautifier.org/ est votre ami)
- Voici quelques méthodes qui ne sont pas présentes dans la doc mais qui sont
- utilisées par mafreebox.fr avec le dernier firmware :
- - system.rotation_set
- - storage.partition_get
- - storage.partition_fsck
- - storage.partition_simple
- - storage.disk_advanced_informations_get
- - storage.format_simple
- - share.set_afp_config
- - share.get_afp_config
- - upnpav.set_config
- - upnpav.get_config
- - lan.name_set
- - fbxrop.config_set
- - fbxrop.config_get
- - lan.mode_set
- - lan.mode_get
- - ethsw.port_state
- - ethsw.mac_address_table
- - ethsw.port_counters
- - ethsw.port_set_config
- - conn.status
- - conn.wan_ping_set
- - conn.wan_ping_get
- - conn.remote_access_set
- - conn.remote_access_get
- - conn.proxy_wol_set
- - conn.proxy_wol_get
- - conn.logs_flush
- - conn.logs
- - ddns.providers
- - ddns.set_provider_config
- L'API est conforme au standard JSON-RPC. Exemple de requête envoyée avec cURL, en ligne de commande :
- curl http://mafreebox.fr/storage.cgi --header "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"storage.disk_get","params":[0]}' --cookie 'FBXSID="zAojZXGC6AWdiIpT+WLVgYQ8c/g8Oybdtp2Dbd/FREx8iOxZPPXGH8rleYInwXjc"'
- Pour se connecter et obtenir un cookie de session :
- curl -v http://mafreebox.fr/login.php -d "login=freebox&passwd=votremotdepasse" 2>&1 | grep FBXSID
- En dehors de l'API JSON, on peut télécharger les fichiers du NAS
- en HTTP via http://mafreebox.fr/get.php avec le paramètre POST
- « filename=/Disque dur/chemin/vers/le/fichier ».
- == Transmission ==
- Pour accéder à l'API JSON de Transmission, qui permet de mieux contrôler
- les torrents, sur le port 9091 :
- curl -v http://mafreebox.freebox.fr:9091/transmission/rpc -u freebox:votremotdepasse -d '{"method":"session-get"}'
- La spec est ici : https://trac.transmissionbt.com/browser/trunk/extras/rpc-spec.txt
- Il existe des clients transmission-remote pour gérer tout ça -> http://www.transmissionbt.com/resources/
- == Ports ouverts ==
- Pour info, la Freebox est accessible depuis mafreebox.freebox.fr et
- mafreebox.fr (IP 212.27.38.253), mais aussi depuis l'IP 192.168.1.254
- (ou .0.254 sur certains modèles). Ça donne la même chose, sauf que des
- ports supplémentaires sont accessibles (comme le 54242 UPnP).
- À ma connaissance, voici les port accessibles :
- 192.168.1.254:21 -> 220 Welcome to Freebox FTP Server.
- 192.168.1.254:80 -> Server: nginx (interface web)
- 192.168.1.254:139 -> Server=[Samba 3.0.37]
- 192.168.1.254:445 -> Server=[Samba 3.0.37]
- 192.168.1.254:548 -> Serveur AFP
- 192.168.1.254:554 -> Server: fbxrtspd/1.2 Freebox RTSP server
- 192.168.1.254:5000 -> Server: AirTunes/110.63
- 192.168.1.254:5678 -> Server: Linux/2.6 UPnP/1.0 fbxigdd/1.0
- 192.168.1.254:8090 -> Server: nginx (message d'erreur « Problème de connexion »)
- 192.168.1.254:8091 -> Server: nginx (message d'erreur du contrôle parental)
- 192.168.1.254:8095 -> Test de débit. http://mafreebox.fr:8095/fixed/1M
- 192.168.1.254:9091 -> Server: nginx (proxy vers l'API de Transmission)
- 192.168.1.254:54242 -> Server: Linux/2.6.39.4-fbxgw1r_bank1_1.1.4-00778-gdae1867, UPnP/1.0, Free UPnP Entertainment Service/0.655
- Et pour le Player :
- 192.168.1.33:554 -> Server: fbxrtspd/1.2 Freebox RTSP server
- 192.168.1.33:5000 -> Server: AirTunes/110.63
- == Regarder la télé depuis son ordinateur ==
- http://mafreebox.freebox.fr/freeboxtv/playlist.m3u
- == AirPlay ==
- Pour faire sortir du son de sa Freebox, la Freebox utilise le protocole AirPlay
- (anciennement appelé AirTunes). Il est utilisé à l'origine par les iPhone/iPad
- pour lancer de la musique sur un Mac. Vous devez communiquer avec le port 5000
- de votre Server, ou de votre Player, au choix. Pour ça :
- - Avec une iDevice, utiliser l'icône en bas du lecteur audio.
- - Sous Linux, utiliser mpd : http://forum.ubuntu-fr.org/viewtopic.php?id=655241&p=2
- Je ne connais pas d'autre implémentation compatible Freebox.
- == Télécommande ==
- - API HTTP : http://www.freenews.fr/spip.php?article8202. Vous devez aussi mettre
- le code télécommande dans le paramètre GET « code », visible dans les paramètres
- de votre Freebox, sur votre télévision.
- - API UDP : http://dev.freebox.fr/blog/?p=790
- Amusez-vous bien :)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement