Skip to content
This repository

ChatSecure is a free and open source encrypted chat client for iPhone and Android that supports OTR encryption over XMPP.

Octocat-spinner-32 Certificates Basic certpinning working into keychain December 06, 2013
Octocat-spinner-32 Off the Record Integration Tests updated tests to work properly with google and facebook December 02, 2013
Octocat-spinner-32 Off the Record Tests Error strings for SSL errors December 09, 2013
Octocat-spinner-32 Off the Record.xcodeproj Submit v2.2.4 to App Store March 13, 2014
Octocat-spinner-32 Off the Record.xcworkspace Move gtm-oauth2 to Cocoapods March 02, 2014
Octocat-spinner-32 Off the Record Submit v2.2.4 to App Store March 13, 2014
Octocat-spinner-32 PodSpecs SIAlertView March 02, 2014
Octocat-spinner-32 Submodules Require TLS for all connections March 13, 2014
Octocat-spinner-32 media updated xmpp logo fixes #132 February 20, 2014
Octocat-spinner-32 .gitattributes Bump to v2.2.1 and update translations February 21, 2014
Octocat-spinner-32 .gitignore first cocoapod: magicalrecord March 02, 2014
Octocat-spinner-32 .gitmodules Move gtm-oauth2 to Cocoapods March 02, 2014
Octocat-spinner-32 CONTRIBUTING.md Fix links to CLA November 17, 2013
Octocat-spinner-32 COPYING Change license to GPLv3+ August 14, 2012
Octocat-spinner-32 Default-568h@2x.png Add support for iOS 6 and iPhone 5 September 12, 2012
Octocat-spinner-32 Default-Landscape@2x~ipad.png some more resources March 28, 2012
Octocat-spinner-32 Default-Landscape~ipad.png some more resources March 28, 2012
Octocat-spinner-32 Default-Portrait@2x~ipad.png some more resources March 28, 2012
Octocat-spinner-32 Default-Portrait~ipad.png some more resources March 28, 2012
Octocat-spinner-32 Default.png some more resources March 28, 2012
Octocat-spinner-32 Default@2x.png some more resources March 28, 2012
Octocat-spinner-32 LICENSE Change license to GPLv3+ August 14, 2012
Octocat-spinner-32 Podfile Fix issue #160 and #182 March 07, 2014
Octocat-spinner-32 Podfile.lock Fix issue #160 and #182 March 07, 2014
Octocat-spinner-32 README.md Update README March 03, 2014
Octocat-spinner-32 appstore.png Add support for iOS 6 and iPhone 5 September 12, 2012
Octocat-spinner-32 chatsecure_banner.png more branding, xmpp buddy list still broken September 09, 2011
Octocat-spinner-32 chatsecure_banner@2x.png more branding, xmpp buddy list still broken September 09, 2011
Octocat-spinner-32 chatsecure_icon.png Fix spacing on icons December 20, 2011
Octocat-spinner-32 chatsecure_icon@2x.png Fix spacing on icons December 20, 2011
Octocat-spinner-32 chatsecure_qrcode.png add sharing via qr code May 07, 2012
Octocat-spinner-32 chatsecure_qrcode@2x.png add sharing via qr code May 07, 2012
Octocat-spinner-32 ipad.png some more resources March 28, 2012
Octocat-spinner-32 ipad@2x.png some more resources March 28, 2012
README.md

ChatSecure

ChatSecure is a free and open source instant messaging client for iOS and Android that integrates encrypted OTR ("Off the Record") messaging support from the libotr library and the XMPPFramework to handle Jabber/GTalk (XMPP).

Cost

This project is 100% free because it is important that all people around the world have unrestricted access to privacy tools. However, developing and supporting this project is hard work and costs real money. Please help support the development of this project! We now also accept Bitcoin via Coinbase! :)

bitcoin donation

Localization

transifex localization

If you would like to contribute/improve a translation:

  1. Visit our Transifex project page and make an account if you don't have one already.
  2. Go to the resources subsites AppStore.strings & Localizable.strings to add a new language or improve an existing translation.
  3. Open an issue on Github notifying us of your translation.

Compatibility

Bold indicates it has been tested and works properly.

Native

  • Adium (Mac OS X) - OTR works over both XMPP and Oscar.
  • Jitsi (Cross-platform)

Plug-in

Phone apps

  • ChatSecure Android (formerly known as Gibberbot), a free and open source Android application produced by The Guardian Project, provides OTR protocol compatible over XMPP chat.
  • BEEM - Android XMPP client (compatibility unknown)

Full List

Build Instructions

Install mogenerator in order to regenerate the Core Data model files. You'll also need Cocoapods for some of our dependencies.

$ brew install mogenerator
$ gem install cocoapods

Download the source code and don't forget to pull down all of the submodules as well.

$ git clone git@github.com:chrisballinger/Off-the-Record-iOS.git
$ cd Off-the-Record-iOS/
$ git submodule update --init --recursive
$ pod

Make your own version of environment-specific data. Make OTRSecrets.m file with blank API keys, and set your provisioning profile ID in OTR_Codesigning.xcconfig. To find the provisioning profile ID, go to Project Settings -> Build Settings -> Code Signing -> Select Provisiong Profile -> Select Other -> Copy Profile's UUID into OTR_Codesigning.xcconfig.

$ cp "Off the Record/OTRSecrets-Template.m" "Off the Record/OTRSecrets.m"
$ cp "Off the Record/configurations/OTR_Codesigning.xcconfig.sample" "Off the Record/configurations/OTR_Codesigning.xcconfig"

Open Off the Record.xcworkspace in Xcode and build. Note that you don't open the .xcodeproj anymore because we use Cocoapods now.

License

Software License Agreement (GPLv3+)

Copyright (c) 2012, Chris Ballinger. All rights reserved.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

If you would like to relicense this code to distribute it on the App Store, please contact me at chris@chatsecure.org.

Contributing

Thank you for your interest in contributing to ChatSecure! To avoid potential legal headaches and to allow distribution on Apple's App Store please sign our CLA (Contributors License Agreement). For contributing translations, please check out our Transifex page.

  1. Sign the CLA (odt, pdf) and email it to chris@chatsecure.org.
  2. Fork the project and (preferably) work in a feature branch.
  3. Open a pull request on GitHub.
  4. Thank you!

Third-party Libraries

This software additionally references or incorporates the following sources of intellectual property, the license terms for which are set forth in the sources themselves:

The following dependencies are bundled with the ChatSecure, but are under terms of a separate license:

Acknowledgements

Thank you to everyone who helped this project become a reality! This project is also supported by the fine folks from The Guardian Project and OpenITP.

Something went wrong with that request. Please try again.