The client-side daemon for Privact.
It has two functionalities:
- Continuously gathering personal data (at first only system health data).
- Responding to federated surveys (polled from ../server).
Heavily work in progress, the current goal is to get it to a proof of concept stage.
For the moment, you'll need to manually install a few dependencies:
- A C++ toolchain (e.g. GCC, LLVM or MSVC) - note that at the time of writing, you will have to use Clang for the linting to work (see below).
- CMake
- The Qt framework, version 6.2.4 (or later, presumably)
- GPGME
- Qt Designer
- clang-format and clang-tidy, version 14 (later versions format code differently, unfortunately)
- botan
sudo apt install build-essential clang cmake qt6-base-dev clang-format clang-tidy designer-qt6
echo 'export CXX=/usr/bin/clang++' >> ~/.profile
. ~/.profile
make
make && make test
We use linting to improve maintainability and to reduce nit picking, please run it before committing any changes:
make lint
To comply with the formatting rules, run:
make format
make run-daemon
There are a few environment variables you can set to configure the daemon:
PRIVACT_CLIENT_SERVER_URL
- point to the base URL of the server, without trailing slash, e.g.http://localhost:8000
.PRIVACT_CLIENT_ENABLE_E2E
- set to1
to enable experimental end to end encryption.
make run-ui
The daemon receives data from suppliers via D-Bus. See example_supplier for an example supplier you can use to submit arbitrary data.