The source of the project PrivacyMachine
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENCE
UpdaterTest
artwork
cmake_modules
concept_and_notes
ext_libs
install_windows
libpm
packaging
problem_reporter
tests
uac_deploy
working_dir
.gitattributes
.gitignore
CMakeLists.txt
Doxyfile
README.md
buildExtLibs.sh
buildPm.sh
cleanAll.sh
cleanExtLibs.sh
cleanPm.sh
common.sh
continueBuild.sh
dummyInstall.sh
pm.desk_top
testAll.sh

README.md

PrivacyMachine source

Homepage: https://www.privacymachine.eu

The PrivacyMachine is a browser which protects the privacy of the users.

Current Status:

We have a Beta-Release which can be used to get an impression how it should work. An important feature, the automated update, is currently not ready, so use it with care!
For Windows we have an installer package
For Linux (debian based distros) you have to compile the software yourself.

Recently we moved our internal git repository to the public github repository to make it easier to get in touch with new developers.

The branch 'master' contains the last released version (the beta1 now).
On the branch 'develop' we continue the development.

Available documentation:

If you want to join us you are very welcome!

We have also a big list of ideas and todo's where we really could need some help!
Even if we are a little paranoid, we are nice people and always have some fun together:
https://www.privacymachine.eu/de/about/

Code reviews and design suggestions are also very welcome!

For a Bug-Bounty it's too early - we would get poor ;)

Please write us at contact@privacymachine.eu
PGP-Fingerprint: 0C93 F15A 0ECA D404 413B 5B34 C6DE E513 0119 B175

HowTo build from Source

Checkout the source (we work in the "develop" branch):

git clone -b develop https://github.com/privacymachine/src.git

Please check the build-requirements for linux or windows first (sections below)

This project uses the github repositories

These repsoitories are checked out automatically during the build process.

Even if you want to develop with Qt-Creator, please build the project one time from the console because problems are easier to target there.
Under Windows a cygwin installation is needed to execute the build scripts.

Build the external libraries

start the script "./buildExtLibs.sh" to build in the directory "build_ext_libs".
The libraries will be created in the directory "/working_dir/lib".

Build the PrivacyMachine

start the script "./buildPm.sh" to build in the directory "build_pm".
The binaries will be created in the directory "/working_dir".

Usually it's not needed to build the BaseDisk yourself, the PrivacyMachine will download the actual version from our server.

The PrivacyMachine can be directly started within the directory "working_dir".
Please note that on first start the 4GB-BaseDisk will be stored in the user config folder: ~/.config/privacyachine under linux
%UserProfile%\PrivacyMachine under Windows

Developing using QtCreator

There are some potential pitfalls you have to know:

  • The CMake integration in QtCreator is not perfect, so if you change something in the CMakeLists.txt, first close QtCreator, test if the changes work from commandline and then open QtCreator again.
  • When Opening the inital CMakeLists.txt file please specify as build folder the directory "/build_pm" (the "/working_dir", in which the binaries are build, is choosen automatically)
  • For starting/debugging the PrivacyMachine you have to manually configure the "Working directory" to "/working_dir".
Tips&Tricks
  • after running 'doxygen' in the root direcory a qt-help file will be generated: "/doc_generated/eu.privacymachine.dev-doc.qch"
  • you can specify this in QtCreator in the menu: Tools->Options:Help->Documentation:"Add..." QtCreater has to be reopened to take use of it.
  • Enable the plugin "Todo" in Help->About plugins.

Build-requirements Linux (tested on ubuntu-16.04 and debian-jessie)

  • check that you have these packages installed:

    apt install build-essential git-core cmake zlib1g-dev qt5-default qtmultimedia5-dev qttools5-dev-tools libssl-dev libsodium-dev sshpass p7zip-full libpopt-dev libbz2-dev doxygen graphviz xsltproc
    

Build-requirements Windows (tested on Win7)