Advertisement
Marin

Untitled

Feb 5th, 2012
2,033
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.50 KB | None | 0 0
  1. +--------------------------------------------+
  2. | Comment utiliser les APIs de la Freebox v6 |
  3. +--------------------------------------------+
  4.  
  5. == L'API de mafreebox.fr ==
  6.  
  7. Free avait décidé de retirer la documentation de mafreebox.fr (interface web
  8. locale de la Freebox) car elle était considérée comme « instable » il y a longtemps,
  9. ils ont donc retiré le fichier php, mais ils ont laissé toute la doc, et deviner les
  10. chemins n'était pas très difficile :D
  11.  
  12. Pour voir la documentation datant de la sortie de la v6 :
  13.  
  14. http://mafreebox.fr/doc/index.html
  15. http://mafreebox.fr/doc/account.html
  16. http://mafreebox.fr/doc/dhcp.html
  17. http://mafreebox.fr/doc/download.html
  18. http://mafreebox.fr/doc/fs.html
  19. http://mafreebox.fr/doc/ftp.html
  20. http://mafreebox.fr/doc/fw.html
  21. http://mafreebox.fr/doc/igd.html
  22. http://mafreebox.fr/doc/ipv6.html
  23. http://mafreebox.fr/doc/lan.html
  24. http://mafreebox.fr/doc/lcd.html
  25. http://mafreebox.fr/doc/phone.html
  26. http://mafreebox.fr/doc/share.html
  27. http://mafreebox.fr/doc/storage.html
  28. http://mafreebox.fr/doc/system.html
  29. http://mafreebox.fr/doc/user.html
  30. http://mafreebox.fr/doc/wifi.html
  31.  
  32. Certaines méthodes ont été ajoutées/modifiées au niveau des paramètres/supprimées
  33. depuis la publication de ces infos, je vous conseille d'aller regarder dans le JS
  34. si ça vous intéresse :) (http://jsbeautifier.org/ est votre ami)
  35.  
  36. Voici quelques méthodes qui ne sont pas présentes dans la doc mais qui sont
  37. utilisées par mafreebox.fr avec le dernier firmware :
  38.  
  39. - system.rotation_set
  40. - storage.partition_get
  41. - storage.partition_fsck
  42. - storage.partition_simple
  43. - storage.disk_advanced_informations_get
  44. - storage.format_simple
  45. - share.set_afp_config
  46. - share.get_afp_config
  47. - upnpav.set_config
  48. - upnpav.get_config
  49. - lan.name_set
  50. - fbxrop.config_set
  51. - fbxrop.config_get
  52. - lan.mode_set
  53. - lan.mode_get
  54. - ethsw.port_state
  55. - ethsw.mac_address_table
  56. - ethsw.port_counters
  57. - ethsw.port_set_config
  58. - conn.status
  59. - conn.wan_ping_set
  60. - conn.wan_ping_get
  61. - conn.remote_access_set
  62. - conn.remote_access_get
  63. - conn.proxy_wol_set
  64. - conn.proxy_wol_get
  65. - conn.logs_flush
  66. - conn.logs
  67. - ddns.providers
  68. - ddns.set_provider_config
  69.  
  70. L'API est conforme au standard JSON-RPC. Exemple de requête envoyée avec cURL, en ligne de commande :
  71.  
  72. 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"'
  73.  
  74. Pour se connecter et obtenir un cookie de session :
  75. curl -v http://mafreebox.fr/login.php -d "login=freebox&passwd=votremotdepasse" 2>&1 | grep FBXSID
  76.  
  77. En dehors de l'API JSON, on peut télécharger les fichiers du NAS
  78. en HTTP via http://mafreebox.fr/get.php avec le paramètre POST
  79. « filename=/Disque dur/chemin/vers/le/fichier ».
  80.  
  81. == Transmission ==
  82.  
  83. Pour accéder à l'API JSON de Transmission, qui permet de mieux contrôler
  84. les torrents, sur le port 9091 :
  85.  
  86. curl -v http://mafreebox.freebox.fr:9091/transmission/rpc -u freebox:votremotdepasse -d '{"method":"session-get"}'
  87.  
  88. La spec est ici : https://trac.transmissionbt.com/browser/trunk/extras/rpc-spec.txt
  89.  
  90. Il existe des clients transmission-remote pour gérer tout ça -> http://www.transmissionbt.com/resources/
  91.  
  92. == Ports ouverts ==
  93.  
  94. Pour info, la Freebox est accessible depuis mafreebox.freebox.fr et
  95. mafreebox.fr (IP 212.27.38.253), mais aussi depuis l'IP 192.168.1.254
  96. (ou .0.254 sur certains modèles). Ça donne la même chose, sauf que des
  97. ports supplémentaires sont accessibles (comme le 54242 UPnP).
  98.  
  99. À ma connaissance, voici les port accessibles :
  100.  
  101. 192.168.1.254:21 -> 220 Welcome to Freebox FTP Server.
  102. 192.168.1.254:80 -> Server: nginx (interface web)
  103. 192.168.1.254:139 -> Server=[Samba 3.0.37]
  104. 192.168.1.254:445 -> Server=[Samba 3.0.37]
  105. 192.168.1.254:548 -> Serveur AFP
  106. 192.168.1.254:554 -> Server: fbxrtspd/1.2 Freebox RTSP server
  107. 192.168.1.254:5000 -> Server: AirTunes/110.63
  108. 192.168.1.254:5678 -> Server: Linux/2.6 UPnP/1.0 fbxigdd/1.0
  109. 192.168.1.254:8090 -> Server: nginx (message d'erreur « Problème de connexion »)
  110. 192.168.1.254:8091 -> Server: nginx (message d'erreur du contrôle parental)
  111. 192.168.1.254:8095 -> Test de débit. http://mafreebox.fr:8095/fixed/1M
  112. 192.168.1.254:9091 -> Server: nginx (proxy vers l'API de Transmission)
  113. 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
  114.  
  115. Et pour le Player :
  116.  
  117. 192.168.1.33:554 -> Server: fbxrtspd/1.2 Freebox RTSP server
  118. 192.168.1.33:5000 -> Server: AirTunes/110.63
  119.  
  120. == Regarder la télé depuis son ordinateur ==
  121.  
  122. http://mafreebox.freebox.fr/freeboxtv/playlist.m3u
  123.  
  124. == AirPlay ==
  125.  
  126. Pour faire sortir du son de sa Freebox, la Freebox utilise le protocole AirPlay
  127. (anciennement appelé AirTunes). Il est utilisé à l'origine par les iPhone/iPad
  128. pour lancer de la musique sur un Mac. Vous devez communiquer avec le port 5000
  129. de votre Server, ou de votre Player, au choix. Pour ça :
  130.  
  131. - Avec une iDevice, utiliser l'icône en bas du lecteur audio.
  132. - Sous Linux, utiliser mpd : http://forum.ubuntu-fr.org/viewtopic.php?id=655241&p=2
  133.  
  134. Je ne connais pas d'autre implémentation compatible Freebox.
  135.  
  136. == Télécommande ==
  137.  
  138. - API HTTP : http://www.freenews.fr/spip.php?article8202. Vous devez aussi mettre
  139. le code télécommande dans le paramètre GET « code », visible dans les paramètres
  140. de votre Freebox, sur votre télévision.
  141.  
  142. - API UDP : http://dev.freebox.fr/blog/?p=790
  143.  
  144. Amusez-vous bien :)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement