a manager for gluon nodes (e.g. on a event) https://github.com/FreifunkBremen/freifunkmanager
Go to file
Oliver Gerlich 0a9c10666a status box: turn pulsing animation into 1-second blinking, to reduce CPU load
With the pulsing animation (which appears when the websocket connection is
down) the CPU load and GPU load goes up, which probably also uses up lots
of battery time.
2018-07-22 21:58:18 +02:00
runtime implement full yanic (to run freifunkmanager at his own) 2018-07-17 23:36:57 +02:00
ssh announce useable channels + fix tests 2018-07-15 21:04:37 +02:00
webroot status box: turn pulsing animation into 1-second blinking, to reduce CPU load 2018-07-22 21:58:18 +02:00
websocket default channel on create node + send callback 2018-07-15 22:47:05 +02:00
.gitignore cleanup and migrate to newer libraries (use NEW Javascript env) + add secret 2018-06-30 17:22:20 +02:00
.gitmodules [TASK] add vendor for yanic client 2017-05-29 22:37:44 +02:00
.test-coverage [TASK] add vendor for yanic client 2017-05-29 22:37:44 +02:00
.travis.yml fix travis builds 2018-07-19 02:04:13 +02:00
LICENSE.md Create LICENSE.md 2017-06-13 00:49:42 +02:00
README.md extend README file 2018-07-17 22:36:32 +02:00
config_example.conf implement full yanic (to run freifunkmanager at his own) 2018-07-17 23:36:57 +02:00
main.go implement full yanic (to run freifunkmanager at his own) 2018-07-17 23:36:57 +02:00

README.md

FreifunkManager Build Status Coverage Status

is a little software to manage gluon nodes with the help of ssh and yanic (used on the Breminale since 2017)

Preparations for Building

Install Go 1.10 or newer:

mkdir -p ~/inst
cd ~/inst
wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
tar xf go1.10.3.linux-amd64.tar.gz
export PATH=~/inst/go/bin/:$PATH
export GOROOT=~/inst/go/

Set $GOPATH:

export GOPATH=$HOME/go

Install nodejs >= 4.8:

mkdir -p ~/inst
cd ~/inst
wget https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz
tar xf node-v8.11.3-linux-x64.tar.xz
export PATH=~/inst/node-v8.11.3-linux-x64/bin/:$PATH

Install yarn (https://yarnpkg.com/en/docs/install):

mkdir -p ~/inst
cd ~/inst
wget https://github.com/yarnpkg/yarn/releases/download/v1.7.0/yarn-v1.7.0.tar.gz
tar xf yarn-v1.7.0.tar.gz
export PATH=~/inst/yarn-v1.7.0/bin/:$PATH

Building & Running

Download and build freifunkmanager:

go get -t github.com/FreifunkBremen/freifunkmanager/...
go get github.com/mattn/goveralls
go get golang.org/x/tools/cmd/cover
cd $GOPATH/src/github.com/FreifunkBremen/freifunkmanager/
go build
cd webroot
yarn install
yarn gulp build

Run:

./freifunkmanager -config config_example.conf

Usage

Visit http://localhost:8080/

Navigation bar at top of page:

  • marker icon: (TODO)
  • List: show list of all known nodes
    • use Edit link in last column of a node to edit its details; changes made on the Edit page are saved immediately
    • to change just the hostname, double-click on hostname field in list and make your change
  • Map: show map of nodes
    • use Layers icon in upper right corner to enable geojson overlay and view clients
  • Statistics: show statistics about nodes, clients, used channels...
  • Login with text field: enter password (value of "secret" in config file) and click "Login" to log in
    • this is necessary to make any changes
    • there is no user management; anybody who has the password has full access
  • blue rectangle on the far right: (TODO: connection status?)

Technical Details

List of known access points will be retrieved from Yanic (ie. representing live data from APs). Additionally, APs can be added manually by visiting a page like /#/n/apname (where "apname" is the node-id of the new AP), and then setting a hostname.

Each browser tab has a websocket connection to the server, so changes made in one tab will appear immediately in other tabs as well

All changes are saved to state file (eg. /tmp/freifunkmanager.json - can be changed in config file).