Git Product home page Git Product logo

CoyIM - a safe and secure chat client

Build Status Coverage Status Translation status Go Report Card

CoyIM is a chat 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 defaults to safe and secure options. 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.

We use Weblate (https://hosted.weblate.org/projects/coyim/) to help crowd-source translation.

Security warning

CoyIM is currently under active development. The code for our OTR implementation has been audited, with good results. You can find out more information on our website. However, the rest of CoyIM still has not received an audit. This is worth keeping in mind if you are using CoyIM for something 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.

If you are using Arch Linux, you can install CoyIM via the AUR.

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.

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: CoyIM requires Golang version 1.19 or higher to build. CoyIM also requires at least GTK+ version 3.12 or higher. The installation of this depends on your operating system:

Ubuntu:

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

MacOS:

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

In order to build CoyIM, you should check out the source code, and run:

make build

It might be possible to build CoyIM using go get but we currently do not support this method.

Contributing to CoyIM

We have instructions here on how you can get started contributing to CoyIM.

Reproducibility

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

License

The CoyIM project and all source files licensed under the GPL version 3, unless otherwise noted.

CoyIM messenger client's Projects

constbn icon constbn

Constant time BigNum operations to make it possible for OTR3 to have constant time ModExp

coyim icon coyim

coyim - a safe and secure chat client

coyim-resources icon coyim-resources

This repository contains the original resources for assets that we are using in the CoyIM messaging client.

gosx-notifier icon gosx-notifier

gosx-notifier is a Go framework for sending desktop notifications to OSX 10.8 or higher

gotk-gen icon gotk-gen

A small library to generate interfaces for the gotk3 package

gotk3adapter icon gotk3adapter

Contains adapters and interfaces for gotk3 in order to make testing possible.

gotk3extra icon gotk3extra

Contains golang bindings for GTK3 stuff that might be useful for us to have

gotk3osx icon gotk3osx

Golang access to the gtk-mac-integration library and functionality

otr3 icon otr3

A Go implementation of the OTR 3 protocol, with libotr 4.1.0 feature parity

standards icon standards

Contains work on XEPs and other standards related to CoyIM work

toaster icon toaster

A wee Win8 console notifications app. Post toast notifications from the console, making it easy to integrate into existing batch scripts etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.