Skip to main content

Wrapper for the Briar Headless REST API

Project description

Briar Wrapper

pipeline status coverage report

A wrapper library for Briar to run on Python platforms. It uses the Briar REST API and therefore requires Java.

Installation

The easiest way to install Briar Wrapper is to install the package from PyPi.org: pip install briar_wrapper

Documentation

The documentation of the project can be found at wrapper.docs.briarproject.org. To generate it locally, call tools/generate-docs.sh.

Building

You can also build it yourself by runninng the following command: flit build

Note that you need to have installed flit to do this.

Debian

First, install some dependencies:

sudo apt install build-essential devscripts debhelper python3-all flit dh-python

During building the package, we will also run tests:

sudo apt install python3-pytest python3-requests python3-websockets python3-requests-mock python3-pytest-mock

In order to generate the original source package, install flit and use it to build python-briar-wrapper:

flit build

You can now use the archive generated in the dist directory to build the Debian package:

mv dist/briar_wrapper-0.0.3.tar.gz ../python-briar-wrapper_0.0.3.orig.tar.gz
cd ..
tar -zxf python-briar-wrapper_0.0.3.orig.tar.gz
cd briar_wrapper-0.0.3

Now, build the .deb like this:

debuild -us -uc

And install the .deb like this:

sudo dpkg -i ../python3-briar-wrapper_0.0.3-1_all.deb

Design Goals

  • Main platform is GNU/Linux, but should also support (at least) Windows and macOS
  • Analogously, main platform is x86, but should also support (at least) arm

FAQ

I forgot my password.

In case you forgot your password, there's no other way than to delete your old account and start from scratch. Call rm -rf ~/.briar/ to delete your current account.

How can I transfer a Briar account from my Android device?

By using adb, you can copy the database and keys from a Briar Android installation. Note that your smartphone needs to be rooted for this.

You shouldn't use this technique to clone your Briar account to another device and then use the same account on both devices. If you do this, you open up yourself to many possible threats. See this comment on Briar's issue tracker for more information. Therefore, make sure to delete the old copy of your Briar account after you've transferred it to another device to protect yourself against attacks circumventing forward secrecy.

In case you just want to transfer contacts from one account to another, better use the "contact introduction feature" which is already available on Android devices and which is planned to land in python-briar-wrapper, too.

You can either use the script at tools/copy-db-from-android.sh or do it manually:

  1. Start briar-gtk and register a dummy account. This will create the needed directory structure at ~/.briar/. Close the program afterwards.
  2. Enable adb on your smartphone and give it root permissions.
  3. Connect via adb and gain root permissions using adb root.
  4. Copy all important files using adb pull: /data/data/org.briarproject.briar.android/app_db/db.mv.db, /data/data/org.briarproject.briar.android/app_key/db.key, /data/data/org.briarproject.briar.android/app_key/db.key.bak
  5. Replace the respecting files in ~/.briar/db and ~/.briar/key.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for briar_wrapper, version 0.0.6
Filename, size File type Python version Upload date Hashes
Filename, size briar_wrapper-0.0.6-py3-none-any.whl (22.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size briar_wrapper-0.0.6.tar.gz (37.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page