coyim - a safe and secure chat client
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
development Not install golint on unsupported released May 7, 2018
digests Fix #369 - Upgrade CoyIM to use Golang 1.6 Vendor experiment Oct 27, 2016
session Fix those flaky TLS tests once and for all, by just mocking the TLS c… May 24, 2018
xmpp Fix those flaky TLS tests once and for all, by just mocking the TLS c… May 24, 2018
.travis.yml Remove final references to twstrike org Oct 5, 2017
LICENSE.xmpp-client Add a copy of original xmpp-client Sep 16, 2015
Makefile Update reproducible builds May 30, 2018 Fix line wrapper May 22, 2018 Minor updates to Oct 25, 2017
force Add force file Sep 23, 2016
gen_icon.rb Actually set version even if we're not on a specific tagged version Apr 16, 2016
main_test.go twstrike -> coyim Oct 2, 2017

CoyIM - a safe and secure chat client

Build Status Build status Coverage Status Download

CoyIM is a new client for the XMPP protocol. It is built upon and It adds a graphical user interface and implies safe and secure options by default. Our ambition is that it should be possible for even the most high-risk people on the planet to safely use CoyIM, without having to make any configuration changes.

To do this, CoyIM has OTR enabled and uses Tor by default. Besides that, it will only use the Tor Onion Service for a known server and also uses TLS and TLS certificates to verify the connection - no configuration required. The implementation is written in the Go language, to avoid many common types of vulnerabilities that come from using unsafe languages.

Security warning

CoyIM is currently under active development. There have been no security audits of the code, and you should currently not use this for anything sensitive.

Getting started

Using CoyIM is very simple: you just need to download the executable file from the project's home page and then run it.

When you first launch CoyIM, a wizard will appear. If you already have a Jabber client installed and configured for OTR encryption in your computer, you can use this wizard to import your account settings as well as your OTR keys and your contacts' fingerprints. By importing them, you won't have to do anything else to use CoyIM just as you used your former client.

If you don't import your account settings, keys and fingerprints through the wizard that opens at the first launch, you can still import them by going to Accounts -> Import at a later stage.

If the client you have been using so far is Pidgin, you will find the files you need to import in the .purple directory in your home.

If you want to know more about the features you will and will not find in CoyIM, read this page.

Building CoyIM

GUI version

Please note: Important requirements for building CoyIM are also git and golang (at least version 1.4).

The GUI version requires GTK+ >= 3.6.16, which installation depends on your OS:


sudo apt-get install gtk+3.0 libgtk-3-dev


brew install gnome-icon-theme
brew install gtk+3

Then install CoyIM:

export GTK_VERSION=$(pkg-config --modversion gtk+-3.0 | tr . _ | cut -d '_' -f 1-2)
go get -u -tags "gtk_${GTK_VERSION}"

CLI version (xmpp-client)

go get -u -tags cli

Contributing to CoyIM

We have instructions to help you get started contributing to CoyIM.


CoyIM supports reproducible builds for Linux on AMD64. See REPRODUCIBILITY for instructions on how to build or verify these builds.