a manager for gluon nodes (e.g. on a event) https://github.com/FreifunkBremen/freifunkmanager
Go to file
Oliver Gerlich b97ac6ea43 node page: display GPS coordinates next to toggle button 2018-07-17 22:51:41 +02:00
runtime announce useable channels + fix tests 2018-07-15 21:04:37 +02:00
ssh announce useable channels + fix tests 2018-07-15 21:04:37 +02:00
webroot node page: display GPS coordinates next to toggle button 2018-07-17 22:51:41 +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 cleanup and migrate to newer libraries (use NEW Javascript env) + add secret 2018-06-30 17:22:20 +02:00
main.go cleanup and migrate to newer libraries (use NEW Javascript env) + add secret 2018-06-30 17:22:20 +02:00
yanic_example.conf cleanup 2018-06-30 01:58:09 +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).