golang encrypted chat... for inspiration
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.
Sandy dbdd2309ae Force refresh window positioning - #353 3 months ago
build Change version of CoyIM in mac-bundle #531 5 months ago
cache Add support for getting bytestream proxies and starting the process 2 years ago
ci See if manual pkgconfig can help OS X build 8 months ago
config Refactor and remove tests for the moment #344 4 months ago
development Canonical golint path 8 months ago
digests Fix #369 - Upgrade CoyIM to use Golang 1.6 Vendor experiment 3 years ago
gui Force refresh window positioning - #353 3 months ago
i18n Fixes a typo in the translation string. 4 months ago
images Add screenshot images #500 9 months ago
memory_analysis Update everything but bintray to coyim org 2 years ago
net gofmt 2 years ago
otr_client OK, the gui JID stuff compiles. That does NOT mean it works yet... 1 year ago
reproducible Move from .asc to .rasc for the reproducible builds files, because bintray doesn't allow you to upload .asc files... Fun bug. 8 months ago
roster Remove some ineffectual assignments #515 3 months ago
sasl Remove some ineffectual assignments #515 3 months ago
servers Disable inactive XMPP servers. 3 months ago
session Add new instracutions to ineffassing and gosec #515 3 months ago
tls Fix those flaky TLS tests once and for all, by just mocking the TLS connection instead 1 year ago
ui Refactor and correctly escape html tags #508 3 months ago
vendor Force refresh window positioning - #353 3 months ago
xmpp Remove some ineffectual assignments #515 3 months ago
.appveyor.yml And this 5 months ago
.gitignore Fixes rules on zanata.xml 3 years ago
.mailmap Add mail mapping file 10 months ago
.travis.yml Irregularities are annoying 8 months ago
CONTRIBUTING.md Command does not match with Makefile 2 years ago
DOWNLOADING.md Remove final references to twstrike org 2 years ago
LICENSE Add license 3 years ago
LICENSE.xmpp-client Add a copy of original xmpp-client 4 years ago
Makefile Add new instracutions to ineffassing and gosec #515 3 months ago
PHILOSOPHY.md Fix line wrapper 1 year ago
README.md Add images to README #500 9 months ago
RELEASE.md Change release note instructions 7 months ago
REPRODUCIBILITY.md Move from .asc to .rasc for the reproducible builds files, because bintray doesn't allow you to upload .asc files... Fun bug. 8 months ago
authors.rb Fix #237 - automatically generate author list 3 years ago
coyim.apparmor First stab at an apparmor for CoyIM. 3 years ago
gen_icon.rb Add icon for question mark 3 years ago
gen_version_file.sh Actually set version even if we're not on a specific tagged version 3 years ago
install_coyim_tails.sh Update everything but bintray to coyim org 2 years ago
main.go Fix #509. Hide MUC work behind a feature flag. Also hide Encrypted File Transfer behind feature flag. Also do some small refactorings 9 months ago
main_test.go twstrike -> coyim 2 years ago
supported_xeps Add list of supported XEPs, fixes #355 3 years ago
zanata.xml Fixes rules on zanata.xml 3 years ago

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.7).

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.