Skip to content
coyim - a safe and secure chat client
Go Shell Other
Branch: master
Clone or download

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build Change version of CoyIM in mac-bundle #531 Jun 10, 2019
cache Fix all lint issues, and then make sure that our lint target fails th… May 26, 2020
ci Ooops, fix CI makefile May 26, 2020
config Fix #518 - This implements the rest of Direct TLS, and XEP-0368, maki… May 31, 2020
coylog Replace log.Print with real logging in most packages May 31, 2020
digests Fix #369 - Upgrade CoyIM to use Golang 1.6 Vendor experiment Oct 27, 2016
gui Ah, better to not print the whole account object Jun 1, 2020
i18n
images Add screenshot images #500 Feb 18, 2019
memory_analysis Update everything but bintray to coyim org Oct 2, 2017
net Replace log.Print with real logging in most packages May 31, 2020
otrclient Fix #549 - Implement XEP-0380, mark messages as encrypted explicitly. Jun 1, 2020
reproducible Move from .asc to .rasc for the reproducible builds files, because bi… Mar 4, 2019
roster Add logrus as the standard logging mechanism, instead of the built in… May 30, 2020
sasl Add logrus as the standard logging mechanism, instead of the built in… May 30, 2020
servers Add logrus as the standard logging mechanism, instead of the built in… May 30, 2020
session Fix #549 - Implement XEP-0380, mark messages as encrypted explicitly. Jun 1, 2020
tls Fix all lint issues, and then make sure that our lint target fails th… May 26, 2020
ui Add logrus as the standard logging mechanism, instead of the built in… May 30, 2020
vendor Add logrus as the standard logging mechanism, instead of the built in… May 30, 2020
xmpp Fix #549 - Implement XEP-0380, mark messages as encrypted explicitly. Jun 1, 2020
.appveyor.yml And this Jun 6, 2019
.gitignore Update Makefile to use more dependencies for generating definitions a… May 26, 2020
.mailmap Add mail mapping file Dec 27, 2018
.travis.yml Fix #538 - Update supported versions of Golang May 26, 2020
CONTRIBUTING.md Command does not match with Makefile Oct 26, 2017
DOWNLOADING.md Remove final references to twstrike org Oct 5, 2017
Gopkg.lock Add logrus as the standard logging mechanism, instead of the built in… May 30, 2020
Gopkg.toml Add logrus as the standard logging mechanism, instead of the built in… May 30, 2020
LICENSE Add license Jan 27, 2016
LICENSE.xmpp-client Add a copy of original xmpp-client Sep 16, 2015
Makefile Make sure we can find the 'esc' dependency even if the GOPATH/bin is … May 29, 2020
PHILOSOPHY.md Fix line wrapper May 22, 2018
README.md Fix #538 - Update supported versions of Golang May 26, 2020
RELEASE.md Change release note instructions Apr 2, 2019
REPRODUCIBILITY.md Move from .asc to .rasc for the reproducible builds files, because bi… Mar 4, 2019
authors.rb Fix #237 - automatically generate author list Nov 8, 2016
coyim.apparmor First stab at an apparmor for CoyIM. Mar 22, 2016
find_esc.sh Make sure we can find the 'esc' dependency even if the GOPATH/bin is … May 29, 2020
gen_icon.rb Add icon for question mark Oct 25, 2016
install_coyim_tails.sh Update everything but bintray to coyim org Oct 2, 2017
main.go Initialize log levels for logrus properly May 30, 2020
supported_xeps Fix #549 - Implement XEP-0380, mark messages as encrypted explicitly. Jun 1, 2020
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

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

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

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.

You can’t perform that action at this time.