ffmap-backend/README.md

63 lines
1.9 KiB
Markdown
Raw Normal View History

2014-06-21 20:18:41 +02:00
# Data for Freifunk Map, Graph and Node List
2014-06-21 20:04:14 +02:00
2015-03-24 18:06:54 +01:00
[![Build Status](https://travis-ci.org/ffnord/ffmap-backend.svg?branch=master)](https://travis-ci.org/ffnord/ffmap-backend)
2014-06-21 20:04:14 +02:00
ffmap-backend gathers information on the batman network by invoking
2015-03-21 01:26:56 +01:00
* batctl,
* alfred-json and
* batadv-vis
2014-06-21 20:04:14 +02:00
as root (via sudo) and has this information placed into a target directory
as the file "nodes.json" and also updates the directory "nodes" with graphical
representations of uptimes and the number of clients connecting.
2015-03-21 01:26:56 +01:00
Run `backend.py --help` for a quick overview of all available options.
2014-06-21 20:04:14 +02:00
When executed without root privileges, we suggest to grant sudo permissions
within wrappers of those binaries, so no further changes are required in other
scripts:
<pre>
2014-06-21 20:04:14 +02:00
$ cat <<EOCAT > $HOME/batctl
#!/bin/sh
exec sudo /usr/sbin/batctl $*
EOCAT
</pre>
2014-06-21 20:04:14 +02:00
and analogously for batadv-vis. The entry for /etc/sudoers could be
whateveruser ALL=(ALL:ALL) NOPASSWD: /usr/sbin/batctl,/usr/sbin/batadv-vis,/usr/sbin/alfred-json
For the script's regular execution add the following to the crontab:
2014-06-21 20:18:41 +02:00
<pre>
2015-03-21 01:26:56 +01:00
* * * * * /path/to/ffmap-backend/backend.py -d /path/to/output -a /path/to/aliases.json --vpn ae:7f:58:7d:6c:2a --vpn d2:d0:93:63:f7:da
2014-06-21 20:18:41 +02:00
</pre>
2015-03-21 01:26:56 +01:00
# Data format
## nodes.json
{ 'nodes': {
node_id: { 'flags': { flags },
'firstseen': isoformat,
'lastseen': isoformat,
'nodeinfo': {...}, # copied from alfred type 158
'statistics': {
'uptime': double, # seconds
'memory_usage': double, # 0..1
'clients': double,
'rootfs_usage': double, # 0..1
'loadavg': double,
'gateway': mac
}
},
...
}
'timestamp': isoformat
}
### flags (bool)
- online
- gateway