{"id":20375925,"url":"https://github.com/stcarrez/bbox-ada-api","last_synced_at":"2026-05-31T22:31:48.724Z","repository":{"id":88796767,"uuid":"86854475","full_name":"stcarrez/bbox-ada-api","owner":"stcarrez","description":"Ada Binding for the Bbox API","archived":false,"fork":false,"pushed_at":"2023-03-12T17:55:01.000Z","size":193,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-12-07T01:39:27.539Z","etag":null,"topics":["ada","api","bbox","gateway","iad"],"latest_commit_sha":null,"homepage":null,"language":"Ada","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stcarrez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-31T19:41:44.000Z","updated_at":"2024-08-20T12:20:59.000Z","dependencies_parsed_at":"2023-06-12T16:00:26.130Z","dependency_job_id":null,"html_url":"https://github.com/stcarrez/bbox-ada-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stcarrez/bbox-ada-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stcarrez%2Fbbox-ada-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stcarrez%2Fbbox-ada-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stcarrez%2Fbbox-ada-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stcarrez%2Fbbox-ada-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stcarrez","download_url":"https://codeload.github.com/stcarrez/bbox-ada-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stcarrez%2Fbbox-ada-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33752286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ada","api","bbox","gateway","iad"],"created_at":"2024-11-15T01:34:05.186Z","updated_at":"2026-05-31T22:31:48.707Z","avatar_url":"https://github.com/stcarrez.png","language":"Ada","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API Ada pour la Bbox de Bouygues Telecom\n\n[![Build Status](https://img.shields.io/jenkins/s/http/jenkins.vacs.fr/Druss.svg)](http://jenkins.vacs.fr/job/Druss/)\n[![License](http://img.shields.io/badge/license-APACHE2-blue.svg)](LICENSE)\n\nThe **bbox-ada-api** provides an Ada API to access the [Bouygues Telecom Bbox](https://www.bouyguestelecom.fr/offres-internet/bbox).\nThe Bbox gateway API is documented at https://api.bbox.fr/doc/apirouter/.\nThe repository also provides **Druss**, a command line tool that uses the API to perform some useful\nactions on the Bbox.  \n\nThis repository being probably most useful to French users, the rest of this document will be in French.\n\n# Build\n\nAvant de compiler il vous faudra installer la librarie Ada suivante:\n\n* Ada Util (https://github.com/stcarrez/ada-util)\n\nEnsuite, lancer la commande **configure** et **make**:\n\n```\n  ./configure\n  make\n```\n\n# Druss\n\nDruss utilise l'API de la Bbox pour récupérer ses états et la controller.\nDruss propose plusieurs commandes qu'il est possible de lancer en ligne de commande\nou dans un mode interactif.  Druss propose aussi une commande générique\npermettant d'intéroger n'importe quelle API de la Bbox.  Druss a un mode\nintéractive que vous pouvez activer avec l'option *-i*.\n\n## Commandes bbox\n\nLa première commande a utiliser est la commande **druss bbox discover** pour demander\nà Druss de découvrir les Bbox connectées.  Techniquement la découverte est basée sur\nle protocole SSDP et la découverte du service UPnP/igd de la Bbox.  Druss est capable\nde gérer plusieurs Bbox sur le réseaux (plutot rare).\n\n```\n$ druss bbox discover\n```\n\nIl est ensuite nécessaire d'indiquer le mot de passe permettant à Druss d'accéder\naux APIs sécurisées de la Bbox.\n\n```\n$ druss bbox password \u003cpasswd\u003e\n```\n\n## Commande status\n\nLa commande de status indique des informations générales sur la Bbox et la connexion\nInternet.  Dans la liste ci-dessous, deux Bbox sont indiquées, une première avec l'adresse\nIP *192.168.0.1* et une seconde avec *192.168.1.240*.  Il y a de grande chances pour que\nla commande n'en reporte qu'une et avec l'adresse IP *192.168.1.254*.\n```\n$ druss status\nLAN IP          WAN IP          Internet VoIP  Wifi 2.4G Wifi 5G   Parental  DynDNS    Devices     Uptime\n192.168.0.1     X.XX.XX.XXX     OK       Up    ON        ON        2                   18          24d 9h 23m\n192.168.1.240   XXX.XXX.XXX.XX  OK       Up    ON        ON        0                   14          7d 41m\n```\n\n## Commande devices\n\nLa commande **druss devices** permet de lister les équipements qui ont été détectés par la Bbox.\nPar défaut la commande ne va lister que les équipements actifs mais il est possible d'obtenir\nla liste de tous les équipements.\n```\n$ druss devices\nBbox IP         Device IP       Ethernet            Hostname                    Type  Link\n192.168.0.1     192.168.0.37    XX:XX:XX:XX:XX:XX   Bbox-TV-001                 STB   Ethernet port 1\n192.168.0.1     192.168.0.90    XX:XX:XX:XX:XX:XX   Babybel                     STB   Ethernet port 1\n192.168.0.1     192.168.0.17    XX:XX:XX:XX:XX:XX   zebulon                           Ethernet port 1\n192.168.0.1     192.168.0.58    XX:XX:XX:XX:XX:XX   ouranus                           Wifi 5 RSSI -64\n192.168.0.1     192.168.0.59    XX:XX:XX:XX:XX:XX   android-stephane                  Wifi 2.4 RSSI -70\n192.168.0.1     192.168.0.72    XX:XX:XX:XX:XX:XX   Hestia                            Wifi 5 RSSI -78\n192.168.0.1     192.168.0.6     XX:XX:XX:XX:XX:XX   pollux                            Ethernet port 2\n192.168.0.1     192.168.0.67    XX:XX:XX:XX:XX:XX   android-2c4cb4ebaad79fda          Wifi 2.4 RSSI -60\n192.168.1.240   192.168.1.129   XX:XX:XX:XX:XX:XX   zebulon                           Ethernet port 3\n```\n\n## Commande ping\n\nLa command **druss ping** demande à la Bbox de lancer un **ping** sur chacuns des équipements\net ensuite de donner la liste des équipements connectés avec le temps du ping.\n```\n$ druss ping\nBbox IP         Device IP       Hostname                    Ping           Link\n192.168.0.1     192.168.0.37    Bbox-TV-001                         884 us Ethernet port 1\n192.168.0.1     192.168.0.90    Babybel                           1.115 ms Ethernet port 1\n192.168.0.1     192.168.0.17    zebulon                           1.434 ms Ethernet port 1\n192.168.0.1     192.168.0.56    android-65b0948ba68c8618        881.215 ms Wifi 5 RSSI -57\n192.168.0.1     192.168.0.58    ouranus                          16.099 ms Wifi 5 RSSI -65\n192.168.0.1     192.168.0.59    android-stephane                156.258 ms Wifi 2.4 RSSI -69\n192.168.0.1     192.168.0.72    Hestia                             1.063 s Wifi 5 RSSI -59\n192.168.0.1     192.168.0.6     pollux                              671 us Ethernet port 2\n192.168.0.1     192.168.0.67    android-2c4cb4ebaad79fda        534.474 ms Wifi 2.4 RSSI -56\n192.168.1.240   192.168.1.129   zebulon                             740 us Ethernet port 3\n```\n\n## Commandes wifi\n\nLa commande Wifi permet d'obtenir des informations sur le Wifi, de l'arreter ou le démarrer.\nLe status du Wifi est obtenu par la commande **druss wifi**.  La clef d'accès Wifi n'est\npas reportée par la commande.\n```\n$ druss wifi\nBbox IP        Enable  Channel SSID                Protocol    Encryption  Devices\n192.168.0.1    ON      11      icare-home-wireless WPA+WPA2    AES         18\n192.168.0.1    ON      40      Aragorn-5GHz        WPA+WPA2    AES\n192.168.1.240  ON      8       Gandalf-Le-Blanc    WPA+WPA2    AES         14\n192.168.1.240  ON      132     Sauron              WPA+WPA2    AES\n```\n\nPour allumer ou éteindre le Wifi, il faut utiliser la commande **druss wifi on** ou **druss wifi off**.\nCette commande va jouer sur l'activation de la radio Wifi de la Bbox.  Il est possible\nde faire son propre planificateur Wifi ou bien de réactiver le Wifi lorsque le planificateur\nWifi de la Bbox l'a éteint.\n```\n$ druss wifi off\n```\n\n## Commande get\n\nLa command **druss get** permet d'executer n'importe quelle API **GET** de l'API Bbox.\nLe résultat est ensuite retourné au format JSON.  Le résultat de la commande est un JSON\nvalide qui peut ensuite être analysé, reformatté (par **jshon** par exemple).\n\n```\n$ druss get device | jshon\n[\n {\n  \"device\": {\n   \"now\": \"2017-04-08T21:40:37Z\",\n   \"status\": 1,\n   \"numberofboots\": 37,\n   \"modelname\": \"TVW620.I\",\n   \"user_configured\": 1,\n   \"serialnumber\": \"XXXXX\",\n   \"display\": {\n    \"luminosity\": 100,\n    \"state\": \".\"\n   },\n   \"main\": {\n    \"version\": \"11.1.4\",\n    \"date\": \"2016-07-11T15:34:49Z\"\n   },\n   \"reco\": {\n    \"version\": \"11.1.4\",\n    \"date\": \"2016-07-11T15:27:24Z\"\n   },\n   \"bcck\": {\n    \"version\": \"8.5.16\"\n   },\n   \"ldr1\": {\n    \"version\": \"8.5.16\"\n   },\n   \"ldr2\": {\n    \"version\": \"8.5.16\"\n   },\n   \"firstusedate\": \"2014-10-01T15:51:44Z\",\n   \"uptime\": 2108913\n  }\n },\n {\n  \"device\": {\n   \"now\": \"2017-04-08T21:40:39+0200\",\n   \"status\": 1,\n   \"numberofboots\": 46,\n   \"modelname\": \"F@st5330b\",\n   \"user_configured\": 1,\n   \"serialnumber\": \"XXXXXX\",\n   \"display\": {\n    \"luminosity\": 100,\n    \"state\": \".\"\n   },\n   \"main\": {\n    \"version\": \"12.0.20\",\n    \"date\": \"2017-03-09T13:51:00Z\"\n   },\n   \"reco\": {\n    \"version\": \"12.0.20\",\n    \"date\": \"2017-03-09T13:42:37Z\"\n   },\n   \"running\": {\n    \"version\": \"12.0.20\",\n    \"date\": \"2017-03-09T13:49:52+0100\"\n   },\n   \"bcck\": {\n    \"version\": \"8.8.18\"\n   },\n   \"ldr1\": {\n    \"version\": \"8.8.18\"\n   },\n   \"ldr2\": {\n    \"version\": \"8.8.18\"\n   },\n   \"firstusedate\": \"\",\n   \"uptime\": 608779,\n   \"using\": {\n    \"ipv4\": 1,\n    \"ipv6\": 0,\n    \"ftth\": 0,\n    \"adsl\": 1,\n    \"vdsl\": 0\n   }\n  }\n }\n]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstcarrez%2Fbbox-ada-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstcarrez%2Fbbox-ada-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstcarrez%2Fbbox-ada-api/lists"}