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 uses some GPL code from other open source projects,
therefore it is
GPL too.
Version:
0.04
What is it ?
NabazClapier is a little proxy to add features to your wifi rabbit. It
filters some of the data that Nabaztag receives from the violet(c) site
(www.nabaztag.com). It can also replace nabaztag.com, allowing the
rabbit to
work whithout any internet access.
Where ist it ?
You can download the latest version at http://sourceforge.net/projects/nabaztools
What is a Nabaztag ?
Guess ! or go to
http://www.nabaztag.com to discover it.
Compatibility :
NabazClapier has only been tested on Mac OS X but it should work on
Linux/Unix
without major modifications.
Compilation :
just type make.
Usage :
clapier [config file]
How does it work ?
NabazClapier intercepts the packets sent from the Nabaztag to the
server
(nabaztag.com) and the packets
sent from the server to your Nabaztag.
you have to configure your Nabaztag to set the machine that runs
NabazClapier
as the proxy used by your Nabaztag.
-Switch on the Nabaztag in "AdHoc" mode (see Nabaztag documentation),
-click the 'use proxy' checkbox"
-with your brwoser enter the IP of your machine in the proxy field
-set the port to 4453
-run: ./clapier [configuration file]
Is it useful ?
For the moment this is pure geek software in alpha version. It allows
you to use
the Nabaztag for some other purpose than it was designed for. In the
next versions
it will be more user friendly and implement useful functions for non
technical
users. For example, you may have the possibility to use leds to monitor
other
things than the weathercast and the number of mail received, such as
your
download rate on P2P software or the number of online buddies on your
IM client.
Presently the typical usage of this version (0.01) would be to :
-run Nabazclapier a first time to save the firmware and a ledfile
-copy those file somewhere and use them as 'customfirmware' and
'customledfile'
-run Nabazclapier again
-modify the ledfile "on the fly" to move the ear of the rabbit and light
its led according to your needs.
I don't have a complete documentation of the structure of the ledfile,
it is only
a draft for the moment. For exemple 26th and 27th byte of a ledfile
seem to
control the ears, and the 11th byte seems to control the 'mail'
blinking.
Configuration :
Settings are stored in the file /etc/clapier.conf or in the file
specified as
argument on the command line. The following fields are used :
logfile=/tmp/nabaztag.log
this entry specifies the logging file for
NabazClapier
savedfirmware=/tmp/nabazfirm.ori
this entry allows to save the "firmware" packet to a
file.
savedledfile=/tmp/nabazled.ori
this entry allows to save the "led" packet to a file
savevocal=true
this entry allows to save incoming vocal messages
savevocalpath=/tmp/
this entry allows to set the directory in which the
vocal messages
will be saved
customfirmware=/tmp/nabazfirm.new
this entry allows to send your own "firmware" packet
instead of those
generated by the server. The specified file is read
and sent to the
Nabaztag when requested.
customledfile=/tmp/nabazled.new
this entry allows to send your own "led" packet
instead of those
generated by the server. The specified file is read
and sent to the
Nabaztag when requested.
allowvocal=true
this entry allows to let the "vocal" packet through
when you are in
proxy mode.
noserver=true
when this flag is set, the proxy does not forward
the request to the server and
directly sends the local copy of the ledfile and the
firmware to the
nabaztag. With this option, you don't need to be
online to have
the Nabaztag working anymore. But you need to save
the firmware and the ledfile
before.
port=4453
this entry allows you to specify which port to
listen to. Default value
is 4453
TODO :
-better understanding of the protocol between the rabbit and the server.
-try to play back vocal messages.
-make a log-everything-mode that saves incoming packets and outgoing
requests to
files.
-better logging.
-sleep mode support
-save post vocal message
-write a better documentation in HTML.
-HTML user interface to configure NabazClapier.
-HTML interface to directly command leds and ears.
-possibility to light the leds according to the output of external
programs.
For example : right_ear = /usr/local/bin/check_emule_download
weather_led =
/usr/local/bin/check_cpu_load
-windows port.
-Mips-Linux port to make it run directly on D-Link ADSL routers.
-write a test process so that we can avoid software regression when
modifying
the code .
History :
-November 2005 : v0.01 first public release. this is an alpha release.
It is not
really usable for non tehcnical users. Not user friendly.
Bugs :
-lot of unsupported features.
-sometime the sound is bad, probably because of delays in the proxy.
-some of the code is probably not safe and may produce crash under
certain
circumstances.
-this program shall not be used in an hostile environment (aka
internet) use
it only on trusted local networks.
Authors :
written by Jean-Grégoire Foulon ( jg DOT foulon AT gmail DOT com
)
This project use code from :
-Nicolas Devillard (iniparser)
-FSF (linetd)
-Jef Poskanzer (micro_proxy)