Fork of the XMPP library Smack introducing support for OMEMO encryption
Pull request Compare This branch is 27 commits behind igniterealtime:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config Enable trailing whitespace checkstyle check May 9, 2018
documentation XEP-0373, XEP-0374: OpenPGP for XMPP: Instant Messaging Jul 29, 2018
resources Introduce CloseableUtil Aug 15, 2018
smack-android-extensions Add missing package-info descriptions. Feb 21, 2018
smack-android Add AndroidSmackInitializer.initialize(Context) May 6, 2018
smack-bosh Introduce CloseableUtil Aug 15, 2018
smack-compression-jzlib Enable trailing whitespace checkstyle check May 9, 2018
smack-core Add FileUtils.maybeCreateFileWithParentDirectories(File) Aug 17, 2018
smack-debug-slf4j Change Element.toXml() to toXml(String enclosingNamespace) Apr 27, 2018
smack-debug Enable trailing whitespace checkstyle check May 9, 2018
smack-experimental Merge tag '4.3.0' Aug 2, 2018
smack-extensions Do not use a generic return parameter in PubSubManager.getNode() Aug 16, 2018
smack-im Enable trailing whitespace checkstyle check May 9, 2018
smack-integration-test Rename PEP to Pep Aug 15, 2018
smack-java7 Enable trailing whitespace checkstyle check May 9, 2018
smack-jingle-old Enable trailing whitespace checkstyle check May 9, 2018
smack-legacy Enable trailing whitespace checkstyle check May 9, 2018
smack-omemo-signal-integration-test Add CustomImportOrder checkstyle rule Jun 14, 2017
smack-omemo-signal Make CorruptedOmemoKeyException not swallow exceptions Jun 20, 2018
smack-omemo Rename PEP to Pep Aug 15, 2018
smack-openpgp Fix failing JUnit test by bumping PGPainless to 0.0.1-alpha4 Aug 30, 2018
smack-repl Change Element.toXml() to toXml(String enclosingNamespace) Apr 27, 2018
smack-resolver-dnsjava Bump MiniDNS to 0.3.0 May 5, 2018
smack-resolver-javax Enable trailing whitespace checkstyle check May 9, 2018
smack-resolver-minidns Introduce CloseableUtil Aug 15, 2018
smack-sasl-javax Enable trailing whitespace checkstyle check May 9, 2018
smack-sasl-provided Enable trailing whitespace checkstyle check May 9, 2018
smack-tcp Introduce CloseableUtil Aug 15, 2018
.gitignore Add OMEMO support Jun 2, 2017
.travis.yml Add AndroidSmackInitializer.initialize(Context) May 6, 2018
LICENSE Add Appendix to LICENSE Apr 24, 2017
README.md Update Readme link in Readme Aug 6, 2018
build.gradle Add javadoc-overview.html Aug 2, 2018
repl REPL: Add support to enable a JDWP debug link Oct 14, 2017
settings.gradle XEP-0373, XEP-0374: OpenPGP for XMPP: Instant Messaging Jul 29, 2018
version.gradle Bump MiniDNS to 0.4.0-alpha1 Aug 2, 2018

README.md

Smack

Build Status Coverage Status Project Stats Visit our IRC channel

About

Smack is an open source, highly modular, easy to use, XMPP client library written in Java for Java SE compatible JVMs and Android.

A pure Java library, it can be embedded into your applications to create anything from a full XMPP instant messaging client to simple XMPP integrations such as sending notification messages and presence-enabling devices. Smack and XMPP allows you to easily exchange data, in various ways e.g. fire-and-forget, publish-subscribe, between human and non-human endpoints (M2M, IoT, …).

More information are provided by the Overview.

Getting started

Start with having a look at the Documentation and the Javadoc.

Instructions how to use Smack in your Java or Android project are provided in the Smack Readme and Upgrade Guide.

Professional Services

Smack is a collaborative effort of many open source, professionally and spare-time, paid and unpaid, contributors. While we try to provide the best possible XMPP library for Android and Java SE compatible execution environments by following state of the art software engineering practices, the API may not always perfectly fit your requirements. We welcome contributions and encourage discussion about how Smack can be further improved. We also provide paid services ranging from XMPP/Smack related consulting to designing and developing features in order to accommodate your needs. Please contact Florian Schmaus for further information.

Bug Reporting

Only a few users have access for filling bugs in the tracker. New users should:

  1. Read "How to ask for help or report an issue"
  2. Create a discourse account (you can also sign up with your Google account).
  3. Login to the forum account
  4. Press "New Topic" in your toolbar and choose the 'Smack Support' sub-category.

Please search for your issues in the bug tracker before reporting.

Donate

If you find Smack useful and feel like donating, then you can use one of the following systems:

  • Donate via Bitcoin: 1LiU78z3498wu3jwRPKbvovKAHjTcpVbuK

Contact

The developers hang around in #smack (freenode, IRC) and open_chat@conference.igniterealtime.org (XMPP MUC room). Remember that it may take some time (~hours) to get a response.

You can also reach us via the Smack Support Forum if you have questions or need support, or the Smack Developers Forum if you want to discuss Smack development.

Contributing

If you want to start developing for Smack and eventually contribute code back, then please have a look at the Guidelines for Smack Developers and Contributors. The guidelines also contain development quickstart instructions.

Resources

Ignite Realtime

Ignite Realtime is an Open Source community composed of end-users and developers around the world who are interested in applying innovative, open-standards-based RealTime Collaboration to their businesses and organizations. We're aimed at disrupting proprietary, non-open standards-based systems and invite you to participate in what's already one of the biggest and most active Open Source communities.

Smack - an Ignite Realtime community project.