N A B A Z C L A P I E R
Diclaimer :
-----------
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Nabaztag is a trademark of Violet.
Licence :
NabazClapier utilise du code GPL d'autres projet open source, par
conséquent, il est aussi sous licence GPL.
A quoi ca sert ?
NabazClapier est un proxy conçu pour ajouter des
fonctionnalités a votre lapin wifi prefere. Il permet de filtrer
et d'intercepter les paquets émis par le site de violet(c)
(www.nabaztag.com). Il peut aussi remplacer completement le site de
violet. Un outil nomme LedPatch est fourni avec Clapier, il permet de
changer les fichiers led (et donc d'allumer les leds du lapin) sans
editeur hexa.
Où le trouver ?
Vous pouvez télécharger la derniere version sur http://sourceforge.net/projects/nabaztools
Qu'est ce qu'un Nabaztag ?
Devinez ! Ou allez sur http://www.nabaztag.com
pour le découvrir.
Compatibilité :
NabazClapier fonctionne sur Mac OS X et Linux, il est censé
fonctionner sur les autres BSD et Unix. Une version windows (cygwin)
est aussi fournie, mais elle a été assez peu
testée.
Compilation :
Il suffit de taper make.
Si vous désirez tester l'interface web expérimentale
(désactivée par défaut), vous devez installer la
bibliothèque libHTTP et activer l'option -DWEB_UI lors de la
compilation.
Utilisation :
clapier [fichier de configuration]
Comment ca marche ?
NabazClapier intercepte les paquets envoyés par votre Nabaztag
et les transmet éventuellement au site de Violet. De même,
les paquets en provenance de Nabaztag.com sont filtrés et
peuvent, ou non, arriver a votre Nabaztag, selon leurs types et les
réglages que vous avez fait. Pour que cela marche, vous devez
utiliser la machine sur laquelle tourne le clapier en tant que proxy
pour votre Nabaztag :
-démarrez votre Nabaztag en mode AdHoc (refferez vous a la
documentation)
-cochez la case 'use proxy'
-entrez l'IP locale de votre machine dans le champ 'proxy'
-entrez le numéro de port sur lequel le clapier attend les
connexions (4453)
-lancez ./clapier [fichier de conf]
A quoi ça sert ?
Pour le moment c'est plutôt un outil pour les geeks, cela permet
de détourner le Nabaztag de ses fonctions premières. Les
prochaines versions devraient être un peu plus facile
d'utilisation et permettre aux utilisateurs lambdas de profiter de
nouvelles fonctionnalités. Par exemple, la possibilité
d'indiquer l'upload et le download de votre logiciel P2P
préféré avec les oreilles du lapin ou bien le
nombre de contacts en ligne sur votre logiciel de messagerie
instantanée.
Pour l'instant un usage typique ressemblerait a ça :
-lancer clapier une première fois pour sauver des fichiers
firmware et led
-copier ces fichiers et renommez les pour les utiliser en tant que
'customfirmware' et 'customledfile'
-modifier les fichiers ledfile à la volée selon vos
besoins
-lancer des commandes et allumer les leds ou bouger les oreilles en
fonction
de leur sortie (nouveau).
-uploader vos programmes ASM sur votre Nabaztag
J'ai deviné une partie du format des fichiers led par reverse
engineering,
l'outil LedPatch permet d'allumer des leds et de faire bouger les
oreilles.
Une documentation et un programmes plus exacts pourraient être
écrits en
consultant la documentation
http://fr.groups.yahoo.com/group/nabaztag_api/.
Avis aux amateurs.
Configuration :
Les réglages sont stockés dans le fichier
/etc/clapier.conf. Le fichier de
configuration peut aussi être spécifié via la ligne
de commande.
Voici la signification des champs présents :
logfile=/tmp/nabaztag.log
Cette entrée spécifie l'emplacement du fichier de log.
port=4453
Le port sur lequel écoute le proxy, la valeur par défaut
est 4453.
Vous devez réglez le Nabaztag pour utiliser le même port.
address=127.0.0.1
L'adresse sur laquelle le proxy écoutera. Si ce paramètre
n'est pas présent, Clapier écoute sur tous les interfaces
réseau. Cela est
déconseillé si vous n'êtes pas derrière un
routeur car Clapier n'a pas été fait pour un
environnement non sécurisé comme internet.
webserver=TRUE
Ce champ active l'interface web qui permet de configurer Clapier via
une interface web. Vous devez compiler Clapier avec le support web
pour pouvoir activer cette option.
confport=4454
Port sur lequel l'interface web attend des clients. La valeur par
défaut est 4454, cela veut dire que pour régler
l'interface web, vous devez utilisez l'url htpp://localhost:4454 avec
votre browser.
savedfirmware=/tmp/nabazfirm.ori
Ce paramètre permet de sauver le paquet "firmware" dans un
fichier.
savedledfile=/tmp/nabazled.ori
Ce paramètre permet de sauver le paquet "led" dans un fichier.
savevocal=true
Ce paramètre permet de sauver les messages vocaux dans des
fichiers.
savevocalpath=/tmp/
Répertoire dans lequel seront sauvés les messages vocaux.
customvocal=/tmp/nabazvocal.new
Ce parametre permet d'envoyer des messages vocaux au lapin. Cette
fonctionnalite est expérimentale. Le lapin a de fortes chances de
rester bloqué à clignoter jusqu'à ce qu'on le
reboote. Ce fichier sera effacé une fois qu'il a ete joué.
customfirmware=/tmp/nabazfirm.new
Ce paramètre permet d'envoyer un paquet "firmware" au lapin.
Cela permet de tester vos programmes pour la VM ou de vous passer du
serveur Violet en fournissant le firmware original.
customledfile=/tmp/nabazled.new
Ce paramètre permet d'envoyer un paquet "led" au lapin. C'est ce
fichier qui permet de faire clignoter les leds ou de bouger les
oreilles. Il est envoyé a chaque fois que le lapin le demande.
custompostvoc=/tmp/nabazpvc.new
Ce paramètre permet d'envoyer un paquet "postvocal" au lapin. Ce
fichier est demandé/envoyé après qu'un message
vocal ait été joué.
earfile=/tmp/nabazear.log
Ce fichier contient la position des oreilles du Nabaztag telle qu'elle
est envoyée au site de Violet.
allowvocal=true
Ce paramètre autorise les messages vocaux lorsque clapier
fonctionne en mode proxy.
noserver=true
Quand cette option est activée, Clapier n'envoie pas les
requêtes au serveur de Violet mais envoie directement les paquets
'customledfile'
et 'customfirmware'. En théorie il est possible de ne pas
être connecté à internet quand cette option est
activée. En pratique il vous faudra pouvoir répondre a la
requête DNS du Nabaztag, même avec des données
completement fausses, il lui faut juste une réponse. A vous
d'indiquer un serveur DNS accessible au lapin.
cmd_exec_delay=n
Période d'attente entre le lancement des commandes permettant de
mettre à jour les leds et les oreilles. Si n == 0 aucune
commande n'est lancée. On peut mettre une valeur de 30 ou 60 par
exemple.
weather_cmd
Nom de la commande lancée pour obtenir l'état de la led
météo [0-5]
rightear_cmd
Nom de la commande lancée pour obtenir la position de l'oreille
droite [0-15]
leftear_cmd
nom de la commande lancée pour obtenir la position de l'oreille
gauche [0-15]
mail_cmd
Nom de la commande lancée pour obtenir l'état de la led
courrier [0-3]
traffic_cmd
Nom de la commande lancée pour obtenir l'état de la led
traffic [0-7]
stock_cmd
Nom de la commande lancée pour obtenir l'état de la led
bourse [0-3]
pollution_cmd
Nom de la commande lancée pour obtenir l'état de la led
pollution [0-3]
Commandes externes :
Clapier vous permet de lancer des commandes externes et d'allumer les
leds en fonction de ces résultats. La commande lancée est
censée afficher un entier entre 0 et n sur la sortie standard. n dépend de l'usage que vous
voulez faire de la commande : par exemple si vous utiliser une commande
pour faire bouger l'oreille gauche du lapin, le nombre affiché
doit se trouver entre 0 et 15, car l'oreille peut avoir 16 positions.
Par contre il doit se trouver entre 0 et 5 pour afficher la
météo car il n'y que 6 façons différentes
de faire clignoter les leds de la météo.
Pour que les commandes externes soient utilisables, vous devez
forcement fournir un fichier customledfile. Ce fichier sera
modifié toutes les 'cmd_exec_delay'
secondes quand les commandes externes seront lancées.
Pour l'instant clapier n'est fourni qu'avec 2 commandes externes, les
utilisateurs sont invités à contribuer au projet en
écrivant d'autres commandes/scripts qui pourraient servir
à d'autres personnes. N'hésitez pas à envoyer vos
scripts si vous pensez qu'ils peuvent être utiles à
d'autres personnes.
dummy_cmd [i]
Il s'agit d'une commande exemple qui affiche l'entier i.
donkey_cmd [host [port]]
Cette commande affiche le nombre de fichiers
téléchargés grace à MLDonkey.
host et port sont la machine et le port sur
lequel MLDonkey attend des commandes, les valeurs par defaut sont
127.0.0.1 et 4000.
Pour que cette commande fonctionne, il faut désactiver l'autocommit dans MLDonkey.
Bugs :
-plein de fonctionnalités à ajouter.
-Le son n'est pas toujours de bonnes qualités, sans doute
à cause de lenteurs
dans le proxy
-Ce programme n'est pas assez fiable pour être accessible depuis
l'extérieur. Utilisez un firewall
-Il faut parfois relancer Clapier quand on modifie le fichier de
configuration.
Auteurs :
Ecrit par Jean-Grégoire Foulon ( jg DOT foulon AT gmail DOTcom )
lapinou offert par Karine Collet
Ce projet utilise du code de :
-Nicolas Devillard (iniparser)
-Marc Welz (linetd)
-Jef Poskanzer (micro_proxy)