this is the main cwtch gui with the pretty interface
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Dan Ballard 2c0925004d windows log to file hai%!(EXTRA string=%!s(BADINDEX) 6 meses)
android Use QAndroidService to properly have the service run on Android hai%!(EXTRA string=%!s(BADINDEX) 6 meses)
go removing fake delete to surface fake deleted contact as we still connect to them; adopting proper delete support added to cwtch hai%!(EXTRA string=%!s(BADINDEX) 6 meses)
i18n Unblocking hai%!(EXTRA string=%!s(BADINDEX) 6 meses)
linux use bundled tor code for desktop, updated bundled tor to update android readme hai%!(EXTRA string=%s 1 ano)
qml Merge branch 'ui-tweaks' of into master hai%!(EXTRA string=%!s(BADINDEX) 6 meses)
windows windows log to file hai%!(EXTRA string=%!s(BADINDEX) 6 meses)
.drone.yml drone not double up on version tag for directory hai%!(EXTRA string=%!s(BADINDEX) 6 meses)
.gitignore Adding Basic Group Membership Pane hai%!(EXTRA string=%!s(BADINDEX) 11 meses)
LICENSE Add 'LICENSE' hai%!(EXTRA string=%s 1 ano)
Makefile makefile to clean junk hai%!(EXTRA string=%!s(BADINDEX) 10 meses) Update '' hai%!(EXTRA string=%!s(BADINDEX) 11 meses)
main.go windows log to file hai%!(EXTRA string=%!s(BADINDEX) 6 meses)
qml.qrc splash pane with custom loading progressbar; custom pre splash screen for android hai%!(EXTRA string=%!s(BADINDEX) 10 meses) add french translation hai%!(EXTRA string=%!s(BADINDEX) 11 meses)

Cwtch - UI

This codebase provides a graphical user interface for Desktop and Android for Cwtch: Privacy Preserving Infrastructure for Asynchronous, Decentralized and Metadata Resistant Applications


Cwtch is an experimental concept and prototype. We do not recommend you use Cwtch today if you require secure communication. At least, not yet.

If you discover a security issue, please log an issue above, or email

Compiling & Running

This code relies on therecipe/qt before getting started consult the Installation and Getting Started documentation to get that up and running. It will make building this much easier.


qtdeploy build desktop
./deploy/linux/ -local -debug 2>&1 | grep -v 'Detected anchors on an item that is managed by a layout.'

The -local and -debug flags are helpful when developing.


We supply an arm-pie version of tor in android/libs/armeabi-v7a with the name

qtdeploy -docker build android
adb install deploy/android/build-debug.apk


  • Download and install QT Open Source edition
  • Go to My Computer - Right Click on This PC - Advanced System Settings - Environment Variables
    • New - QT_DIR = C:\Qt (or wherever you have it installed)
    • New - QT_VERSION = 5.12.1 (because I picked 5.12.1)
    • Edit the Path Variable and Add C:\Qt\Tools\mingw530_32\bin
  • Install MSYS2 (Bash shell for windows)
  • Install Go and make sure it’s in the PATH, and add your GOPATH/bin to the PATH
  • Setup therecipe/qt (instructions
    • go get -u -v
    • qtsetup (Can take around an hour?)

If all that is done, then check out and run qtdeploy in the root of it.

Currently you will need to manually run tor first before running Use the included tor and torrc file: tor -f torrc



(If you’d like to add a new translation, feel free to open an issue and we can generate the .ts file for you to edit by hand, or in QT Linguist!)

Add new translation

  1. Install the language tools if you have not already (on linux: sudo apt-get install qttools5-dev qttools-dev-tools)

  2. Edit and add a new line in the variable definition for TRANSLATIONS like:

    TRANSLATIONS = i18n/translation_en.ts

  3. Edit qml.qrc and add a new line near the other translation files like:


  4. To update and generate your new translation file, run lupdate and you will find your new file in the i18n/ directory.

Updating translations

Run lupdate to update all the translation files in the i18n/ directory, then edit your languages’ .ts file to make the appropriate changes. It is recommended to use QT Linguist (linguist) to edit the files.

When done, run lrelease to compile all the translations from their .ts files into .qm files for use in the program. Then you can compile the ui program.