update README
This commit is contained in:
parent
41ee81d92c
commit
2a2db65bc6
65
README.md
65
README.md
|
@ -1,15 +1,17 @@
|
|||
# Data for Freifunk Map, Graph and Node List
|
||||
|
||||
ffmap-backend gathers information on the batman network by invoking
|
||||
batctl
|
||||
and
|
||||
batadv-vis
|
||||
|
||||
* batctl,
|
||||
* alfred-json and
|
||||
* batadv-vis
|
||||
|
||||
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.
|
||||
|
||||
The target directory is suggested to host all information for interpreting those
|
||||
node descriptions, e.g. as provided by https://github.com/ffnord/ffmap-d3.git .
|
||||
Run `backend.py --help` for a quick overview of all available options.
|
||||
|
||||
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:
|
||||
|
@ -24,30 +26,35 @@ EOCAT
|
|||
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
|
||||
|
||||
The destination directory can be made directly available through apache:
|
||||
<pre>
|
||||
$ cat /etc/apache2/site-enabled/000-default
|
||||
...
|
||||
<Directory /home/whateverusername/www/>
|
||||
Options Indexes FollowSymLinks MultiViews
|
||||
AllowOverride None
|
||||
Order allow,deny
|
||||
allow from all
|
||||
</Directory>
|
||||
...
|
||||
|
||||
$ cat /etc/apache2/conf.d/freifunk
|
||||
Alias /map /home/ffmap/www/
|
||||
Alias /firmware /home/freifunk/autoupdates/
|
||||
</pre>
|
||||
|
||||
To execute, run
|
||||
./mkmap.sh ../www
|
||||
The script expects above described sudo-wrappers in the $HOME directory of the user executing
|
||||
the script. If those are not available, an error will occurr if not executed as root. Also,
|
||||
the tool realpath optionally allows to execute the script from anywhere in the directory tree.
|
||||
|
||||
For the script's regular execution add the following to the crontab:
|
||||
<pre>
|
||||
*/5 * * * * /home/ffmap/ffmap-backend/mkmap.sh /home/ffmap/www
|
||||
* * * * * /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
|
||||
</pre>
|
||||
|
||||
# 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
|
||||
|
|
Loading…
Reference in a new issue