|
36009 | 24/11/2021 | 17/04/2025 | Évolution | API | Tous | En attente de réponse | [Backup SOLVED / Restore ???] API pour sauvegarder / r... |
Task Description
[EDIT 2025-04-17]
Pour backup, une fois le trafic TLS décrypté, je trouve:
GET /api/latest/backup/config/export
Il est donc maintenant possible de backup régulièrement et en automatique la Freebox, par exemple en utilisant la fonction backup_fbx_config() de la library BASH
[/EDIT 2025-04-17/]
Bonjour
Suite au passage en 4.5.3 “officiel”, la section changes de l’API ne fait pas mention de l’ajout d’une API pour faire une sauvegarde de la box / restorer une sauvegarde.
Pourriez vous SVP ajouter une API permettant d’automatiser les sauvegardes ? Pourriez vous également ajouter une API permettant de restorer une sauvegarde ?
Pouvoir créer une sauvegarde avec l’API vers un drive de la box ou un serveur réseau serait un plus. Idem pour la restoration d’une sauvegarde depuis l’API.
En vous remerciant d’avance, Cordialement nbanba
|
|
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
|
|
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
|
|
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
|
|
39911 | 15/12/2024 | 19/12/2024 | Anomalie | API | Tous | Nouveau | Freebox API Login Track "/api/v8/login/authorize/" |
Task Description
Bonjour,
Contre toute attente, l’API de Track login sur un id de track inexistant retourne pas mal d’informations qu’elle ne devrait pas forcément retourner dont un password salt et beaucoup de code échappés. Est-ce la documentation de l’API qui n’est pas à jour ? Où est-ce normal que l’API dump du code en JS ?
NB : Les “XXXX” remplace le code échappé et le sel a été retiré.
Freebox OS : 4.8.16
http://mafreebox/api/v8/login/authorize/666
{
"success":true,
"result":{
"status":"unknown",
"challenge":[
"var _tddrqb = '_fzutptw';var _hvlvi = new RegExp(_tddrqb.charAt(eval(unescape('%37'))), 'g');String.fromCharCode(_tddrqb.replace(_hvlvi, 'z').charCodeAt(eval(unescape('XXXXX'))))",
"var _aethnyfs = '_mtjsaiih';var _nxxvroo = new RegExp(_aethnyfs.charAt(eval(unescape('XXXXX'))), 'g');String.fromCharCode(_aethnyfs.replace(_nxxvroo, 'p').charCodeAt(eval(unescape('%35'))))",
"var _xphsj = '_agfkirx';var _uobvx = new RegExp(_xphsj.charAt(eval(unescape('%37'))), 'g');String.fromCharCode(_xphsj.replace(_uobvx, 'k').charCodeAt(eval(unescape('%37'))))",
"var _hotru = { _rehs: '_6rkhldig' }; _hotru._rehs.charAt(eval(unescape('XXXX')))",
"var _ebcy = { _neoqqe: '_tah\/' }; _ebcy._neoqqe.charAt(eval(unescape('%34')))",
"var _vxcbrq = { _unqxlpz: '_mvqkbjw' }; _vxcbrq._unqxlpz.charAt(eval(unescape('XXXXX')))",
"decodeURIComponent('%' + (eval(unescape('%35%37'))).toString(eval(unescape('XXXX'))))",
"'g'",
"'p'",
"decodeURIComponent('%' + (eval(unescape('XXXXX'))))",
"var _xfozdxm = { _etauaqab: '_pqSd' }; _xfozdxm._etauaqab.charAt(eval(unescape('XXXX')))",
"var _jsqs = '_fuzldxcj';var _emmk = new RegExp(_jsqs.charAt(eval(unescape('XXXXX'))), 'g');String.fromCharCode(_jsqs.replace(_emmk, 'J').charCodeAt(eval(unescape('%35'))))",
"'c'",
"decodeURIComponent('%' + (eval(unescape('XXXX'))).toString(eval(unescape('XXXX'))))",
"var _fczmbd = { _guhhz: '_dehqlq' }; _fczmbd._guhhz.charAt(eval(unescape(XXXX')))",
"var _afewzzt = { _mnpstx: '_yu1d' }; _afewzzt._mnpstx.charAt(eval(unescape('XXXXX')))",
"decodeURIComponent('%' + (eval(unescape('%35%35'))).toString(eval(unescape(XXXX'))))",
"var _qawcojla = '_bwzhef';var _rulszp = new RegExp(_qawcojla.charAt(eval(unescape('%33'))), 'g');String.fromCharCode(_qawcojla.replace(_rulszp, 'E').charCodeAt(eval(unescape('XXXXX'))))",
"decodeURIComponent('%' + (eval(unescape('XXXX'))).toString(eval(unescape('XXXX'))))",
"'G'",
"var _gcxvax = { _nsfg: '_wdyhcr' }; _gcxvax._nsfg.charAt(eval(unescape('XXXXX')))",
"var _xtwup = '_jakip';var _factsbsx = new RegExp(_xtwup.charAt(eval(unescape('XXXX'))), 'g');String.fromCharCode(_xtwup.replace(_factsbsx, 'P').charCodeAt(eval(unescape('XXXX'))))",
"var _pwunhjcf = '_mxno';var _mmoqgw = new RegExp(_pwunhjcf.charAt(eval(unescape('XXXX'))), 'g');String.fromCharCode(_pwunhjcf.replace(_mmoqgw, 'M').charCodeAt(eval(unescape('XXXX'))))",
"var _wndta = { _bfgrhge: '_zujuQ' }; _wndta._bfgrhge.charAt(eval(unescape('%35')))",
"var _qbfepmi = '_iwms';var _uffbilk = new RegExp(_qbfepmi.charAt(eval(unescape('%33'))), 'g');String.fromCharCode(_qbfepmi.replace(_uffbilk, 'e').charCodeAt(eval(unescape('%33'))))",
"var _rijvnj = '_syixk';var _sqaicfto = new RegExp(_rijvnj.charAt(eval(unescape('XXXX'))), 'g');String.fromCharCode(_rijvnj.replace(_sqaicfto, 'b').charCodeAt(eval(unescape('XXXXX'))))",
"'E'",
"decodeURIComponent('%' + (eval(unescape('XXXX'))).toString(eval(unescape('XXXX'))))",
"'s'",
"var _kjihqn = '_mjyeewoc';var _zktqloe = new RegExp(_kjihqn.charAt(eval(unescape('XXXX'))), 'g');String.fromCharCode(_kjihqn.replace(_zktqloe, 'E').charCodeAt(eval(unescape('XXXXX'))))",
"'n'",
"var _rzmbme = { _zmysndbt: '_odcjxnG' }; _rzmbme._zmysndbt.charAt(eval(unescape('XXXX')))"
],
"password_salt":"SALT"
}
}
|
|
39938 | 29/12/2024 | 29/12/2024 | Évolution | API | Tous | Nouveau | Notification API - custom type + VM events |
Task Description
Bonjour
1) Il serait pratique de pouvoir custom le champ 'type' des notifications : Aujourd'hui seul 3 choix sont possibles : Android | IOS | Firebase
L'ajout d'un type 'custom' (et pourquoi pas la possibilité de personnaliser un champ associé ⇒ ajout d'un "custom_type") serait bien. Par exemple :
GET /api/v11/notif/targets/11111111-2222-3333-4444-666666666666
{
"success":true,
"result":[
{
"last_use":0,
"type":"custom",
"custom_type":"firewall",
"name":"FGT901G-API",
"id":"11111111-2222-3333-4444-666666666666",
"subscriptions":[
"security",
"lan_host",
"box_state",
],
"api_url": "https://myserver.example.com/my_fortigate_API_app",
"message_type": "notification"
}
]
}
2) Il serait bien d'ajouter à la "subscriptions" les notifications des events des VM qui sont aujourd'hui renvoyés en websocket (+ celles des type l2/l3_address_(un)reachable)
3) Il serait bien de pouvoir avoir tous les types de notifications au travers des websocket API (register event) :
phone notification when missing call
download notification when download is finished
security notification when alarm is on
box_state notification when box state changed
lan_host notification related to lan events
password_change notification when admin password is changed
Ainsi le système serait un peu plus complet et homogène et surtout on pourrait piloter d'autres équipements (avec leur propre API) à réception de ces notifications.
Merci Cordialement nbanba
|
|
40435 | 01/08/2025 | 01/08/2025 | Anomalie | API | Tous | Nouveau | bytes_down et bytes_up sont réinitialisés fréquemment |
Task Description
Dans l’API, je récupère les informations bytes_down et bytes_up dans ConnectionStatus https://https://dev.freebox.fr/sdk/os/connection/ Ils sont régulièrement réinitialisés car les valeurs restent faibles malgré l’absence de reconnection dans le journal des connections. Ils ne devraient être réinitialisés qu’à chaque boot de la freebox, comme c’était le cas il y a longtemps dans l’API.
|
|
40557 | 08/10/2025 | 08/10/2025 | Anomalie | API | Tous | Nouveau | Erreur dans la doc de l'APIv15 ? |
Task Description
Bonjour
Y aurait il une coquille dans la doc de l’API v15 ?
On a :
GET /api/v15/fs/ls/L0Rpc3F1ZSBkdXI=&limit=100 HTTP/1.1
Host: mafreebox.freebox.fr
Sauf erreur de ma part il manque un ? entre l’URL et le paramètre
On devrait avoir:
GET /api/v15/fs/ls/L0Rpc3F1ZSBkdXI=?&limit=100 HTTP/1.1
Host: mafreebox.freebox.fr
d’ailleurs le ‘&’ n’est pas indispensable, ‘?limit=100’ fonctionne bien quand ce paramètre est seul
Cordialement nbanba
|
|
40300 | 10/05/2025 | 11/05/2025 | Anomalie | API | Freebox V9 (Ultra) | Nouveau | Problème de device_tracker dans home Assistant depuis M... |
Task Description
Bonjour,
Depuis la MAJ 4.9.3, certains appareils apparaissent comme absent dans Home Assistant, principalement les téléphones.
Les appareils sont bien reconnus dans l’interface de la Freebox mais sont absent quand je vais voir les entités de l’intégration Freebox (entités activées).
J’ai supprimé l’intégration, effacé le dossier Freebox puis réinstallé l’intégration, mais ça n’a rien changé.
Du coup j’ai pas mal d’automatisations qui ne fonctionnent plus…
Ce problème est arrivé pile après la MAJ, j’ai vérifié dans les journaux de HA.
Avez vous une solution pour corriger ce problème ?
Merci d’avance !
|
|
40709 | 09/12/2025 | 09/12/2025 | Anomalie | API | Freebox V9 (Ultra) | Nouveau | Résultat incertain de l'agrandissement d'images disque |
Task Description
Bonjour,
J’ai constaté une incohérence entre la requête d’agrandissement de disque et le résultat de la tâche: En effectuant une requête API pour changer la taille virtuelle d’un fichier disque en spéficiant un nombre de byte précis, la Freebox redimensionne le disque avec une taille différente.
Exemple:
En partant du fichier qcow2 suivant: https://raw.githubusercontent.com/NikolaLohinski/terraform-provider-freebox/main/examples/alpine-virt-3.20.0-aarch64.qcow2.
curl 'https://mafreebox.freebox.fr/api/latest/vm/disk/resize' -X POST --data-raw '{"size":1073741823,"disk_path":"L0Rpc3F1ZS9WTXMvdGVycmFmb3JtLXByb3ZpZGVyLWZyZWVib3gtYWxwaW5lLTMuMjAuMC1hYXJjaDY0LnFjb3cy","shrink_allow":false}'
Le disque devient alors:
{"success":true,"result":{"virtual_size":1073745920,"actual_size":72224768,"type":"qcow2"}}
On constate alors que le la taille virtuelle 1073745920 n’est pas celle attendue 1073741823.
Note: Dans mon travail sur le provider Terraform (https://github.com/NikolaLohinski/terraform-provider-freebox), j’en ai déduit que la taille virtuelle sera toujours un multiple de 8Ko.
Propositions:
Corriger l’ API /resize pour s’assurer que le disque ait bien la bonne taille.
Corriger l’ API /resize pour qu’elle n’accepte que les valeurs effectivement supportées (par exemple, HTTP 400: size must be a multiple of 4096 byte).
Documenter l’ API pour expliquer ces contraintes.
Merci d’avance pour votre aide.
|
|
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
|
|
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
|
|
24718 | 21/01/2019 | 20/01/2021 | Évolution | API | Freebox Server V7 (Delta) | À investiguer | Api pour alarme |
Task Description
Bonjour, serait-il possible d’avoir de la documentation et des exemples sur la partie domotique et l’alarme en particulier.
J’ai bien vu la partie “Special Tiles specification” dans la documentation sur la Freebox mais je n’ai pas trouvé comment, par exemple, activer ou désactiver l’alarme.
Merci
|
|
29209 | 27/11/2019 | 15/09/2021 | Évolution | API | Freebox Server V7 (Delta) | À investiguer | Mettre à jour les certificats TLS de nom de domaine per... |
Task Description
Bonjour,
Il semble que Freebox OS ne permette pas de mettre à jour les certificats de noms de domaine non administrés par freeboxos. Le seul moyen que j’aie pu trouver est de supprimer et recréer le domaine.
Dans l’idéal, il faudrait une API (documentée) afin de permettre des mise à jour automatiques par scripts (par exemple lorsqu’on a un certificat Let’s Encrypt pour son domaine, qu’il faut renouveler régulièrement).
|
|
29900 | 04/02/2020 | 20/01/2023 | Autre | API | Freebox Server V7 (Delta) | En cours de résolution | Utilisation des api |
Task Description
Bonjour,
j’explore actuellement l’utilisation des api freebox, je constate que la doc n’est pas à jours, il y est fait mention de la v5 des api, quand je fait une requete mDNS je constate que les api sont en fait en V7.
Il est fait mention de websocket dans cette doc, il n’est pas fait mention de l’url pour les utiliser, et de fait j’ai essayer tout ce qu’il me passait par la tête et rien n’a fonctionner.
Ma demande consiste donc a avoir la doc à jour, et dans l’intervalle je ne serais pas contre un p’tit exemple d’utilisation des websockets ou au moins l’url du endpoint.
|
|
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
|
|
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
|
|
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.
|
|
39280 | 03/04/2024 | 03/04/2024 | Anomalie | API | Freebox Server V7 (Delta) | Nouveau | API - Erreur message inconnu dans la documentation |
Task Description
Bonjour
Je suis tombé sur un message d'erreur renvoyé par l'API et non documenté dans la doc interne à la box (https://mafreebox.freebox.fr/doc/index.html?) :
Lors de la création foireuse d'une VM :
curl -sX POST --cacert /dev/shm/fbx-cacert "https://fbx.fbx.lan/api/v10/vm/" -H "X-Fbx-App-Auth: $_SESSION_TOKEN" -d '{"cloudinit_userdata":"","cd_path":"L0ZCWDI0VC9pc28vYXJtNjRfaXB4ZV9zaW1wbGUtbWVudTMuaXNv","os":"debian","enable_cloudinit":false,"disk_path":"L0ZCWDI0VC9ib3gtdm0vMTRSVi1GU1JWLTE2LnFjb3cy","vcpus":"1","memory":"4096","name":"14RV-FSRV-16","cloudinit_hostname":"","bind_usb_ports":[["",""]],"enable_screen":false,"disk_type":"qcow2"}' 2>&1
Notez bien l'erreur volontaire dans le tableau :
"bind_usb_ports":[["",""]]
Je ne devrais pas mettre un tableau dans ce tableau, l'objet JSON de l'API n'est pas prévu pour, surtout pour un tableau de tableau void. Je devrais écrire :
"bind_usb_ports":[]
Le retour de l'API est :
{"msg":"Impossible d’ajouter cette VM","success":false,"error_code":"internal"}
Et alors, j'ai bien cherché dans la doc des VM et dans la page d'error_codes de la doc de l'API, mais cette erreur internal ne semble pas être documentée.
Pourriez vous SVP ajouter la signification de ce message (et peut être le rendre + verbeux type : "bad value for a JSON array - internal error")
En vous remerciant d'avance Cordialement nbanba
PS: comme déjà demandé, le support de l'ANGLAIS sur les Delta serait bien et éviterai des trucs bien moches avec mix Français / Anglais comme :
{"msg":"Impossible d’ajouter cette VM","success":false,"error_code":"internal"}
|
|
39916 | 18/12/2024 | 24/03/2025 | Anomalie | API | Freebox Server V7 (Delta) | Confirmé | Temps de réponses de l'API non stable / Empty reply |
Task Description
Bonjour
EDIT 20250324:
Phénomène encore pire avec 4.9.0 Voir premier transfert de 3,7 GB sur cette vidéo (transfert en 512KB chunk soit 50% de la taille des frame supportées):
https://github.com/nbanb/fbx-delta-nba_bash_api.sh/raw/refs/heads/nbanb-freebox-api/local_direct_ul_api-video-example.webm
/EDIT/
J’ai constaté 2 phénomènes lors de l’utilisation des API qui compliquent leur utilisation:
-1) quand on envoi un certain nombres de requêtes à l’API (avec un rate soutenu), il arrive que l’API renvoit «empty_reply», soit une trame void Cela arrive aussi lorsque la Freebox reçoit 2 requêtes à ‘l’exacte même moment’
-2) les temps de réponses de l’API sont variables et se dégradent dans le temps même quand la box est globalement peu sollicité, c’est particulièrement flagrant sur l’API upload.
Je précise ici que lors des tests ou j’ai constaté le phénomène, la Freebox et le client sont connectés en 10G et sont à 5m de fibres l’un de l’autre. Le réseau n’est pas en cause (ni le stockage dans la box qui est composé de 4 SSD en raid)
Pour exemple POC ici: https://transfert.free.fr/6XdwQzi (lien valable 30j)
Regardez la barre de progression qui se base sur les trames ‘upload_data’ renvoyé par l’API pour chaque chunk, parfois on reçoit les retours au bout de plusieurs secondes alors que le débit upload est constant (et qu’on devrait recevoir un ‘stream’ de retour constant) Cela se constate facilement en regardant la barre de progression et les compteurs à droite qui s’incrémentent pas “rafale”
Aussi et de plus en plus souvent la Freebox met plus d’1 seconde à répondre à la première requête contenant ‘upload_start’. Ce n’était pas le cas lors des 9 premiers teras upload sur la box mais est devenu régulier depuis les 200 derniers GB transférés.
Y aurait il un phénomène d’essoufflement de la Freebox ? Un buffer nginx saturé / mal réglé ? Une possibilité pour le user de restart nginx serait super (au travers d’une API system/nginx par exemple) Ce serait dommage de devoir adapter le code des application clientes en fonction d’une dégradation prévisible des temps de réponses de l’API
Et je n’ai pas très envie de reboot la box (c’est en prod –> pas de reboot)…
En vous remerciant d’avance Cordialement nbanba
|
|
40140 | 23/03/2025 | 24/03/2025 | Anomalie | API | Freebox Server V7 (Delta) | Confirmé | Cas où l'API du player DEVIALET ne renvoit pas du JSON |
Task Description
Bonjour
Il existe au moins 1 cas à priori non documenté ou l’API du player Devialet ne renvoit pas du JSON
Si je fais la requête pour reboot mon player en utilisant le bon ID pour mon player, la réponse est en JSON ⇒ OK
Si je fais volontairement une requête sur un mauvais ID de player, le player renvoit du HTML au lieu de renvoyer du JSON :
Exemple: La fonction reboot player prend en argument l’ID du player (mon player à pour ID 17)
Si je fais:
reboot_player 17
J’obtiens le JSON:
{"success":true}
Maintenant si je passe un ID erroné volontairement(ex: ID 0), l’API ne renvoi pas une erreur en JSON mais du HTML: Trace debug:
$ debug=1
$ reboot_player 0
get_fbx_api request:
curl -s https://mafreebox.freebox.fr/api/v14/player -H "Content-Type: application/json" -H "X-Fbx-App-Auth: $_SESSION_TOKEN" -G --cacert /dev/shm/fbx-cacert
get_fbx_api result:
{"success":true,"result":[{"mac":"34:27:92:80:29:7c","stb_type":"stb_v7","id":17,"last_time_reachable":1742725668,"api_available":true,"device_name":"Freebox Player","device_model":"fbx7hd-delta","reachable":true,"uid":"a51dde83e07a057e64bef5bdcac8c5e2","api_version":"14.0","lan_gids":["ether-34:27:92:80:29:7c"]}]}
post_fbx_api request:
curl -s "https://mafreebox.freebox.fr/api/v14/player/0/api/v14/system/reboot" -H "Content-Type: application/json" -H "X-Fbx-App-Auth: $_SESSION_TOKEN" -X POST --cacert /dev/shm/fbx-cacert -d {}
post_fbx_api result:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Freebox :: Requête invalide</title>
<link href="/err/err.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="info">
<div id="errorMsg">
<h3>Requête invalide</h3>
<p class="desc">La requête envoyée est invalide</p>
</div>
</div>
</body>
</html>
Je comprend bien que c’est du à l’URL qui devient “mauvaise” car l’ID du player est incluse dans l’URL
cette URL n’existe en fait pas: https://mafreebox.freebox.fr/api/v14/player/0/api/v14/system/reboot
par contre celle-ci existe: https://mafreebox.freebox.fr/api/v14/player/17/api/v14/system/reboot
Cependant, pour des questions de normalisation et de parsing, il faudrait que l’API renvoi une erreur avec un content-type application/json
Il serait bien de ne pas devoir développer un moteur de parsing HTML en plus du moteur de parsing JSON à cause d’1 seul message d’erreur renvoyé par l’API et “ne respectant à priori pas la convention de cette même API”
Merci
Cordialement nbanba
|
|
12816 | 09/07/2013 | 09/07/2013 | Évolution | API | Freebox Server V6 (Révolution) | Nouveau | API Visuelle |
Task Description
Il serait intéressant de permettre aux dev’s plus d’interaction avec l’utilisateur en permettant par exemple d’afficher des messages sur l’écran du freebox serveur, de déclencher des alertes sonores via les hauts parleurs intégrés ou d’envoyer des bandeaux textes sur l’écran de la TV, voir même de pouvoir incruster une image (équivalent PIP) dans une zone de l’écran, de pouvoir ouvrir une zone de texte à remplir par l’utilisateur à l’aide de la télécommande, de pouvoir faire apparaitre des boutons cliquables à l’écran TV. Toutes ces fonctions étant accessibles via l’API.
j’en demande trop non ?
|
|
27885 | 17/07/2019 | 04/09/2020 | Anomalie | API | Freebox Server V6 (Révolution) | À investiguer | Base d’authentification indisponible |
Task Description
Bonjour.
J’ai connecté un serveur linux à la freebox via l’API. Mais depuis quelque temps je n’ai plus d’acces.
J’ai voulu revoqué mon applicatif, mais la freebox me renvoi une erreur. Impossible de supprimer cet objet.
De plus, quand j’essai de recuperer un nouveau token applicatif, la requete me renvoi une erreur interne:
“msg”: “Base d’authentification indisponible”,
Merci de m’indiquer la meilleure marche a suivre car le SAV me repond qu’ils ne sont pas capable de traiter ce probleme..
|
|
29025 | 15/11/2019 | 04/09/2020 | Évolution | API | Freebox Server V6 (Révolution) | À investiguer | API - DHCP Configuration - Default Lease time |
Task Description
Bonjour,
Afin de pouvoir administrer et superviser de façon plus fine les Hosts qui se connectent au réseau de la Freebox (wifi ou LAN), j’ai besoin de pouvoir spécifier la durée par défaut du bail DHCP (cela devrait à priori être possible selon la RFC RFC1541)
Cette durée semble être forcée à 12h et n’est pas configurable malgré la disponibilité de l’API “/api/v6/dhcp/config/” (avec un PUT).
Pouvez-vous svp ajouter à l’API existante (”/api/v6/dhcp/config/”) la gestion de ce paramètre (ajout du champ dans l’objet DhcpConfig) ?
Merci
Bien à vous
|
|
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
|
|
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 | |
|
37718 | 15/02/2023 | 07/04/2024 | Anomalie | API | Freebox Server V6 (Révolution) | Nouveau | Endpoint /share_link non fonctionnel | |
|
38636 | 07/09/2023 | 11/09/2023 | Anomalie | API | Freebox Server V6 (Révolution) | Nouveau | TVMonaco non disponible dans l'api des bouquets | |
|
40445 | 04/08/2025 | 04/08/2025 | Anomalie | API | Freebox Server Mini 4K | Nouveau | Metriques rate_up et bytes_up invalides via l'API et su... | |
|
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 | |
|
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) | |
|
17522 | 31/05/2015 | 03/02/2023 | Anomalie | Audio (AirMedia, ...) | Tous | À investiguer | Le freebox server est absent de la liste des terminaux ... | |
|
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 | |
|
24196 | 07/01/2019 | 07/01/2019 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Ajout du vrai Airplay 2 | |
|
25887 | 17/02/2019 | 20/08/2019 | Évolution | Audio (AirMedia, ...) | Tous | Nouveau | Mémorisation niveau sonore Freebox Server Delta | |