• Stars
    star
    2,364
  • Rank 18,692 (Top 0.4 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 10 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A modular and portable open source XMPP client library written in Java for Android and Java (SE) VMs

Smack

Build Status Coverage Status Project Stats Link to XMPP chat smack@conference.igniterealtime.org

About

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

Being 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 allow 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 is provided by the Overview.

Getting started

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

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

License

Most of Smack is governed by the Apache License 2.0 (SPDX License Identifier: Apache 2.0). This license requires that the contents of a NOTICE text file are shown "โ€ฆwithin a display generated by the Derivative Works, if and wherever such third-party notices normally appear.".

Smack comes which such a NOTICE file. Moreover, since smack-core is licensed under the Apache License 2.0, the conditions apply to every project using Smack. The content of Smack's NOTICE file can conveniently be retrieved using Smack.getNoticeStream().

Some subprojects of Smack are governed by other licenses. Please refer to the individual subprojects.

Professional Services

Smack is a collaborative effort of many people. Some are paid, e.g., by their employer or a third party, for their contributions. But many contribute in their spare time for free. 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. Hence 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 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.

Contact

The developers hang around in [email protected]. You may use this link to join the room via inverse.chat. 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.

More Repositories

1

Openfire

An XMPP server licensed under the Open Source Apache License.
Java
2,780
star
2

Spark

Cross-platform real-time collaboration client optimized for business and organizations.
Java
558
star
3

pade

Pร dรฉ (Yoruba word for Meet) is a browser extension (Chrome/Edge) based unified communications desktop client for Openfire.
Go
102
star
4

REST-API-Client

Java REST API Client for the Openfire to manage Openfire instances by sending an REST/HTTP request to the server
Java
101
star
5

jxmpp

A Java library providing fundamental abstractions for XMPP
Java
93
star
6

community-plugins

DEPRECATED (Use the new ofmeet and ofchat repos instead). Maintained for historical reasons only
JavaScript
77
star
7

openfire-pade-plugin

A plugin for Openfire that offers web-based unified communications - chat, groupchat, telephone, audio and video conferencing.
JavaScript
54
star
8

openfire-ofmeet-plugin

Openfire Meetings: Plugins for Openfire that bring WebRTC-based video conferencing, and more.
JavaScript
46
star
9

Fastpath-webchat

Fastpath Web Chat Component
Java
40
star
10

Whack

Open Source XMPP component library for XMPP components
Java
32
star
11

tinder

Java
30
star
12

openfire-restAPI-plugin

Allows Openfire administration over a RESTful API.
Java
19
star
13

openfire-monitoring-plugin

Adds support for chat archiving and server statistics to Openfire
Java
18
star
14

jbosh

XEP-0124: Bidirectional-streams Over Synchronous HTTP (BOSH)
Java
16
star
15

openfire-exampleplugin

Example Openfire Plugin using Maven build
Java
15
star
16

asterisk-im

Igniterealtime Asterisk IM
Java
15
star
17

Openfire-Chat

Chat API (REST) for Openfire
JavaScript
15
star
18

Sparkweb

Web based Spark XMPP Client (abandoned)
ActionScript
12
star
19

openfire-hazelcast-plugin

Adds support for running multiple redundant Openfire servers together in a cluster
Java
10
star
20

IgniteRealtime-Website

Code for igniterealtime.org
JavaScript
9
star
21

webmeet

A web component that can be embedded in a web site to provide a fastpath to a work-group queue
JavaScript
9
star
22

Openfire-connectionmanager

Connection Manager for Openfire
Java
8
star
23

openfire-callbackOnOffline-plugin

Url is called when recipient is offline
Java
7
star
24

openfire-pushnotification-plugin

Openfire plugin that adds support for Push Notification (XEP-0357).
Java
7
star
25

openfire-httpFileUpload-plugin

Adds XEP-0363 functionality to Openfire that allows compliant clients to exchange files
Java
7
star
26

openfire-fastpath-plugin

Adds support for managed queued chat requests, such as a support team might use
JavaScript
5
star
27

XIFF

XIFF is an Open Source Flash library for instant messaging and presence clients using the XMPP protocol.
ActionScript
5
star
28

bosh_loadtest

Load test BOSH (Bidirectional-streams Over Synchronous HTTP) on Openfire
Python
5
star
29

openfire-bookmarks-plugin

Allows clients to store URL and group chat bookmarks (XEP-0048)
Java
4
star
30

openfire-certificateManager-plugin

Adds functionality to Openfire that relates to administration of its certificate stores
Java
4
star
31

openfire-ohun-plugin

A simple audio conferencing solution for Openfire using the Kraken WebRTC
Java
4
star
32

Rdp

Remote Desktop Protocol Gateway for Remote Desktop Control
HTML
4
star
33

openfire-userStatus-plugin

Automatically saves the last status (presence, IP address, logon and logoff time) per user and resource to userStatus table in the Openfire database
Java
4
star
34

openfire-presence-plugin

A service that provides simple presence information over HTTP
Java
3
star
35

openfire-subscription-plugin

Allows to configure automatic acceptance or rejection of subscription requests
Java
3
star
36

openfire-contentFilter-plugin

Allows admins to configure various actions based on message content
Java
3
star
37

openfire-xmldebugger-plugin

Records XMPP traffic which can be useful for debugging purposes
Java
3
star
38

OpenfireLogReader

C#
3
star
39

openfire-randomavatar-plugin

An Openfire plugin that exposes a webservice for avatars.
Java
3
star
40

openfire-passwordreset-plugin

A plugin for Openfire that provides password reset functionality.
Java
3
star
41

openfire-search-plugin

Adds Jabber Search (XEP-0055) capabilities to Openfire
Java
3
star
42

openfire-emailOnAway-plugin

The email on away plugin allows to forward messages to user's email address when the user is away (not offline)
Java
3
star
43

openfire-nodejs-plugin

Enables integration between NodeJs applications and Openfire
Java
3
star
44

openfire-clientControl-plugin

Allows to specify XMPP clients that are allowed to connect to the server, which Spark features are enabled and control which Spark version should be used by clients
Java
3
star
45

openfire-inverse-plugin

Adds inVerse web client to Openfire
HTML
3
star
46

Botz

The Botz library adds to the already rich and extensible Openfire with the ability to create internal user bots. With the Botz library, programmers may choose to develop a user bot to run as a service bearing [email protected] as its JID. To Openfire, the user bot is just like other (human) users.
Java
3
star
47

openfire-zgitea-plugin

This Openfire plugin adds a real-time communication to content management using a familiar GIT based workflow to create a very responsive collaboration platform that will enable an agile team to create, manage and deliver any type of content with quality assurance.
JavaScript
3
star
48

openfire-blacklistSpam-plugin

Uses an external blacklist to reject traffic from specific addresses.
Java
2
star
49

openfire-gojara-plugin

Implements the XEP-0321 - Remote Roster Management
JavaScript
2
star
50

openfire-sparkweb-plugin

This plugin adds support for a whole range of modern web client services (REST, SSE JWT and WebAuthn) to Openfire/XMPP.
HTML
2
star
51

Openfire-Switch

Media Control Unit for media mixing and routing using FreeSWITCH
Java
2
star
52

spark-jxbrowser

A JxBrowser-based web-browser providing plugin for Spark.
Java
2
star
53

openfire-pionturn-plugin

This plugin provides a TURN/STUN Server for Openfire
Java
2
star
54

openfire-galene-plugin

Media SFU for Openfire using Galene
JavaScript
2
star
55

openfire-sip-plugin

Lets you configure SIP phone support in Spark from the server
Java
2
star
56

openfire-broadcast-plugin

The broadcast plugin broadcasts messages to all users in the system or to specific groups
Java
2
star
57

oldcommunity

Forwarding web host to keep old Jive Community Forums URIs working
HTML
2
star
58

openfire-nonSaslAuthentication-plugin

The Non-SASL Authentication plugin provides an implementation for authentication with XMPP servers and services using the jabber:iq:auth namespace.
Java
2
star
59

openfire-justmarried-plugin

Allows admins to rename or copy users on the local server
Java
1
star
60

openfire-tikitoken-plugin

Adds a SASL mechanism that allows users to authenticate against a token that is generated by an instance of Tiki Wiki CMS Groupware
Java
1
star
61

openfire-threaddump-plugin

An Openfire plugin that allows administrators to create Java thread dumps.
Java
1
star
62

DrawIO

Web Diagramming Tool that uses SVG and HTML for rendering and packaged as an Openfire plugin
JavaScript
1
star
63

.github

Welcome to Ignite Realtime!
1
star
64

openfire-userCreation-plugin

Java
1
star
65

openfire-pushserver-plugin

Send push notifications to mobile devices through FCM or APNS
Kotlin
1
star
66

openfire-stunserver-plugin

Provides address discovery for peer-to-peer sessions to be used for media transmission and receiving of UDP packets
Java
1
star
67

openfire-jabberbrowsing-plugin

This plugin implements the (obsolete!) XEP-0011 'Jabber Browsing' specification for service discovery using the jabber:iq:browse namespace.
Java
1
star
68

openfire-jidvalidation-plugin

An Openfire plugin that adds JID validation functionality.
Java
1
star
69

openfire-motd-plugin

Allows admins to have a message sent to a user each time they login
Java
1
star
70

openfire-jsxc-plugin

Adds the (third-party) JSXC web client to Openfire.
Java
1
star
71

openfire-userImportExport-plugin

Provides a way to import and export Openfire user data via the Admin Console
Java
1
star
72

Docker

Docker Management Plugin for Openfire
Java
1
star
73

openfire-osw-plugin

Adds onesocialweb protocol support to an openfire server
HTML
1
star
74

openfire-jingleNodes-plugin

Java
1
star
75

ci-tooling

Tooling used for continuous integration.
Shell
1
star
76

openfire-emailListener-plugin

A service that connects to an email server using IMAP and forwards new email messages to specified users
Java
1
star
77

openfire-candy-plugin

Adds Candy web client to Openfire
JavaScript
1
star
78

Tiki

Openfire Auth, Admin, User, Group and vCard providers for Tiki using direct database access
1
star
79

openfire-externalservicediscovery-plugin

Allows XMPP entities to discover services that are external to the XMPP network
Java
1
star
80

openfire-mucservice-plugin

(Deprecated) Please use the REST API Plugin. MUC administration over REST Interface
Java
1
star
81

openfire-llama-plugin

LLaMA 2 Inference Engine for Openfire
HTML
1
star
82

openfire-packetFilter-plugin

Allows you to create rules that will block or reject certain packets to the server
Java
1
star
83

openfire-rawpropertyeditor-plugin

A raw editor for Openfire user and group properties
Java
1
star
84

openfire-dbaccess-plugin

Provides a very simplistic direct DB access tool in the Admin Console
Java
1
star
85

openfire-irmaserver-plugin

I Reveal My Attributes to Openfire.
Java
1
star
86

Solo

An Openfire plugin for creating a blog website using Solo from b3log.org
JavaScript
1
star
87

openfire-jmxweb-plugin

Java
1
star
88

openfire-userservice-plugin

(Deprecated) Please use the REST API Plugin. Allows administration of users via HTTP requests.
Java
1
star
89

IPFS

Enables Openfire to become a node in the inter-planetary file system
Java
1
star
90

openfire-mucextinfo-plugin

An Openfire plugin that allows an admin to configure Extended Service Discovery information to Multi User Chat entities.
Java
1
star
91

openfire-registration-plugin

Allows admins to configure various actions whenever a new user creates an account
Java
1
star
92

openfire-agentinformation-plugin

This plugin implements the (obsolete!) XEP-0094 'Agent Information' specification for service discovery using the jabber:iq:agents namespace.
Java
1
star
93

openfire-exi-plugin

Adds support for XEP-0322: Efficient XML Interchange (EXI) Format
Java
1
star
94

openfire-loadStats-plugin

The statistic plugin prints usage information of the database connection pool, thread pool used for processing incoming traffic and the NIO networking layer
Java
1
star
95

Openfire-Social

Provides a social network with member profiles, activity streams, user groups, messaging, blogs and more by integrating Openfire with WordPress, bbPress and BuddyPress
PHP
1
star
96

openfire-broadcastbox-plugin

User media streams publish-subscribe using WebRTC-HTTP ingestion-egress with Broadcast Box
Java
1
star