a control panel for managing Lokinet
Go to file
Jason Rhinelander 186ed5a38b Always use pkgconfig to search for lokimq
This simplifies FindLokiMQ, and lets us drop it entirely in favour of
two lines in CMakeLists.txt.

Also updates the required lokimq to 1.2.2 for the segfault-on-shutdown
fix.
2020-11-17 14:34:32 -04:00
cmake Always use pkgconfig to search for lokimq 2020-11-17 14:34:32 -04: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 Always use pkgconfig to search for lokimq 2020-11-17 14:34:32 -04:00
res older qt versions do have for of loops because of course they dont, revert to old style for loops 2020-11-17 04:41:44 -05:00
src Merge pull request #79 from majestrate/lmq-globalize-2020-11-17 2020-11-17 11:39:49 -05:00
tools Try another entitlement 2020-04-21 01:35:43 -03:00
.drone.jsonnet DRY cmake Qt dir args, and add Svg to them 2020-11-11 17:56:58 -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 Always use pkgconfig to search for lokimq 2020-11-17 14:34:32 -04:00
README.md Update README.md 2020-11-17 11:41:31 -05: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 libqt5svg5-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

The following command-line arguments are supported:

--tray

Runs the gui in tray mode.

--rpc 

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