a manager for gluon nodes (e.g. on a event) https://github.com/FreifunkBremen/freifunkmanager
Go to file
Oliver Gerlich e77e94ef85 list perf: limit list to 20 nodes by default
Also add links to bottom of list to select how many nodes shall be
displayed, and store the selection in localStorage.

The shorter list has much better performance. A long list is not really
useful anyway; rather let the user filter/sort it to display interesting
nodes only.
2018-07-19 02:00:39 +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 list perf: limit list to 20 nodes by default 2018-07-19 02:00:39 +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 [TASK] add ssh manager, config and log 2017-05-06 14:39:04 +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).