Skip to content
Back-end application with core functionality for Privatix DApp
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github update codeowners Mar 29, 2019
agent Add test logger Dec 18, 2018
client Fix billing lag Dec 27, 2018
country Remove unused configs and update documentation + some refactoring. Nov 28, 2018
data consistent nameing May 3, 2019
doc public GetUserRole Apr 12, 2019
eth update log topics Mar 27, 2019
job add logs Jan 17, 2019
messages fix tests Mar 25, 2019
monitor fix tests Apr 24, 2019
nat Add NAT traversal Feb 20, 2019
pay fix tests Apr 24, 2019
proc consistent nameing May 3, 2019
report userid used to initialise bugsnags notifier Dec 4, 2018
scripts change version to 0.22.0 Apr 30, 2019
sess unify client endpoint job names Apr 29, 2019
statik validate tpl hash Mar 7, 2019
tool/copy_dbscripts remove initializer Mar 14, 2019
ui public GetUserRole Apr 12, 2019
util log fatal msg Apr 30, 2019
version Refactor for OpenVpn agent detachment Aug 23, 2018
.codeclimate.yml disable markdownlint Aug 16, 2018
.editorconfig set max_line_length to 80 Aug 22, 2018
.gitignore allow use data package by everyone without manually generating code Apr 1, 2019
.travis.yml add comments Apr 24, 2019 create CONTRIBUTING Mar 6, 2018 set max_line_length to 80 Aug 22, 2018
COPYING License added Mar 5, 2018 add travis Apr 23, 2019
dappctrl-dev.config.json wait a little to ensure agent prepared endpoint May 8, 2019
dappctrl-test.config.json move to go modules, adjust build scripts and prettify configs Apr 1, 2019
dappctrl.config.json wait a little to ensure agent prepared endpoint May 8, 2019
docker-compose.yaml using docker to only run db Apr 1, 2019
go.mod add travis Apr 23, 2019
go.sum add travis Apr 23, 2019
main.go do not port forward on nat for somc srv, tor is used Mar 4, 2019

Build Status Go report Maintainability GoDoc FOSSA Status

Privatix Controller

Privatix Controller is a core of Agent and Client functionality.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.


Install prerequisite software if it's not installed.

  • Install Golang 1.10+ . Make sure that $GOPATH/bin is added to system path $PATH.

  • Install PostgreSQL.

  • Install gcc.

Installation steps

Clone the dappctrl repository using git:

git clone
cd dappctrl
git checkout master

Build dappctrl package:


Prepare a dappctrl database instance:


Make a copy of dappctrl.config.json:

cp dappctrl.config.json dappctrl.config.local.json

Modify dappctrl.config.local.json if you need non-default configuration and run:


For developing purposes, you have to use dappctrl-dev.config.json.

More information about dappctrl.config.json: config fields description.


To run the tests execute following script:


Excluding specific tests from test run

It's possible to exclude arbitrary package tests from test runs. To do so use a dedicated build tag. Name of a such tag is composed from the no-prefix, name of the package and the test suffix. For example, using noethtest tag will disable Ethereum library tests and disabling novpnmontest will disable VPN monitor tests.

Example of a test run with the tags above:

go test $DAPPCTRL/... -p=1 -tags="noethtest nojobtest" -config=$LOCAL_CONF_FILE


Please read for details on our code of conduct, and the process for submitting pull requests to us.


We use SemVer for versioning. For the versions available, see the tags on this repository.


See also the list of contributors who participated in this project.


This project is licensed under the GPL-3.0 License - see the COPYING file for details.

You can’t perform that action at this time.