81 lines
2.8 KiB
Markdown
81 lines
2.8 KiB
Markdown
# 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).
|