Highly optimized, extremely modular and very flexible XMPP/Jabber server
What it is
Tigase XMPP Server is highly optimized, extremely modular and very flexible XMPP/Jabber server written in Java.
This repository contains source code of the main part of the Tigase XMPP Server.
The project exists since 2004 and we have recently moved it over to GitHub.
Other Tigase projects related to XMPP:
Tigase XMPP Server addons:
- MUC Component - Multi-User Chat: XEP-0045
- PubSub Component - Publish-Subscribe: XEP-0060 and Personal Eventing Protocol: XEP-0163
- Socks5 Proxy Component - SOCKS5 Bytestreams: XEP-0065
- STUN Component - STUN Component for Tigase
- HTTP API Component - Component providing easy to use HTTP endpoints for server management and integration based on JDK built-in HTTP server.
- Jetty HTTP API Component - High performance and high load component providing easy to use HTTP endpoints for server management and integration based on Jetty HTTP Server.
- MongoDB Connector - Connector adding support for MongoDB database to Tigase server.
- Message Archiving Component - Component providing Message Archiving XEP-0136 and Message Archive Management XEP-0313 support.
Tools:
- Database Migrator Tool - Tools helping with migration from other XMPP servers to Tigase based system.
- TTS-NG Test Suite - Test Suite to run automated tests for the Tigase XMPP Server
- Tigase Monitor Console - Stand-alone application for the Tigase XMPP Server monitoring and management console.
- Atom DSL Syntax - Atom DSL syntex highlighter for Tigase XMPP Server configuration files.
- IntelliJ IDEA DSL Syntax - IntelliJ IDEA IDE DSL syntex highlighter for Tigase XMPP Server configuration files.
Tigase XMPP Clients:
- StorkIM Client - Android XMPP Client
- SiskinIM Client - iOS XMPP Client
- BeagleIM Client - MacOS XMPP Client
- Swift Library - Tigase Swift XMPP Library
- Swift OMEMO Plugin - OMEMO support for Tigase Swift XMPP library
Tigase based IoT:
- Tigase IoT Framework - Easy to use IoT framework to communicate and control Iot devices over XMPP
- Tigase IoT Framework - Examples - Examples on how to extend the Tigase IoT Framework with support for different devices
- Tigase RPi Library - Java low-level library to control sensors and devices connected to RasperryPi.
Features
Tigase XMPP Server contains full support for RFC 6120 - XMPP CORE, RFC 6121 - XMPP IM and RFC 7395 - XMPP over WebSockets making it accessible using XMPP client connections:
- over TCP
- over HTTP/HTTPS (BOSH)
- over WebSockets
and over server-to-server connections as well as over XMPP component connections.
Additionally Tigase XMPP Server provides HTTP API for integration with other services unable to communicate over XMPP.
Moveover, Tigase XMPP Server comes with support for Push Notifications making it possible to push notification to mobile devices.
Following features are supported by Tigase XMPP Server:
- XEP-0016: Flexible Offline Message Retrieval
- XEP-0030: Service Discovery
- XEP-0045: Multi User Chat
- XEP-0060: Publish-Subscribe
- XEP-0079: Advanced Message Processing
- XEP-0114: Jabber Component Protocol
- XEP-0115: Entity Capabilities
- XEP-0133: Service Administration
- XEP-0136: Message Archiving
- XEP-0163: Personal Eventing Protocol
- XEP-0198: Stream Management
- XEP-0199: XMPP Ping
- XEP-0206: XMPP over BOSH
- XEP-0225: Component Connections
- XEP-0237: Roster Versioning
- XEP-0280: Message Carbons
- XEP-0313: Message Archive Management
- XEP-0357: Push Notifications
- XEP-0363: HTTP File Upload
- and many more...
Support
When looking for support, please first search for answers to your question in the available online channels:
- Our online documentation: Tigase Docs
- Existing issues in relevant project, for Tigase Server it's: Tigase XMPP Server GitHub issues
If you didn't find an answer in the resources above, feel free to submit your question as new issue on GitHub or, if you have valid support subscription, open new support ticket.
Downloads
You can download distribution version of the Tigase XMPP Server directly from here.
If you wish to downloand SNAPSHOT build of the development version of Tigase XMPP Server you can grab it from here.
Installation and usage
Documentation of the project is part of the Tigase XMPP Server distribution package. Quickstart guide is also available here.
Compilation
Compilation of the project is very easy as it is typical Maven project. All you need to do is to execute
mvn package test
to compile the project and run unit tests.
License
Official Tigase repository is available at: https://github.com/tigase/tigase-server/.
Copyright (c) 2004 Tigase, Inc.
Licensed under AGPL License Version 3. Other licensing options available upon request.