2017-03-03 10:57:38 +01:00
|
|
|
# Yanic
|
|
|
|
```
|
|
|
|
__ __ _
|
|
|
|
\ \ / /_ _ _ __ (_) ___
|
|
|
|
\ V / _` | '_ \| |/ __|
|
|
|
|
| | (_| | | | | | (__
|
|
|
|
|_|\__,_|_| |_|_|\___|
|
|
|
|
Yet another node info collector
|
|
|
|
```
|
|
|
|
(previously [respond-collector](https://github.com/FreifunkBremen/respond-collector))
|
2016-02-26 09:28:31 +01:00
|
|
|
|
2017-03-03 16:00:33 +01:00
|
|
|
[![Build Status](https://travis-ci.org/FreifunkBremen/yanic.svg?branch=master)](https://travis-ci.org/FreifunkBremen/yanic)
|
2016-03-20 12:54:40 +01:00
|
|
|
[![Coverage Status](https://coveralls.io/repos/github/FreifunkBremen/respond-collector/badge.svg?branch=master)](https://coveralls.io/github/FreifunkBremen/respond-collector?branch=master)
|
2016-03-20 12:34:58 +01:00
|
|
|
|
2017-03-03 10:57:38 +01:00
|
|
|
`yanic` is a respondd client that fetches, stores and publishes information about a Freifunk network. The goals:
|
2017-01-30 15:23:36 +01:00
|
|
|
* Generating JSON for [Meshviewer](https://github.com/ffrgb/meshviewer)
|
2016-03-12 16:40:43 +01:00
|
|
|
* Storing statistics in [InfluxDB](https://influxdata.com/) to be analyzed by [Grafana](http://grafana.org/)
|
2017-01-30 15:23:36 +01:00
|
|
|
* Provide a little webserver for a standalone installation with a meshviewer
|
2016-02-26 09:28:31 +01:00
|
|
|
|
|
|
|
## Usage
|
|
|
|
```
|
2017-03-03 10:57:38 +01:00
|
|
|
Usage of ./yanic:
|
2017-01-29 18:30:08 +01:00
|
|
|
-config path/to/config.toml
|
2016-02-26 09:28:31 +01:00
|
|
|
```
|
2017-01-30 15:23:36 +01:00
|
|
|
## Configuration
|
|
|
|
Read comments in [config_example.toml](config_example.toml) for more information.
|
|
|
|
|
|
|
|
## Live
|
|
|
|
* [meshviewer](https://map.bremen.freifunk.net) **Freifunk Bremen** with a patch to show state-version of `nodes.json`
|
|
|
|
* [grafana](https://grafana.bremen.freifunk.net) **Freifunk Bremen** show data of InfluxDB
|
|
|
|
|
|
|
|
## How it works
|
2016-03-12 16:40:43 +01:00
|
|
|
|
2016-12-22 20:58:19 +01:00
|
|
|
It sends the `gluon-neighbour-info` request and collects the answers.
|
2016-02-26 09:28:31 +01:00
|
|
|
|
2016-12-22 20:58:19 +01:00
|
|
|
It will send UDP packets with multicast group `ff02:0:0:0:0:0:2:1001` and port `1001`.
|
2016-02-26 09:28:31 +01:00
|
|
|
|
2017-01-30 15:23:36 +01:00
|
|
|
If a node does not answer, it will request with the last know address under the port `1001`.
|
|
|
|
|
2016-02-26 09:28:31 +01:00
|
|
|
|
2016-03-21 18:58:49 +01:00
|
|
|
## Related projects
|
|
|
|
|
|
|
|
Collecting data from respondd:
|
|
|
|
* [Node informant](https://github.com/ffdo/node-informant) written in Go
|
|
|
|
* [HopGlass Server](https://github.com/plumpudding/hopglass-server) written in Node.js
|
|
|
|
|
|
|
|
Respondd for servers:
|
2017-01-30 15:23:36 +01:00
|
|
|
* [ffnord-alfred-announce](https://github.com/ffnord/ffnord-alfred-announce) from FreiFunkNord
|
2016-03-21 18:58:49 +01:00
|
|
|
* [respondd](https://github.com/Sunz3r/ext-respondd) from Sunz3r
|