a control panel for managing Lokinet
Go to file
Jason Rhinelander 85011ff811 Split up impossibly long line 2020-11-11 17:56:58 -04:00
cmake Update StaticBuild.cmake 2020-10-05 05:09:44 -05:00
contrib Split up impossibly long line 2020-11-11 17:56:58 -04:00
dist Add instructions for windows dist 2020-03-03 17:09:21 -08:00
external Update bundled lokimq version for 10.12 compat 2020-11-02 13:03:28 -04:00
res Redraw vectorized connection button and shrink it 2020-11-11 13:20:33 -04:00
src Rounding policy is only available in Qt >= 5.14 2020-11-09 14:43:04 -04:00
tools Try another entitlement 2020-04-21 01:35:43 -03:00
.drone.jsonnet Add qt5svg dep to linux builds 2020-11-11 15:36:38 -04:00
.gitignore Clean up directory structure, provide out-of-source[-ish] build instructions 2019-10-04 09:41:57 -06:00
.gitmodules start wiring up drone. add lokimq submodule and associated stuffs for it 2020-09-02 07:39:29 -04:00
CMakeLists.txt Bump version 2020-11-11 15:16:03 -04:00
README.md update readme again 2020-10-16 09:37:54 -04:00
mingw32.cmake finally, a cross-compile config 2020-09-21 20:30:58 -05:00

README.md

Lokinet Control Panel

Screenshot

This repository contains a cross-platform GUI for controlling and observing stats from a locally-running lokinet. See also loki-network.

There is also an option (Bootstrap Client from Web) in the system tray's context menu (except when compiled with SYSTEMD=true, as is the case in the Debian packages). This will download a bootstrap file which will allow the lokinet client to join the lokinet network.

Building

To build, you'll need cmake and a handful of Qt packages available. On Ubuntu or similar, you can install these with:

sudo apt install qt5-default qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qt-labs-platform qml-module-qtcharts libqt5charts5-dev

Then clone, build and run:

git clone --recursive https://github.com/loki-project/loki-network-control-panel
cd loki-network-control-panel
mkdir build
cd build
cmake ..
make -j4
./lokinet-gui

Systemd

The app can be compiled to support systemd for starting and stopping lokinet. To enable this, invoke cmake with -DSYSTEMD=ON.

Note that interactions with systemd may require privilege escalation, which is handled through polkit. A graphical polkit backend must be running for this to work.

cmake -DSYSTEMD=ON ..

Windows

Nightly Windows builds are available via Continous Integration.

MacOS

The above commands work to build a working executable, however if you also want to bundle it into a .app bundle invoke cmake as:

cmake -DMACOS_APP=ON -DBUILD_STATIC_DEPS=ON ..

which will produce a lokinet-gui.app executable app bundle directory containing the binary, resources, and dependencies.

Note that building this way additionally requires imagemagick installed and built with SVG support.

Usage

By default, the app starts running in the background with access available through the system tray. Click on the system tray icon to interact with the app.

Additionally, the following command-line arguments are supported:

--no-hide

Prevents the window from being hidden automatically when it loses focus. Also adds normal window chroming.

--no-tray

Implies --no-hide, and additionally removes the system tray. Closing the window exits the app.

--rpc 

Provide a custom rpc url for talking to lokinet, defaults to tcp://127.0.0.1:1190