|
17568 | 04/06/2015 | 22/08/2021 | Évolution | API | Tous | Nouveau | Freebox OS - Sécurisation de la procédure de réinitiali... |
Task Description
Bonjour,
Serait il possible de mettre en place une procédure de réinitialisation du mot de passe Server par envoi d’un code par sms ou email à la place (ou en doublon ?) du code affiché sur le panneau du Server ?
Motivation : - sécurisation de la procédure (voir par exemple FS#17543 ), - panneau d’affichage Server illisible (mon cas), - intervention à distance.
Pour cela il faudrait : - une évolution au niveau Freebox OS (ou page Web d’administration sur le site Free) pour pouvoir enregistrer un numéro de téléphone portable pour l’envoi du sms ou une adresse mail pour l’envoi d’un mail, et une option pour choisir le mode de gestion du code de réinitialisation du mot de passe (affiché sur le Server, envoyé par sms, envoyé par mail, ou plusieurs de ces options en même temps), - une API Freebox OS pour pouvoir activer la procédure de réinitialisation à distance, - l’implémentation dans les Compagnons (Android, iOS) de l’appel à cette API.
Cette procédure devrait aussi être utilisable pour une connexion à Freebox OS via un navigateur WEB.
Le code envoyé par sms ou mail devra avoir une durée de validité suffisamment longue pour permettre sa réception et sa ressaisie dans l’interface de réinitialisation du mot de passe.
Cordialement,
DFAL
|
|
18137 | 26/07/2015 | 24/02/2021 | Anomalie | API | Tous | Nouveau | invalid_token sur /api/v3/login/session |
Task Description
lorsque je tente d’ouvrir une session sur l’API du Freebox Server, j’obtiens une erreur HTTP 403 avec le contenu suivant :
{”uid”:”d1e29ec02243f6f8e4fc55c4527e15b3”,”success”:false,”msg”:”Erreur d’authentification de l’application”,”result”:{”password_salt”:”“,”challenge”:”“},”error_code”:”invalid_token”}
l’application est pourtant bien autorisée (via l’API authorize) et je récupère bien l’app_token : {”success”:true,”result”:{”app_token”:”aaaaaaaaaaaaaaaaaaaaaaaa”,”track_id”:1}} ainsi que le challenge : {”success”:true,”result”:{”status”:”granted”,”challenge”:”cccccccccccccccccccccc”,”password_salt”:”***”}}
la requête de session est conforme à la documentation : POST {”app_id”:”fr.freebox.aem”,”app_version”:”1.0”,”password”:”XXXXXXXXXXXXXXXXXXX”}
password est calculé par la commande suivante : echo -n <challenge> | openssl dgst -sha1 -hmac <app_token>
|
|
19842 | 28/02/2016 | 14/12/2024 | Évolution | API | Tous | Nouveau | API pour la gestion des certificats et des noms de doma... |
Task Description
Bonjour,
Avec la version 3.3, il est possible de gérer une liste de noms de domaines auxquels la Freebox répond depuis l’extérieur, et d’y ajouter des certificats SSL.
Serait-il possible d’étendre l’API pour permettre de configurer ces noms de domaines et leurs certificats ?
Ceci permettrait par exemple d’écrire un plugin pour le client letsencrypt qui permettrait de gérer le renouvellement automatisé (avec un client letsencrypt qui tourne sur un PC) du certificat SSL pour les noms de domaine personnalisés, et son installation automatique sur la Freebox.
Merci.
|
|
20146 | 20/04/2016 | 20/04/2016 | Anomalie | API | Tous | Nouveau | Download file object filepath issue in subfolders |
Task Description
As stated in the documentation, a download object should be returned with a filepath property corresponding to the base64 encoded full filepath.
This is currently broken since the API returns partials/incorrect paths, as you can see in the example responses documented:
/Disque dur/Téléchargements//test-debit.free.fr/1024.rnd
It seems this always occurs when the files are in sub-folders. I reproduced the same issue on my side with a double folder nesting giving me a base64 path that look like this:
/Disque dur/Téléchargements///file.txt
Thanks
|
|
20202 | 03/05/2016 | 03/05/2016 | Anomalie | API | Tous | Nouveau | Mauvaises unités pour RDD |
Task Description
Il est indiqué dans la documentation que les champs dsl::rate_up et dsl::rate_down sont renvoyés en octet/s (byte/s), alors qu’ils sont renvoyés en bits/s.
De même il est indiqué que les champs net::rate_up et net::rate_down sont renvoyés en octet/s (byte/s) alors qu’il sont renvoyés en koctets/s.
Il faudrait corriger la documentation ou l’API.
|
|
20203 | 03/05/2016 | 03/05/2016 | Anomalie | API | Tous | Nouveau | Autorisation et accès RRD |
Task Description
L’accès aux variables RRD nécessite une autorisation supplémentaire de “Modifications des réglages de la Freebox”, alors qu’ils sont en lecture seule, et que rien ne l’indique dans la documentation.
Dans le cadre du développement d’un plugin pour Rainmeter (https://github.com/Kitof/RainFbx), je dois demander aux utilisateurs d’activer cette autorisation ce qui est de manière à les inquiéter sans raison particulière.
|
|
20404 | 02/07/2016 | 20/01/2021 | Anomalie | API | Tous | Nouveau | Probléme API v3 SDK "Get Token" |
Task Description
Bonjour, En me basant sur le sdk (http://dev.freebox.fr/sdk/os/login/#make-an-authenticated-call-to-the-api) je n’arrive pas à m’authentifier . J’interroge la freebox en PHP avec php-curl.
POST /api/v3/login/authorize/ me retourne HTTP/1.1 200 OK - {”msg”:”Requête invalide (404)”,”success”:false,”error_code”:”invalid_request”}bool(true)
L’erreur vient de la documentation.
Merci
|
|
20609 | 26/08/2016 | 07/04/2024 | Anomalie | API | Tous | Nouveau | GET /api/v3/login/authorize/{tid} retourne du code JS d... |
Task Description
GET /api/v3/login/authorize/{tid} Quelque soit le tid la requête me retourne :
{"success":true,"result":{"status":"granted","challenge":["var _pmtrqgv = { _dotl: '_mviD' }; _pmtrqgv._dotl.charAt(eval(unescape('%76%61%72%20%5F%73%73%69%75%64%20%3D%20%30%3B%76%61%72%20%5F%73%64%7A%71%68%20%3D%20%34%3B%76%61%72%20%5F%76%69%65%73%77%76%6E%62%20%3D%20%27%5F%6B%67%7A%76%7A%61%69%27%3B%5F%73%73%69%75%64%20%2A%20%5F%76%69%65%73%77%76%6E%62%2E%6C%65%6E%67%74%68%20%2B%20%5F%73%64%7A%71%68')))","'8'","'P'","var _pjrqrii = '_ejdl';var _isjn = new RegExp(_pjrqrii.charAt(eval(unescape('%28%28%31%20%2A%20%38%20%2D%20%34%29%20%2F%20%34%29'))), 'g');String.fromCharCode(_pjrqrii.replace(_isjn, 's').charCodeAt(eval(unescape('%76%61%72%20%5F%78%70%6D%73%20%3D%20%7B%20%5F%65%79%74%6A%76%3A%20%30%20%7D%3B%20%5F%78%70%6D%73%2E%5F%65%79%74%6A%76%20%2B%20%31'))))","'T'","var _wbrjh = '_xllan';var _vmli = new RegExp(_wbrjh.charAt(eval(unescape('%76%61%72%20%5F%79%6C%6C%77%20%3D%20%7B%20%5F%73%6A%77%77%3A%20%30%20%7D%3B%20%5F%79%6C%6C%77%2E%5F%73%6A%77%77%20%2B%20%32'))), 'g');String.fromCharCode(_wbrjh.replace(_vmli, 'U').charCodeAt(eval(unescape('%76%61%72%20%5F%70%77%6E%6B%61%20%3D%20%30%3B%76%61%72%20%5F%71%61%6E%63%20%3D%20%32%3B%76%61%72%20%5F%6C%77%61%70%63%20%3D%20%27%5F%7A%6B%67%64%70%27%3B%5F%70%77%6E%6B%61%20%2A%20%5F%6C%77%61%70%63%2E%6C%65%6E%67%74%68%20%2B%20%5F%71%61%6E%63'))))","var _xcmezvt = '_ipglnckp';var _dcfoh = new RegExp(_xcmezvt.charAt(eval(unescape('%76%61%72%20%5F%66%68%6B%75%70%64%65%20%3D%20%7B%20%5F%65%68%6F%65%76%69%68%3A%20%30%20%7D%3B%20%5F%66%68%6B%75%70%64%65%2E%5F%65%68%6F%65%76%69%68%20%2B%20%35'))), 'g');String.fromCharCode(_xcmezvt.replace(_dcfoh, 'O').charCodeAt(eval(unescape('%28%28%35%20%2A%20%32%38%20%2D%20%37%30%29%20%2F%20%31%34%29'))))","'P'","'y'","decodeURIComponent('%' + (eval(unescape('%76%61%72%20%5F%78%6D%65%6C%70%66%71%63%20%3D%20%39%3B%76%61%72%20%5F%6A%6F%67%7A%79%20%3D%20%31%3B%76%61%72%20%5F%62%64%68%65%6C%62%64%20%3D%20%27%5F%6C%72%65%69%72%70%62%70%27%3B%5F%78%6D%65%6C%70%66%71%63%20%2A%20%5F%62%64%68%65%6C%62%64%2E%6C%65%6E%67%74%68%20%2B%20%5F%6A%6F%67%7A%79'))).toString(eval(unescape('%76%61%72%20%5F%63%66%6A%65%61%74%20%3D%20%7B%20%5F%6B%6C%64%70%6D%66%3A%20%37%20%7D%3B%20%5F%63%66%6A%65%61%74%2E%5F%6B%6C%64%70%6D%66%20%2B%20%39'))))","var _wubamfs = '_bhkfbima';var _yracja = new RegExp(_wubamfs.charAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%34%2E%35%33%29%20%2B%20%33%20%2D%20%31'))), 'g');String.fromCharCode(_wubamfs.replace(_yracja, 'Q').charCodeAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%36%2E%39%38%29%20%2B%20%31%20%2D%20%31'))))","var _sqcuor = { _oquhhfk: '_wkxselia' }; _sqcuor._oquhhfk.charAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%31%2E%39%33%29%20%2B%20%31%20%2D%20%31')))","'+'","decodeURIComponent('%' + (eval(unescape('%76%61%72%20%5F%62%69%66%65%74%20%3D%20%7B%20%5F%64%79%73%79%6D%76%69%3A%20%31%37%20%7D%3B%20%5F%62%69%66%65%74%2E%5F%64%79%73%79%6D%76%69%20%2B%20%35%36'))).toString(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%33%2E%37%30%29%20%2B%20%31%33%20%2D%20%31'))))","var _chaxsme = '_ecdjguqf';var _rwek = new RegExp(_chaxsme.charAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%34%2E%39%34%29%20%2B%20%32%20%2D%20%31'))), 'g');String.fromCharCode(_chaxsme.replace(_rwek, 'H').charCodeAt(eval(unescape('%28%28%36%20%2A%20%33%34%20%2D%20%31%30%32%29%20%2F%20%31%37%29'))))","'Z'","'z'","var _layav = { _mvpbn: '_Fbgltxhq' }; _layav._mvpbn.charAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%31%2E%38%36%29%20%2B%20%30%20%2D%20%31')))","decodeURIComponent('%' + (eval(unescape('%28%28%37%30%20%2A%20%31%36%20%2D%20%35%36%30%29%20%2F%20%38%29'))).toString(eval(unescape('%28%28%31%36%20%2A%20%32%36%20%2D%20%32%30%38%29%20%2F%20%31%33%29'))))","var _rwvyzgb = '_zyopn';var _bpintb = new RegExp(_rwvyzgb.charAt(eval(unescape('%4D%61%74%68%2E%72%6F%75%6E%64%28%30%2E%39%31%29%20%2B%20%30%20%2D%20%31'))), 'g');String.fromCharCode(_rwvyzgb.replace(_bpintb, '5').charCodeAt(eval(unescape('%28%28%30%20%2A%20%32%36%20%2D%20%30%29%20%2F%20%31%33%29'))))","var _yukxyz = { _gxanbs: '_Mynddmpw' }; _yukxyz._gxanbs.charAt(eval(unescape('%31')))","'x'","var _hhnd = { _ienyekft: 'txihjy' }; _hhnd._ienyekft.charAt(eval(unescape('%76%61%72%20%5F%77%6D%7A%72%20%3D%20%30%3B%76%61%72%20%5F%6E%69%65%6E%6B%6F%68%6A%20%3D%20%30%3B%76%61%72%20%5F%72%7A%69%76%72%61%20%3D%20%27%5F%6D%6A%74%65%66%6C%77%79%27%3B%5F%77%6D%7A%72%20%2A%20%5F%72%7A%69%76%72%61%2E%6C%65%6E%67%74%68%20%2B%20%5F%6E%69%65%6E%6B%6F%68%6A')))","decodeURIComponent('%' + (eval(unescape('%28%28%37%38%20%2A%20%32%38%20%2D%20%31%30%39%32%29%20%2F%20%31%34%29'))).toString(eval(unescape('%31%36'))))","var _stnjdc = { _pzikvu: '_jauwtq' }; _stnjdc._pzikvu.charAt(eval(unescape('%35')))","var _uipq = { _byax: '_uuc9tnhs' }; _uipq._byax.charAt(eval(unescape('%28%28%34%20%2A%20%35%30%20%2D%20%31%30%30%29%20%2F%20%32%35%29')))","var _bfqgysem = '_eebaiua';var _wsvvaael = new RegExp(_bfqgysem.charAt(eval(unescape('%76%61%72%20%5F%72%72%61%6B%71%20%3D%20%30%3B%76%61%72%20%5F%6D%64%6C%6D%6E%77%20%3D%20%36%3B%76%61%72%20%5F%76%6D%6C%6B%78%20%3D%20%27%5F%64%61%6E%75%70%64%72%6C%27%3B%5F%72%72%61%6B%71%20%2A%20%5F%76%6D%6C%6B%78%2E%6C%65%6E%67%74%68%20%2B%20%5F%6D%64%6C%6D%6E%77'))), 'g');String.fromCharCode(_bfqgysem.replace(_wsvvaael, '0').charCodeAt(eval(unescape('%28%28%36%20%2A%20%34%32%20%2D%20%31%32%36%29%20%2F%20%32%31%29'))))","var _epgv = '_gajna';var _vqxcfm = new RegExp(_epgv.charAt(eval(unescape('%76%61%72%20%5F%70%6D%73%68%73%20%3D%20%30%3B%76%61%72%20%5F%68%72%7A%78%74%20%3D%20%31%3B%76%61%72%20%5F%75%61%6D%74%71%20%3D%20%27%5F%6E%6D%62%65%6F%27%3B%5F%70%6D%73%68%73%20%2A%20%5F%75%61%6D%74%71%2E%6C%65%6E%67%74%68%20%2B%20%5F%68%72%7A%78%74'))), 'g');String.fromCharCode(_epgv.replace(_vqxcfm, '0').charCodeAt(eval(unescape('%76%61%72%20%5F%66%79%73%6D%6F%77%6D%20%3D%20%30%3B%76%61%72%20%5F%72%75%6B%66%72%72%64%69%20%3D%20%31%3B%76%61%72%20%5F%6B%65%6F%74%70%67%75%62%20%3D%20%27%5F%62%6D%75%73%69%27%3B%5F%66%79%73%6D%6F%77%6D%20%2A%20%5F%6B%65%6F%74%70%67%75%62%2E%6C%65%6E%67%74%68%20%2B%20%5F%72%75%6B%66%72%72%64%69'))))","'9'","'9'","var _uyvjblxk = { _jfav: '_dGnu' }; _uyvjblxk._jfav.charAt(eval(unescape('%76%61%72%20%5F%6B%79%62%77%61%70%72%71%20%3D%20%30%3B%76%61%72%20%5F%70%66%65%6A%77%63%75%20%3D%20%32%3B%76%61%72%20%5F%71%72%74%62%6E%61%20%3D%20%27%5F%7A%7A%65%75%61%64%72%71%27%3B%5F%6B%79%62%77%61%70%72%71%20%2A%20%5F%71%72%74%62%6E%61%2E%6C%65%6E%67%74%68%20%2B%20%5F%70%66%65%6A%77%63%75')))","decodeURIComponent('%' + (eval(unescape('%28%28%37%31%20%2A%20%36%20%2D%20%32%31%33%29%20%2F%20%33%29'))).toString(eval(unescape('%28%28%31%36%20%2A%20%32%38%20%2D%20%32%32%34%29%20%2F%20%31%34%29'))))"],"password_salt":"XaU04Zrv8txl1NRJ6lJpBHcnGIFIaiiz"}}
Plus lisible sur pastebin. OS v3.3.2
|
|
23732 | 30/12/2018 | 24/10/2021 | Anomalie | API | Freebox Server V7 (Delta) | Nouveau | Docs api delta 6.0 |
Task Description
Pas de doc pour la version 6.0 des api freebox
|
|
28985 | 12/11/2019 | 20/01/2021 | Évolution | API | Tous | Nouveau | API de récupération des sessions |
Task Description
Bonjour,
J’utilise les APIs du serveur de la freebox et j’ai identifié qu’il existait une API de récupération des sessions (c-a-d une liste des sessions des applications tierces connectées aux API). Cette API correspond à “Gestion des accès > Sessions” dans l’interface web accessible depuis mafreebox.freebox.fr.
L’API semble être accessible depuis l’url http://mafreebox.freebox.fr/api/v6/sessions mais lorsque je l’appelle avec ma propre application (qui possède son propre app_token préalablement granted), j’ai un code retour 403 (Unauthorized).
Que dois-je faire pour pouvoir accéder à cette API ?
Merci bcp pour votre aide
Bien cordialement,
Jean-Baptiste
|
|
30410 | 20/04/2020 | 21/04/2020 | Anomalie | API | Tous | Nouveau | Impossible de se connecter via freebox compagnon |
Task Description
Bonjour,
Je viens de changer de freebox server et je n’arrive pas à me connecter à ma box en utilisant l’application smartphone freebox compagnon. J’ai un message d’erreur : “Erreur Failed to connect to ...” (adresse IP)
Je ne peux pas choisir ma box. Je suis bien connecté en WiFi. Je peux me connecter à ma box freebox OS via internet mais ça ne fonctionne pas via l’application freebox compagnon. J’ai essayé de désinstaller / réinstaller plusieurs fois.
L’adresse IP indiquée dans le message d’erreur freebox compagnon est différente de l’adresse IP indiqué dans les paramètres de freebox OS.
|
|
32062 | 25/08/2020 | 20/01/2021 | Autre | API | Tous | Nouveau | Ajouter CGU pour Apple Store |
Task Description
Bonjour,
Apple demande des CGU ou tout autre texte qui authorise un dev indépendant d’utiliser l’api REST de la freebox. Rien n’est mentionné sur le site.
Quelques lignes disant que l’on peut faire des application IOS + Android avec l’api serait vraiment bien. Et aussi que l’on peut mentionner le nom “Free” ou “Freebox” tant que ça reste nominatif genre “pour Freebox ...” ce serait vraiment pratique aussi.
J’ai plusieurs applications sur la store et j’ai sans arrêt des soucis vu qu’on ne trouve aucun texte ou CGU. Désolé si ce n’est pas le bon endroit mais je ne sais pas du tout où poster ça à part sur un truc de dev.
Merci
|
|
33172 | 20/11/2020 | 08/01/2021 | Anomalie | API | Tous | Nouveau | Disparition des entêtes HTTP |
Task Description
Bonjour,
Les entêtes HTTP des fichiers proposés par l’API, comme les logos des chaînes, ne sont plus disponibles. Sauf erreur de ma part, la requête suivante fonctionnait il y a peu :
curl -I http://mafreebox.freebox.fr/api/v8/tv/img/channels/logos68x60/uuid-webtv-201.png
Désormais, elle retourne :
HTTP/1.1 404 Not Found
Server: nginx
Date: Fri, 20 Nov 2020 17:24:52 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Ce comportement est aberrant puisque la ressource existe bel et bien. Ainsi, la requête GET correspondante fonctionne :
curl -I -X GET http://mafreebox.freebox.fr/api/v8/tv/img/channels/logos68x60/uuid-webtv-201.png
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 20 Nov 2020 17:28:02 GMT
Content-Type: image/png; charset=utf-8
Content-Length: 1777
Connection: keep-alive
Last-Modified: Wed, 18 Nov 2020 11:31:39 GMT
ETag: "5fb5061b-6f1"
Expires: Wed, 25 Nov 2020 11:55:21 GMT
Cache-Control: max-age=604800
Accept-Ranges: bytes
Cette régression a vraisemblablement été introduite dans Freebox OS peu avant le 26 août.
Merci :)
|
|
33956 | 03/02/2021 | 24/10/2021 | Évolution | API | Freebox Server V7 (Delta) | Nouveau | Mise à jour de la documentation API |
Task Description
Bonjour,
A ce jour, la documentation disponible dans l’interface de Freebox OS est basée sur la version d’API 5.0, alors que l’OS actuel est basé sur la version 8.1 Merci d’effectuer un petit rafraichissement de rigueur.
Bien cordialement
|
|
34928 | 26/05/2021 | 08/09/2021 | Anomalie | API | Freebox Server V6 (Révolution) | Nouveau | L'API ne permet plus de supprimer les fichiers en exten... |
Task Description
Bonjour,
Depuis le passage au firmware 4.3.3 sur ma Freebox Révolution, il n'est plus possible de supprimer les fichiers dont l'extension est .srt
J'ai essayé :
via l'interface de la TV : aucune erreur apparait mais le fichier n'est pas supprimé
via l'application Android de Free : j'ai une erreur qui dit « suppression de 1 fichier a échoué »
via l'interface de FreeboxOS : j'ai le message « erreur lors de la suppression : permission refusée »
Voici le JSON retourné par https://mafreebox.freebox.fr/api/v8/fs/rm/ :
{
"result": {
"curr_bytes_done": 0,
"total_bytes": 0,
"nfiles_done": 0,
"started_ts": 1622011226,
"duration": 0,
"done_ts": 0,
"src": [
"/Disque dur/Vidéos/TV/episode.s1e01.srt"
],
"curr_bytes": 0,
"type": "rm",
"to": "",
"id": 10,
"nfiles": 0,
"created_ts": 1622011226,
"state": "running",
"total_bytes_done": 0,
"rate": 0,
"from": "/Disque dur/Vidéos/TV/episode.s1e01.srt",
"dst": "",
"eta": 0,
"error": "none",
"progress": 0
}
}
À noter que j'arrive à supprimer sans problème le fichier via Windows Explorer.
Cela ne vient pas d'un seul fichier SRT en particulier (j'ai essayé 2 fichiers différents dans deux répertoires différents). Pas de problème avec les fichiers vidéos.
Merci
|
|
35719 | 06/10/2021 | 24/10/2021 | Autre | API | Tous | Nouveau | Documentation publique de l'API Freebox (complète et à ... |
Task Description
n peut trouver la documentation de l'API Freebox ici : https://dev.freebox.fr/sdk/os/ et elle est publique Cependant, cette documentation ne semble pas à jour et/ou pas complète : c'est dommage
Certe on peut la trouver sur l'aide sur Freebox OS (qui s'appelle maintenant "Développer" dans le menu Free en bas à gauche) Ou en allant sur l'URL : http://mafreebox.freebox.fr/doc/index.html#developer-api-documentation
On voit d'ailleurs la grosse différence entre les 2 documentation (publique et maFreebox) sur la partie Api List Les paragraphes suivants : - home - notification - Players Devices - Virtual Machines n'existent pas sur la documentation publique (premier lien)
Est-ce volontaire ? Pourquoi publier en public qu'une partie de la documentation ?
|
|
35895 | 02/11/2021 | 03/11/2021 | Anomalie | API | Freebox Server V7 (Delta) | Nouveau | Données eronées Freeplug entre l'interface et API List |
Task Description
Bonjour,
lors d'une requête GET /api/v8/freeplug/, j’obtiens
{"success":true,"result":[{"id":"A1:2D:D8:60:D6:E3:03","members":[{"id":"34:27:92:1A:B6:70","tx_rate":-1,"eth_port_status":"up","rx_rate":-1,"net_role":"cco","inactive":1,"net_id":"A1:2D:D8:60:D6:E3:03","model":"int7500","eth_speed":1000,"local":true,"eth_full_duplex":true,"has_network":true},{"id":"70:FC:8F:04:E2:00","tx_rate":-1,"eth_port_status":"up","rx_rate":-1,"net_role":"sta","inactive":1,"net_id":"A1:2D:D8:60:D6:E3:03","model":"int7500","eth_speed":1000,"local":false,"eth_full_duplex":true,"has_network":true}]}]}
on peut voir pour l'id "70:FC:8F:04:E2:00", on a les valeur :
tx_rate = -1
rx_rate = -1
alors que sur l'interface
tx_rate = 9Mb/s
rx_rate = 9Mb/s
|
|
36942 | 17/08/2022 | 07/04/2024 | Anomalie | API | Freebox Server V8 (Pop) | Nouveau | Lenteur sur téléchargement via l'API |
Task Description
Bonjour,
J'ai lu pas mal de posts sur le sujet mais j'ai remarqué des lenteurs sur l'API de téléchargement de la Freebox (Je possède une POP pour info ).
J'ai partagé le problème sur un autre forum et j'ai eu une réponse intéressante, je vous colle le lien ci-dessous :
https://freebox.toosurtoo.com/forum/viewtopic.php?t=25383
Je me demandais si le problème était hardware ou software ? Qu'est ce qui limite la box à ne pas se connecter à autant de "pairs" que sur un PC classique ?
Je vous remercie par avance pour vos éclaircissements
|
|
36981 | 27/08/2022 | 09/04/2024 | Anomalie | API | Tous | Nouveau | [résolu] 2022, API mafreebox.freebox.fr, session token,... |
Task Description
Bonjour à tous,
pour info, après plusieurs essais infructeux dans tous les sens j'ai enfin réussi à obtenir un session token
la doc API intégrée à la freebox (https://mafreebox.freebox.fr/doc/index.html#) est erronée concernant le calcul du "password". ce password est necessaire dans la requête du session token
—> dans la doc est écrit —> dans le paragraphe "Obtaining a session_token"/"password string" —> password = hmac-sha1(app_token, challenge) (←– CECI NE FONCTIONNE PAS)
avec le password ainsi calculé, j'obtenais en réponse à la requête de session token (POST http)
Status Code: 403 Forbidden
msg: Erreur d'authentification de l'application
error_code: invalid_token
Pour que ça fonctionne, il faut inverser app_token et challenge dans la formule
(CECI CI-DESSOUS FONCTIONNE) (variables challenge et app_token préalablement attribuées bien sûr)
#en php
$password = hash_hmac("sha1", $challenge, $app_token);
#ou en bash
password=$(echo -n $challenge | openssl sha1 -hmac $app_token | cut -d '=' -f2 | sed 's/ //g')
—> et avec le bon password, ça passe mieux —> session_token (enfin) reçu
en remarques complémentaires (de ce que j'en ai compris),
- l'app_token une fois sollicité/autorisé/validé est pérenne
- le challenge par contre, à une durée de validité courte (30 secondes),
validité courte qui est donc conférée au password.
Et donc pour réussir l'obtention du session_token,
la requête/obtention du challenge, le calcul du password et la requête du session_token
doivent être fait pendant cette période de validité de 30 secondes.
- je suppose que le session_token est relativement pérenne
(pas pu tester longtemps) mais on sait maintenant comment en solliciter un autre...
HTH, cordialement, hého
|
|
37503 | 17/12/2022 | 17/12/2022 | Anomalie | API | Freebox Server V7 (Delta) | Nouveau | Aucune info et erreur (500) sur module Switch dans Free... |
Task Description
Bonjour,
Depuis plusieurs versions déjà et actuellement en 4.7.3, avec une Freebox Delta en mode bridge + connexion du seul équipement sur port SFP:
Lors d’une tentative d’accès au module “Switch” dans Freebox OS (Paramètres de la Freebox > Réseau local > Switch), aucune information n’apparait (bien que la connexion/l’équipement connecté à la Freebox fonctionne); et le message d’erreur suivant apparait dans une fenêtre modale:
C’est cassé !! Un problème est survenu lors de cette requête au server (erreur: 500)
L’erreur semble etre la traduction UI d’un échec d’appel de Freebox OS vers l’API sur
/api/latest/switch/status/?_dc=...
, qui renvoie une erreur 500. Le module génère également un appel API sur
/api/latest/switch/port/1?_dc=...
, qui lui renvoie un status 200 et des informations sur… un port du switch certainement.
|
|
37677 | 06/02/2023 | 07/02/2023 | Autre | API | Tous | Nouveau | Authentification application |
Task Description
Bonjour,
je souhaite développer une application en python pour me connecter à ma freebox POP.
J’ai bien compris que la première étape est d’inscrire son application et de l’autoriser sur la box. Voici mon code:
headers = {}
payload=json.dumps ({
"app_id": "fr.freebox.test",
"app_name": "test",
"app_version": "1.0.0",
"device_name": "NO"
})
try:
response = requests.request('POST', 'https://mafreebox.freebox.fr/api/v10/login/authorize', headers=headers, data=payload,verify=False)
except Exception as e:
print ('Execution Box Authorize commmand failed : ' + str(e))
else :
if (response.status_code == 200) :
authorize = response.json()
print (authorize)
Tout fonctionne bien je récupère bien un app_token :
{’success’: True, ‘result’: {’app_token’: ‘xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx’, ‘track_id’: 74}}
Et sur la box s’affiche l’authorisation. Mais j’ai beau essayé de valider en sélectionnant Oui sur l’édcran LCD (Fleche droite puis l’écran affiche de nouveau l’heure), La console des accès reste la même :
—–> ‘Authentification en cours’
Avez-vous une idée de là où ça coince ?
Cordialement
|
|
37679 | 07/02/2023 | 03/04/2024 | Anomalie | API | Freebox Server V6 (Révolution) | Nouveau | API V10 retourne invalid_token après génération du hmac |
Task Description
Bonjour,
Je tente depuis plusieurs jours de taper via API ma freebox server revolution (A jour du dernier firmware)
J’ai donc bien suivis la DOC, et je suis en python 3.8
1 - Générer mon application, puis la confirmer sur le front en physique, j’ai le “status”:”granted” 2 - Je récupère le challenge 3 - Tentative d’ouverture de session via le password généré depuis le app_token et le challenge
J’obtiens en retour (tout est anonymisé) :
{'uid': '732edfg65fgaze', 'success': False, 'msg': "Erreur d'authentification de l'application", 'result': {'password_salt': 'M/iYdsf6a9dhyuiods9qsxtfpc+r1KFB', 'challenge': 'KRgdfez6r5sHHRTEuygfvVTGK'}, 'error_code': 'invalid_token'}
Je ne comprend pas ou la raison du soucis, si quelqu’un peut m’éclairer si je me suis trompé ou si c’est un bug
import datetime
import hashlib
import hmac
import json
import pickle
import time
import requests
import urllib3
import sys
import base64
def make_digest(message, key):
key = bytes(key, 'UTF-8')
message = bytes(message, 'UTF-8')
digester = hmac.new(key, message, hashlib.sha1)
#signature1 = digester.hexdigest()
signature1 = digester.digest()
#print(signature1)
#signature2 = base64.urlsafe_b64encode(bytes(signature1, 'UTF-8'))
signature2 = base64.urlsafe_b64encode(signature1)
#print(signature2)
return str(signature2, 'UTF-8')
appid = "applicationidcustom"
appname ="AppnameCustom"
devicename ="Dlocalcustom"
appversion = "1"
apptoken = "dfgmonapptokengenererlorsdelauthOw0Udhyq/"
#Etape 2 : Obtenir le challenge value avant de sauthentifier
url = "http://mafreebox.freebox.fr/api/v10/login/"
headers = {"Content-Type": "application/json; charset=utf-8"}
response = requests.get(url, headers=headers)
ReturnResponse = response.json()
if ReturnResponse["success"] == False:
sys.exit(0)
#Etape 3 : Recuperation du token de session
CurrentChallenge = ReturnResponse["result"]["challenge"]
CurrentPassword = make_digest(CurrentChallenge, apptoken)
url = "http://mafreebox.freebox.fr/api/v10/login/session/"
data = {"app_id": appname, "password": CurrentPassword}
headers = {"Content-Type": "application/json; charset=utf-8"}
response = requests.post(url, headers=headers, json=data)
ReturnResponse = response.json()
print(ReturnResponse)
#{'uid': '732edfg65fgaze', 'success': False, 'msg': "Erreur d'authentification de l'application", 'result': {'password_salt': 'M/iYdsf6a9dhyuiods9qsxtfpc+r1KFB', 'challenge': 'KRgdfez6r5sHHRTEuygfvVTGK'}, 'error_code': 'invalid_token'}
|
|
37718 | 15/02/2023 | 07/04/2024 | Anomalie | API | Freebox Server V6 (Révolution) | Nouveau | Endpoint /share_link non fonctionnel |
Task Description
Bonjour,
J’ai constaté que l’endpoint /share_link ne retourne pas ce qu’il faut, en théorie il doit retourner ça :
{
"success": true,
"result": {
"path": "L0Rpc3F1ZSBkdXIvVMOpbMOpY2hhcmdlbWVudHM=", /* /Disque dur/Téléchargements */
"name": "Téléchargements",
"token": "6Hj57zgTfoQqb_vH",
"expire": 1355932880,
"fullurl": "http://13.37.42.69/api/v8/share/6Hj57zgTfoQqb_vH/"
}
}
actuellement il retourne uniquement le success sans le result :
{
success: true
}
Ce problème est présent sur le post de /share_link uniquement à ma connaissance.
Merci
|
|
38636 | 07/09/2023 | 11/09/2023 | Anomalie | API | Freebox Server V6 (Révolution) | Nouveau | TVMonaco non disponible dans l'api des bouquets |
Task Description
Bonjour, l’api bouquet :
https://mafreebox.freebox.fr/api/v6/tv/bouquets/770/channels
ne renvoie pas la chaîne TVMonaco ajoutée dernièrement en place 900.
Pourquoi et comment faire pour mettre à jour le bouquet?
Merci et bonne journée.
|
|
39081 | 26/02/2024 | 29/02/2024 | Évolution | API | Tous | Nouveau | Indication du temps d'attente lors d'un "Too Many Reque... |
Task Description
Bonjour,
Je rencontre un problème lors de l’utilisation de l’API. Actuellement, lorsque j’effectue un nombre excessif de requêtes, je reçois en retour le message “Too Many Requests”.
Vu que le blacklistage des machines qui effectuent trop de requêtes est exponentiel (plus on insiste, plus la limitation est longue ; https://https://dev.freebox.fr/bugs/task/19160#comment79018), serait-il possible d’ajouter une indication du temps d’attente nécessaire avant de pouvoir effectuer de nouvelles requêtes ?
Actuellement, nous sommes contraints de réessayer à plusieurs reprises sans savoir exactement dans combien de temps nous pourrons effectuer de nouvelles requêtes. Cela a pour conséquence d’augmenter le temps d’attente si nous essayons de nouveau avant la fin de la période de blocage, ce qui a pour conséquence d’aggraver la situation.
Dans la demande “ FS#19160 “, il était indiqué que “Pour réinitialiser cette limitation il suffit de redémarrer le Server”. Cependant, après avoir essayé cette solution, le problème persiste toujours. Donc l’ajout de cette évolution aiderait grandement.
Je vous remercie par avance pour votre considération de cette demande d’amélioration.
Cordialement
|
|
39280 | 03/04/2024 | 03/04/2024 | Anomalie | API | Freebox Server V7 (Delta) | Nouveau | API - Erreur message inconnu dans la documentation | |
|
39911 | 15/12/2024 | 19/12/2024 | Anomalie | API | Tous | Nouveau | Freebox API Login Track "/api/v8/login/authorize/" | |
|
39938 | 29/12/2024 | 29/12/2024 | Évolution | API | Tous | Nouveau | Notification API - custom type + VM events | |
|
40136 | 22/03/2025 | 23/04/2025 | Anomalie | API | Tous | Nouveau | Impossible de changer de chaine sur le player avec l'AP... | |
|
40300 | 10/05/2025 | 11/05/2025 | Anomalie | API | Freebox V9 (Ultra) | Nouveau | Problème de device_tracker dans home Assistant depuis M... | |
|
32789 | 15/10/2020 | 24/10/2020 | Anomalie | Applications | Freebox Player V6 (Revolution) | Nouveau | Ping ne répond pas | |
|
33425 | 12/12/2020 | 14/01/2021 | Évolution | Association | Android | Nouveau | Ajout d'un historique des sessions Freebox OS | |
|
7899 | 16/09/2011 | 04/06/2012 | Évolution | Audio (AirMedia, ...) | Freebox Server V6 (Révolution) | Nouveau | Latence audio Airmedia | |
|
8144 | 11/10/2011 | 24/01/2015 | Évolution | Audio (AirMedia, ...) | Freebox Server V6 (Révolution) | Nouveau | Heure + AirMedia | |
|
13140 | 02/09/2013 | 03/02/2023 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Pas d'accès AirMedia 'audio' sur le Freebox Server | |
|
15078 | 24/05/2014 | 22/10/2014 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Ajouter un Renderer DLNA au Freebox Server | |
|
15218 | 25/06/2014 | 03/02/2019 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Pouvoir lire les radios favoris sur Freebox Server | |
|
16275 | 30/01/2015 | 25/09/2017 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Le port audio IN devrait permettre une entrée son | |
|
16341 | 01/03/2015 | 18/05/2021 | Anomalie | Audio (AirMedia, ...) | Tous | Nouveau | Probleme de son sous Airplay (Freebox Server Air Media) | |
|
19127 | 10/11/2015 | 28/11/2019 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Compte Deezer non disponible | |
|
19183 | 20/11/2015 | 06/08/2020 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Serveur DLNA DMS | |
|
19489 | 16/01/2016 | 16/01/2016 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Utilisation enceinte freebox server depuis freebox play... | |
|
19567 | 02/02/2016 | 29/08/2021 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Visibilité des fichiers .dsf (DSD) via DLNA | |
|
21340 | 05/04/2017 | 07/02/2018 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Airplay c'est pour quand ? | |
|
21579 | 04/06/2017 | 01/11/2018 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Fonction Airmedia non supporté | |
|
21836 | 07/10/2017 | 07/10/2017 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Simple Radio | |
|
22248 | 14/01/2018 | 14/01/2018 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Nouveau flux RJM DANCE | |
|
22355 | 05/02/2018 | 10/03/2020 | Anomalie | Audio (AirMedia, ...) | Tous | Nouveau | Problème distorsion de son via airplay | |
|
22416 | 20/02/2018 | 03/02/2019 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | possibilité d'avoir des favoris dans les radios | |
|
22817 | 28/08/2018 | 28/08/2018 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Prise en charge AirPlay 2 | |