Skip to content
This repository has been archived by the owner on Feb 26, 2021. It is now read-only.

leapcode/bitmask-dev

Repository files navigation

Bitmask

Your internet encryption toolkit

Documentation Status IRC IRC-es

Bitmask is the client for the services offered by the LEAP Platform. It contains a command-line interface and a multiplatform desktop client. It can be also used as a set of libraries to communicate with the different services from third party applications.

It is written in python using Twisted and licensed under the GPL3. The Graphical User Interface is written in html+js and uses PyQt5 for serving the application.

Package under development!

The previous client using PySide has been deprecated (Bitmask version 0.9.2, still available at the http://github.com/leapcode/bitmask_client repo).

Read the Docs!

There is documentation about Bitmask for users and for developers. For developers, be sure to read the sections on hacking and contributing_. Testers should read the section on testing and QA.

Bugs

Please report any bugs in our bug tracker.

Logs

If you want to watch the logs, from the command line:

bitmaskctl logs watch

The paste command can be handy to do bug reports (needs pastebinit installed in the system):

bitmaskctl logs send

but do not upload anything that you do not want to make public ;)

Development

Running Tests

You need tox to run the tests. If you don't have it in your system yet:

pip install tox

And then run all the python tests:

tox

There are some minimal end-to-end tests:

make test_e2e

For testing the UI (aka bitmask-js) you need to have mocha installed. You can run ui tests like this:

cd ui && make test

More info abou testing can be found in the docs/hacking/testing document.

Hacking

In order to run bitmask in a development environment, you must activate a virtualenv and install the various leap-related python packages using pip install -e. This installs them as links to the source code, so that your code changes are immediately reflected in the packages imported from within the virtualenv.

The various make dev-* commands will run the appropriate pip install commands for you.

If you want to setup your whole development environment in a single step, and you are running a debian-based system, you can use:

make dev-bootstrap

That should install all the system dependencies, create a virtualenv for you, and drop you in a shell inside that virtualenv. In the future, you can enter this virtualenv again by using pew:

pew workon bitmask

To upgrade regularly the python dependencies installed inside your virtualenv, you can run:

make upgrade-all

inside your virtualenv, and it will install any new version of your dependencies that is found in pypi.

Check out the docs/hacking page for more extense instructions to get you started.

License

https://raw.github.com/leapcode/bitmask_client/develop/docs/user/gpl.png

Bitmask is released under the terms of the GNU GPL version 3 or later.