From 2417bc3ae0d3c94e7d019dba4aaffa32d018d23c Mon Sep 17 00:00:00 2001 From: Oliver Gerlich Date: Tue, 17 Jul 2018 21:34:46 +0200 Subject: [PATCH] extend README file --- README.md | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/README.md b/README.md index cddd993..04d45fe 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,80 @@ # FreifunkManager [![Build Status](https://travis-ci.org/FreifunkBremen/freifunkmanager.svg?branch=master)](https://travis-ci.org/FreifunkBremen/freifunkmanager) [![Coverage Status](https://coveralls.io/repos/github/FreifunkBremen/freifunkmanager/badge.svg?branch=master)](https://coveralls.io/github/FreifunkBremen/freifunkmanager?branch=master) 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](https://github.com/FreifunkBremen/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).