Comme toutes les box internet, les Freebox proposent une interface web (accessible avec http://mafreebox.freebox.fr) qui permet de contrôler plusieurs options de celle-ci et notamment de la redémarrer.
Mais plus encore, dans certaines versions de Freebox, il y a une API qui permet de contrôler toutes les fonctionnalités…
Je fais cet article suite à un script issu du site admin-linux.fr qui n’utilise pas l’API de Freeboxos mais qui simule les actions sur l’interface web. Cette solution ne fonctionne pas avec tous les modèles de Freebox, et ne peut pas être viable dans le temps. Par ailleurs une API est prévue à cet effet.
L’usage le plus simple que l’on peut faire avec ce type de script est comme le propose l’article cité de redémarrer via la ligne de commande.
J’ai rendu publique dernièrement le code que j’utilise à cette fin : freebox-tools.
Que permet de faire cet outil ?
- Redémarrer votre Freebox,
- Redémarrer vos boîtiers CPL (Freeplug, mais aussi Netgear et autre),
- Voir rapidement l’état de votre connection,
- Accéder à toute la configuration de votre Freebox, dans la mesure où cela est disponible sur l’API de Freeboxos (Attention documentation en anglais uniquement) et faire vos propres commandes adaptés à vos besoins.
Ces options sont disponibles depuis votre réseau, comme depuis internet.
Compatibilité
Linux classiques
Aucun souci, freebox-tools est prévu pour les environnements de type Mint, Ubuntu, Raspbian…
L’installation prévoit l’utilisation de yum
et apt-get
.
Windows
Le script devrait tourner sous Windows sous certaines conditions précisées dans le fichier README.md.
Linux embarqués
Les Linux embarqués sont souvent minimalistes, vous aurez peut-être besoin d’ajouter les paquets bash
, curl
et jq
.
Pour bash
et jq
, vous pouvez télécharger les binaires depuis http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/.
Par exemple :
wget http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/i386/packages-8.2-release/ftp/curl-7.21.3.tbz
wget ftp://ftp.beastie.tdk.net/pub/FreeBSD/ports/i386/packages-8.2-release/shells/bash-4.1.9.tbz
Et ensuite :
cd /
tar -xzf DOWNLOAD_PATH/curl-7.21.3.tbz
tar -xzf DOWNLOAD_PATH/bash-4.1.9.tbz
Vous devez adapter l’URL à votre architecture cible ainsi qu’a la version de Linux.
Pour jq
vous devrez utiliser :
Je ne peux pas vous donner une solution clé en main, puisque cela dépendra de votre cible qui est par définition ésotérique 😄
Références
- Article sur [Admin Linux]
http://www.admin-linux.fr/?p=5049
– Ce lien n’est plus disponible. - Également inspiré de freeboxos-bash-api
ᦿ