API REST de la box de SFR

apirest_4-0En exclusivité, neufbox4.org met à disposition la dernière version de la spécification de l’API REST correspondant aux dernières versions des firmwares des box de SFR (NB4, NB5, NB6, NB6V et NB6VAC).

Une API REST est un style d’architecture qui repose sur le protocole HTTP permettant d’accèder à une ressource (par son URI unique) pour procéder à diverses opérations (GET lecture / POST écriture) supportées nativement par HTTP.

Ainsi, cela permet de créer simplement des applis, widgets ou autre utilitaires permettant par exemple d’afficher l’état de la box mais aussi de modifier certains réglages. Par exemple, la méthode system.getInfo permet de connaitre, l’adresse MAC de la box, versions des firmware installés, temps depuis sa mise sous tension, … mais aussi d’autres données comme la tension d’alimentation ou encore la température de la box !

Exemple :

[14:00:42] curl http://neufbox/api/1.0/?method=system.getInfo
<?xml version="1.0" encoding="UTF-8"?>
<rsp stat="ok" version="1.0">
     <system product_id="NB6-SER-r0" mac_addr="" net_mode="router" net_infra="adsl" uptime="924506" version_mainfirmware="NB6-MAIN-R3.5.4" version_rescuefirmware="NB6-RESCUE-R3.5.4" version_bootloader="NB6-BOOTLOADER-R3.2.4" version_dsldriver="NB6-ADSL-A2pD035p" current_datetime="201609101403" refclient="" idur="" alimvoltage="12224" temperature="55873"  />
[14:01:06]

Téléchargement spécification de l’API REST

A vos claviers pour la création d’utilitaires interagissant avec votre box de SFR !

9 Responses to “API REST de la box de SFR”


  • Pour le hash, en php : $hash = hash_hmac(‘sha256’,hash(‘sha256’,$login),$token).hash_hmac(‘sha256’,hash(‘sha256’,$pass), $token);

  • Merci

  • Bonjour,

    Je viens de regarder avec attention cette API car ça faisait un moment que j’ai mis en place une surveillance de ma ligne internet avec reboot de la box si cette dernière n’a plus d’accès internet.
    Cependant, jusque là, j’utilisais une méthode un peu barbare car l’alimentation de la box était coupée via un relais en cas de coupure de ligne.
    L’API m’offre enfin une méthode propre pour relancer la box.

    En cas de bug de la box, je souhaite lancer l’ordre de reboot via un script (lancé par Gladys installé sur un Raspberry.)

    Je bloque cependant sur la méthode pour ajouter mon login et mon password dans le script…

    L’accès à ma box est sécurisé uniquement par un login et un mot de passe.
    A ce que j’ai compris, il faut hasher la login et mot de passe et les intégrer au script, mais :
    1- Je n’arrive pas à comprendre comment hasher tout ça
    2- Je ne vois pas comment intégrer tout ça au script…

    Quelqu’un pourrait t’il m’expliquer comment faire ? (avec un login « Test » et un mot de passe « Test2 » par exemple)

    Merci d’avance pour votre aide éventuelle !

  • Personne ne valide mon précédent message pour qu’il soit publié ?

  • Désolé pour la validation tardive du commentaire.

    Le plus simple est de te compiler sur ton pi un petit binaire hachant le login/password.
    Ensuite, ton script appel ce binaire pour calculer le hash.
    Il y a un exemple à la fin de la sec.

    Néanmoins, je te suggère d’ouvrir un sujet sur le forum. C’est plus simple/facile pour échanger.

  • Bonjour,

    Savez-vous s’il est possible de prendre le contrôle du côté TV de labox sfr via une API ?
    Exemple, mettre pause à un programme, ou lancer un enregistrement ?
    merci d’avance

  • Il doit certainement y avoir une API car il est possible de télécommander le décodeur avec l’appli SFR TV.
    Par contre, je n’ai pas les spécifications, mais en analysant les échanges entre l’appli et le décodeur ça doit être facile de retrouver le protocole.

  • Bonjour, est-il possible avec cette API d’activer/désactiver les règles NAT ?

  • Malheureusement non !

Comments are currently closed.