coyim - a safe and secure chat client
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
build Remove unused Oct 12, 2017
cache Add support for getting bytestream proxies and starting the process Oct 13, 2017
ci Disable goimports for unsupported go releases. May 28, 2018
cli Fix those flaky TLS tests once and for all, by just mocking the TLS c… May 24, 2018
config Fix those flaky TLS tests once and for all, by just mocking the TLS c… May 24, 2018
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
gui Fix a potential crash that isn't so helpful Aug 28, 2018
i18n Regenerate i18n strings Oct 11, 2017
memory_analysis Update everything but bintray to coyim org Oct 2, 2017
net gofmt Oct 2, 2017
otr_client OK, the gui JID stuff compiles. That does NOT mean it works yet... Jan 18, 2018
reproducible Update reproducible builds May 30, 2018
roster Comment out print statements for now - leaving them in the code for t… Jan 18, 2018
sasl Use keyed fields. Oct 25, 2017
servers added jabber.cat Oct 13, 2017
session Fix those flaky TLS tests once and for all, by just mocking the TLS c… May 24, 2018
tls Fix those flaky TLS tests once and for all, by just mocking the TLS c… May 24, 2018
ui twstrike -> coyim Oct 2, 2017
vendor Update vendor Jan 11, 2018
xmpp Fix those flaky TLS tests once and for all, by just mocking the TLS c… May 24, 2018
.appveyor.yml Replace references to deps-dev make rule with deps Nov 7, 2017
.gitignore Fixes rules on zanata.xml Feb 16, 2016
.travis.yml Go 1.10.3 and Go 1.9.7 are released Jun 8, 2018
CONTRIBUTING.md Command does not match with Makefile Oct 26, 2017
DOWNLOADING.md Remove final references to twstrike org Oct 5, 2017
LICENSE Add license Jan 27, 2016
LICENSE.xmpp-client Add a copy of original xmpp-client Sep 16, 2015
Makefile Update reproducible builds May 30, 2018
PHILOSOPHY.md Fix line wrapper May 22, 2018
README.md Improve README description Oct 7, 2017
RELEASE.md Improve README description Oct 7, 2017
REPRODUCIBILITY.md Minor updates to REPRODUCIBILITY.md Oct 25, 2017
authors.rb Fix #237 - automatically generate author list Nov 8, 2016
cli.go twstrike -> coyim Oct 2, 2017
coyim.apparmor First stab at an apparmor for CoyIM. Mar 22, 2016
force Add force file Sep 23, 2016
gen_icon.rb Add icon for question mark Oct 25, 2016
gen_version_file.sh Actually set version even if we're not on a specific tagged version Apr 16, 2016
gtk.go twstrike -> coyim Oct 2, 2017
install_coyim_tails.sh Update everything but bintray to coyim org Oct 2, 2017
main.go Escape markup in default version number. Oct 23, 2017
main_test.go twstrike -> coyim Oct 2, 2017
supported_xeps Add list of supported XEPs, fixes #355 Aug 24, 2016
zanata.xml Fixes rules on zanata.xml Feb 16, 2016

README.md

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 https://github.com/agl/xmpp-client and https://github.com/coyim/otr3. 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:

Ubuntu:

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

MacOS:

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}" github.com/coyim/coyim

CLI version (xmpp-client)

go get -u -tags cli github.com/coyim/coyim

Contributing to CoyIM

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

Reproducibility

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