Merge pull request #17 from surevine/clustering-support

Add clustering support
pull/24/head
Dan Caseley 2020-11-18 21:18:14 +00:00 committed by GitHub
commit d580a8dcb8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
51 changed files with 2123 additions and 41 deletions

109
README.md
View File

@ -1,11 +1,26 @@
# Multiple Openfires in Docker
This sets up multiple Openfire servers with associated PostgreSQL DBs in Docker containers for local testing.
Quickly create multiple Openfire servers with associated PostgreSQL DBs in Docker containers for local testing.
It relies on an official Postgres Docker image (from Docker Hub) and a local Openfire image, these are referred to in `docker-compose.yml`. The Openfire Docker image can be built using the `Dockerfile` in the root of the Openfire repository (https://github.com/igniterealtime/Openfire):
Data and config snapshots have been taken of each DB and Openfire server so that a known desired state is configured on start.
See the "How it's built" section below if you want to understand how this was done or need to add more nodes.
docker build -t openfire:fmuc .
# Prerequisites
* Docker - https://docs.docker.com/engine/install/
* Docker Compose - https://docs.docker.com/compose/install/
Running `./start.sh` will perform some cleanup then start the containers. When running, the system looks like this:
docker build -t openfire:latest .
# Quick Start
1. Make sure you have docker and docker-compose installed
2. Create a local Openfire docker image, tagged `openfire:latest` that contains the version of Openfire that you want to run
1. run `docker build -tag openfire:latest .` in the root of the Openfire repository (https://github.com/igniterealtime/Openfire)
3. Launch the environment
1. use `./start.sh` if you want two **federated** Openfire instances, or
2. use `./start.sh -c` if you want two **clustered** Openfire instances.
# Federated configuration
Running `./start.sh` will perform some cleanup then start the containers in a federated configuration.
When running, the system looks like this:
```
+---------------------------------------------+
@ -19,7 +34,7 @@ Running `./start.sh` will perform some cleanup then start the containers. When r
| | | |
| +---+--+ +--+---+ |
| | | | | |
| | DB 1 | | DB 2 | |
(Database) 5431 -|-------| DB 1 | | DB 2 |-------|- 5432 (Database)
| | | | | |
| +------+ +------+ |
| 172.50.0.11 172.50.0.21 |
@ -27,10 +42,6 @@ Running `./start.sh` will perform some cleanup then start the containers. When r
+----------------172.50.0.0/24----------------+
```
## Default setup
Data and config snapshots have been taken of each DB and Openfire so that a known desired state is configured on start.
See the "How it's built" section below if you want to understand how this was done or need to add more nodes.
Openfire is configured with the following hostnames/XMPP domain names:
* `xmpp1.localhost.example`
* `xmpp2.localhost.example`
@ -51,36 +62,80 @@ XMPP 2 hosts the following MUC rooms:
* `muc3`
* `muc4`
## Network
The Docker compose file defines a custom bridge network with a single subnet `172.50.0.0/24`.
### Removing a node from the network
# Clustered configuration
Running `./start.sh -c` will perform some cleanup then start the containers in a clustered configuration.
When running, the system looks like this:
```
+---------------------------------------------+
| 172.60.0.10 172.60.0.20 |
| +--------+ +--------+ |
(XMPP-C2S) 5221 -| | | | | |- 5222 (XMPP-C2S)
(XMPP-S2S) 5261 -|------| XMPP 1 +============+ XMPP 2 |-------|- 5262 (XMPP-S2S)
(HTTP-Admin) 9091 -| | | | | |- 9092 (HTTP-Admin)
| +----+---+ +----+---+ |
| | | |
| | | |
| +---+--+ | |
| | | | |
(Database) 5432 -|-------| DB +------------------+ |
| | | |
| +------+ |
| 172.60.0.11 |
| |
+----------------172.60.0.0/24----------------+
```
Note that there is no load balancer configured in the setup.
Openfire is configured with the following XMPP domain:
* `xmpp.localhost.example`
Openfire is configured with the following hostnames:
* `xmpp1.localhost.example`
* `xmpp2.localhost.example`
The following users are configured:
* `user1` `password`
* `user2` `password`
The following MUC rooms are configured:
* `muc1`
* `muc2`
# Network
The Docker compose file defines a custom bridge network with a single subnet (`172.50.0.0/24` for the federated
configuration and `172.60.0.0/24` for the clustered).
## Removing a node from the network
To remove a node from the network run the following command:
docker network disconnect NETWORK-NAME CONTAINER-NAME
For example:
docker network disconnect openfire-testing_net-one openfire-testing_xmpp1_1
### Adding a node to the network
docker network disconnect openfire-testing_openfire-federated-net openfire-testing_xmpp1_1
## Adding a node to the network
To add a node to the network fun the following command:
docker network connect NETWORK-NAME CONTAINER-NAME
For example:
docker network connect openfire-testing_net-one openfire-testing_xmpp1_1
docker network connect openfire-testing_openfire-federated-net openfire-testing_xmpp1_1
## How it's built
# How it's built
To recreate the known good state for the system we first create base Openfire and Postgres containers.
We then perform the manual setup and any other configuration that we require, such as adding users and MUC rooms.
Once the setup is complete we dump the database from the container to the Docker host and copy the Openfire config
files from the container to the Docker host. These are then used with Docker volumes for creating the same state in
subsequent Openfire and Postgres containers.
### Adding a new node
## Adding a new node
Configure a docker-compose file to stand up:
1. a base Openfire container (named `xmpp3`)
1. a base Postgres Docker container (named `db3`)
@ -111,22 +166,22 @@ db3:
- "POSTGRES_USER=openfire"
- "POSTGRES_PASSWORD=hunter2"
networks:
net-one:
openfire-federated-net:
ipv4_address: 172.50.0.31
xmpp3:
image: openfire:fmuc
image: openfire:latest
ports:
- "5223:5222"
- "9093:9090"
depends_on:
- "db3"
networks:
net-one:
openfire-federated-net:
ipv4_address: 172.50.0.30
networks:
net-one:
openfire-federated-net:
driver: bridge
ipam:
driver: default
@ -154,7 +209,7 @@ Export the Openfire configuration:
docker cp openfire-testing_xmpp3_1:/var/lib/openfire/conf ./xmpp/3/
Add the new node to the main `docker-compose.yml` including the volume definitions to pull in your exported base
Add the new node to the main `docker-compose-federated.yml` including the volume definitions to pull in your exported base
configuration data:
```
@ -169,11 +224,11 @@ db3:
volumes:
- ./sql/3:/docker-entrypoint-initdb.d
networks:
net-one:
openfire-federated-net:
ipv4_address: 172.50.0.31
xmpp3:
image: openfire:fmuc
image: openfire:latest
ports:
- "5223:5222"
- "9093:9090"
@ -182,9 +237,9 @@ xmpp3:
volumes:
- ./_data/xmpp/3/conf:/var/lib/openfire/conf
networks:
net-one:
openfire-federated-net:
ipv4_address: 172.50.0.30
...
```
```

View File

@ -0,0 +1,73 @@
version: '3.7'
services:
db:
image: library/postgres:9.6.17-alpine
ports:
- "5432:5432"
environment:
- "POSTGRES_DB=openfire"
- "POSTGRES_USER=openfire"
- "POSTGRES_PASSWORD=hunter2"
volumes:
- ./sql/clustered/1:/docker-entrypoint-initdb.d
networks:
openfire-clustered-net:
ipv4_address: 172.60.0.11
xmpp1:
image: openfire:latest
ports:
- "5221:5222"
- "5261:5269"
- "7071:7070"
- "7441:7443"
- "9091:9090"
depends_on:
- "db"
volumes:
- ./_data/xmpp/clustered/1/conf:/var/lib/openfire/conf
- ./_data/xmpp/clustered/1/plugins/hazelcast.jar:/var/lib/openfire/plugins/hazelcast.jar
- ./wait-for-it.sh:/wait-for-it.sh
command: ["/wait-for-it.sh", "db:5432", "--", "/sbin/entrypoint.sh"]
networks:
openfire-clustered-net:
ipv4_address: 172.60.0.10
extra_hosts:
- "xmpp1.localhost.example:172.50.0.10"
- "conference.xmpp1.localhost.example:172.50.0.10"
- "xmpp2.localhost.example:172.50.0.20"
- "conference.xmpp2.localhost.example:172.50.0.20"
xmpp2:
image: openfire:latest
ports:
- "5222:5222"
- "5262:5269"
- "7072:7070"
- "7442:7443"
- "9092:9090"
depends_on:
- "db"
volumes:
- ./_data/xmpp/clustered/2/conf:/var/lib/openfire/conf
- ./_data/xmpp/clustered/2/plugins/hazelcast.jar:/var/lib/openfire/plugins/hazelcast.jar
- ./wait-for-it.sh:/wait-for-it.sh
command: ["/wait-for-it.sh", "db:5432", "--", "/sbin/entrypoint.sh"]
networks:
openfire-clustered-net:
ipv4_address: 172.60.0.20
extra_hosts:
- "xmpp1.localhost.example:172.50.0.10"
- "conference.xmpp1.localhost.example:172.50.0.10"
- "xmpp2.localhost.example:172.50.0.20"
- "conference.xmpp2.localhost.example:172.50.0.20"
networks:
openfire-clustered-net:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.60.0.0/24

View File

@ -4,30 +4,34 @@ services:
db1:
image: library/postgres:9.6.17-alpine
ports:
- "5431:5432"
environment:
- "POSTGRES_DB=openfire"
- "POSTGRES_USER=openfire"
- "POSTGRES_PASSWORD=hunter2"
volumes:
- ./sql/1:/docker-entrypoint-initdb.d
- ./sql/federated/1:/docker-entrypoint-initdb.d
networks:
net-one:
openfire-federated-net:
ipv4_address: 172.50.0.11
db2:
image: library/postgres:9.6.17-alpine
ports:
- "5432:5432"
environment:
- "POSTGRES_DB=openfire"
- "POSTGRES_USER=openfire"
- "POSTGRES_PASSWORD=hunter2"
volumes:
- ./sql/2:/docker-entrypoint-initdb.d
- ./sql/federated/2:/docker-entrypoint-initdb.d
networks:
net-one:
openfire-federated-net:
ipv4_address: 172.50.0.21
xmpp1:
image: openfire:fmuc
image: openfire:latest
ports:
- "5221:5222"
- "5261:5269"
@ -37,11 +41,11 @@ services:
depends_on:
- "db1"
volumes:
- ./_data/xmpp/1/conf:/var/lib/openfire/conf
- ./_data/xmpp/federated/1/conf:/var/lib/openfire/conf
- ./wait-for-it.sh:/wait-for-it.sh
command: ["/wait-for-it.sh", "db1:5432", "--", "/sbin/entrypoint.sh"]
networks:
net-one:
openfire-federated-net:
ipv4_address: 172.50.0.10
extra_hosts:
- "xmpp1.localhost.example:172.50.0.10"
@ -50,7 +54,7 @@ services:
- "conference.xmpp2.localhost.example:172.50.0.20"
xmpp2:
image: openfire:fmuc
image: openfire:latest
ports:
- "5222:5222"
- "5262:5269"
@ -60,11 +64,11 @@ services:
depends_on:
- "db2"
volumes:
- ./_data/xmpp/2/conf:/var/lib/openfire/conf
- ./_data/xmpp/federated/2/conf:/var/lib/openfire/conf
- ./wait-for-it.sh:/wait-for-it.sh
command: ["/wait-for-it.sh", "db2:5432", "--", "/sbin/entrypoint.sh"]
networks:
net-one:
openfire-federated-net:
ipv4_address: 172.50.0.20
extra_hosts:
- "xmpp1.localhost.example:172.50.0.10"
@ -73,7 +77,7 @@ services:
- "conference.xmpp2.localhost.example:172.50.0.20"
networks:
net-one:
openfire-federated-net:
driver: bridge
ipam:
driver: default

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,20 @@
#!/bin/sh
docker-compose down
docker-compose pull
COMPOSE_FILE=docker-compose-federated.yml
if [ "$1" = "-c" ]; then
echo "Starting a clustered environment."
COMPOSE_FILE=docker-compose-clustered.yml
else
echo "Starting a federated environment (use -c to start a clustered environment instead)."
fi
docker-compose -f $COMPOSE_FILE down
docker-compose -f $COMPOSE_FILE pull
# Clean up temporary persistence data
rm -rf _data
mkdir _data
cp -r xmpp _data/
docker-compose up
docker-compose -f $COMPOSE_FILE up

View File

@ -0,0 +1,55 @@
<available>
<plugin name="Bookmarks" latest="1.0.3" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.3/bookmarks/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.3/bookmarks.jar" author="Ignite Realtime" description="Allows clients to store URL and group chat bookmarks (XEP-0048)" icon="https://igniterealtime.org/projects/openfire/plugins/1.0.3/bookmarks/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.3/bookmarks/readme.html" fileSize="64208"/>
<plugin name="External Service Discovery" latest="1.0.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.1/externalservicediscovery/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.1/externalservicediscovery.jar" author="Guus der Kinderen" description="Allows XMPP entities to discover services external to the XMPP network, such as STUN and TURN servers." icon="https://igniterealtime.org/projects/openfire/plugins/1.0.1/externalservicediscovery/logo_small.png" minServerVersion="4.2.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.1/externalservicediscovery/readme.html" fileSize="95337"/>
<plugin name="MUC Service Discovery Extensions" latest="1.0.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.0/mucextinfo/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.0/mucextinfo.jar" author="Guus der Kinderen" description="Allows an admin to configure Extended Service Discovery information to Multi User Chat entities." minServerVersion="4.5.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.0/mucextinfo/readme.html" fileSize="52992"/>
<plugin name="SIP Phone Plugin" latest="1.2.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.1/sip/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.1/sip.jar" author="Ignite Realtime" description="Provides support for SIP account management" icon="https://igniterealtime.org/projects/openfire/plugins/1.2.1/sip/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.1/sip/readme.html" fileSize="1159950"/>
<plugin name="Fastpath Service" latest="4.4.5" changelog="https://igniterealtime.org/projects/openfire/plugins/4.4.5/fastpath/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/4.4.5/fastpath.jar" author="Jive Software" description="Support for managed queued chat requests, such as a support team might use." icon="https://igniterealtime.org/projects/openfire/plugins/4.4.5/fastpath/logo_small.gif" minServerVersion="4.1.1" readme="https://igniterealtime.org/projects/openfire/plugins/4.4.5/fastpath/readme.html" fileSize="1698700"/>
<plugin name="TikiToken" latest="0.2.0" changelog="https://igniterealtime.org/projects/openfire/plugins/0.2.0/tikitoken/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.2.0/tikitoken.jar" author="Tiki Wiki CMS Groupware" description="Allows users to authenticate with a Tiki token." icon="https://igniterealtime.org/projects/openfire/plugins/0.2.0/tikitoken/logo_small.png" minServerVersion="4.1.3" readme="https://igniterealtime.org/projects/openfire/plugins/0.2.0/tikitoken/readme.html" licenseType="gpl" fileSize="358495"/>
<plugin name="HTTP File Upload" latest="1.1.3" changelog="https://igniterealtime.org/projects/openfire/plugins/1.1.3/httpfileupload/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.1.3/httpfileupload.jar" author="Guus der Kinderen" description="Allows clients to share files, as described in the XEP-0363 'HTTP File Upload' specification." icon="https://igniterealtime.org/projects/openfire/plugins/1.1.3/httpfileupload/logo_small.png" minServerVersion="4.1.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.1.3/httpfileupload/readme.html" fileSize="5584886"/>
<plugin name="Hazelcast Plugin" latest="2.5.0" changelog="https://igniterealtime.org/projects/openfire/plugins/2.5.0/hazelcast/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.5.0/hazelcast.jar" author="Ignite Realtime" description="Adds clustering support" icon="https://igniterealtime.org/projects/openfire/plugins/2.5.0/hazelcast/logo_small.png" minServerVersion="4.5.0" readme="https://igniterealtime.org/projects/openfire/plugins/2.5.0/hazelcast/readme.html" fileSize="10399796"/>
<plugin name="Draw-IO" latest="0.0.1" changelog="https://igniterealtime.org/projects/openfire/plugins/0.0.1/draw/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.0.1/draw.jar" author="Ignite Realtime" description="Web Diagramming Tool that uses SVG and HTML for rendering" icon="https://igniterealtime.org/projects/openfire/plugins/0.0.1/draw/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/0.0.1/draw/readme.html" licenseType="Apache 2.0" fileSize="40136123"/>
<plugin name="IPFS" latest="0.0.1" changelog="https://igniterealtime.org/projects/openfire/plugins/0.0.1/ipfs/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.0.1/ipfs.jar" author="igniterealtime.org" description="Enables Openfire to become an IPFS node." icon="https://igniterealtime.org/projects/openfire/plugins/0.0.1/ipfs/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/0.0.1/ipfs/readme.html" licenseType="Apache 2.0" fileSize="31727587"/>
<plugin name="Registration" latest="1.7.2" changelog="https://igniterealtime.org/projects/openfire/plugins/1.7.2/registration/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.7.2/registration.jar" author="Ryan Graham" description="Performs various actions whenever a new user account is created." icon="https://igniterealtime.org/projects/openfire/plugins/1.7.2/registration/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.7.2/registration/readme.html" fileSize="55992"/>
<plugin name="Search" latest="1.7.3" changelog="https://igniterealtime.org/projects/openfire/plugins/1.7.3/search/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.7.3/search.jar" author="Ryan Graham" description="Provides support for Jabber Search (XEP-0055)" icon="https://igniterealtime.org/projects/openfire/plugins/1.7.3/search/logo_small.gif" minServerVersion="4.1.1" readme="https://igniterealtime.org/projects/openfire/plugins/1.7.3/search/readme.html" fileSize="71795"/>
<plugin name="Client Control" latest="2.1.5" changelog="https://igniterealtime.org/projects/openfire/plugins/2.1.5/clientControl/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.1.5/clientControl.jar" author="Jive Software" description="Controls clients allowed to connect and available features" icon="https://igniterealtime.org/projects/openfire/plugins/2.1.5/clientControl/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/2.1.5/clientControl/readme.html" fileSize="346837"/>
<plugin name="Candy" latest="2.2.0 Release 2" changelog="https://igniterealtime.org/projects/openfire/plugins/2.2.0-Release-2/candy/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.2.0-Release-2/candy.jar" author="Guus der Kinderen" description="Adds the (third-party) Candy web client to Openfire." icon="https://igniterealtime.org/projects/openfire/plugins/2.2.0-Release-2/candy/logo_small.png" minServerVersion="4.1.5" readme="https://igniterealtime.org/projects/openfire/plugins/2.2.0-Release-2/candy/readme.html" fileSize="577491"/>
<plugin name="Presence Service" latest="1.7.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.7.0/presence/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.7.0/presence.jar" author="Jive Software" description="Exposes presence information through HTTP." icon="https://igniterealtime.org/projects/openfire/plugins/1.7.0/presence/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.7.0/presence/readme.html" fileSize="29076"/>
<plugin name="Subscription" latest="1.4.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.4.1/subscription/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.4.1/subscription.jar" author="Ryan Graham" description="Automatically accepts or rejects subscription requests" icon="https://igniterealtime.org/projects/openfire/plugins/1.4.1/subscription/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.4.1/subscription/readme.html" fileSize="20989"/>
<plugin name="inVerse" latest="6.0.1 Release 1" changelog="https://igniterealtime.org/projects/openfire/plugins/6.0.1.1/inverse/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/6.0.1.1/inverse.jar" author="Guus der Kinderen" description="Adds the (third-party, Converse-based) inVerse web client to Openfire." icon="https://igniterealtime.org/projects/openfire/plugins/6.0.1.1/inverse/logo_small.png" minServerVersion="4.1.5" readme="https://igniterealtime.org/projects/openfire/plugins/6.0.1.1/inverse/readme.html" fileSize="5140645"/>
<plugin name="Push Notification" latest="0.7.0" changelog="https://igniterealtime.org/projects/openfire/plugins/0.7.0/pushnotification/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.7.0/pushnotification.jar" author="Guus der Kinderen" description="Adds Push Notification (XEP-0357) support to Openfire." icon="https://igniterealtime.org/projects/openfire/plugins/0.7.0/pushnotification/logo_small.png" readme="https://igniterealtime.org/projects/openfire/plugins/0.7.0/pushnotification/readme.html" fileSize="24257"/>
<plugin name="Email on Away" latest="1.0.3" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.3/emailOnAway/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.3/emailOnAway.jar" author="Nick Mossie" description="Messages sent to alternate location when recipient is away" minServerVersion="2.3.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.3/emailOnAway/readme.html" fileSize="5923"/>
<plugin name="Certificate Manager" latest="1.1.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.1.0/certificatemanager/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.1.0/certificatemanager.jar" author="Guus der Kinderen" description="Adds certificate management features." icon="https://igniterealtime.org/projects/openfire/plugins/1.1.0/certificatemanager/logo_small.png" minServerVersion="4.3.0 Alpha" readme="https://igniterealtime.org/projects/openfire/plugins/1.1.0/certificatemanager/readme.html" fileSize="47750"/>
<plugin name="Random Avatar Generator Plugin" latest="1.0.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.0/randomavatar/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.0/randomavatar.jar" author="Guus der Kinderen" description="Generates semi-random avatar images." icon="https://igniterealtime.org/projects/openfire/plugins/1.0.0/randomavatar/logo_small.gif" minServerVersion="4.1.5" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.0/randomavatar/readme.html" fileSize="423022"/>
<plugin name="JmxWeb Plugin" latest="0.0.7" changelog="https://igniterealtime.org/projects/openfire/plugins/0.0.7/jmxweb/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.0.7/jmxweb.jar" author="igniterealtime.org" description="JmxWeb plugin is web based platform for managing and monitoring openfire via JMX." minServerVersion="4.1.5" readme="https://igniterealtime.org/projects/openfire/plugins/0.0.7/jmxweb/readme.html" licenseType="Apache 2.0" fileSize="9659320"/>
<plugin name="MUC Service" latest="0.2.3" changelog="https://igniterealtime.org/projects/openfire/plugins/0.2.3/mucservice/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.2.3/mucservice.jar" author="Roman Soldatow" description="MUC administration over REST Interface" icon="https://igniterealtime.org/projects/openfire/plugins/0.2.3/mucservice/logo_small.gif" minServerVersion="3.9.1" readme="https://igniterealtime.org/projects/openfire/plugins/0.2.3/mucservice/readme.html" fileSize="2568312"/>
<plugin name="User Status Plugin" latest="1.2.2" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.2/userstatus/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.2/userstatus.jar" author="Stefan Reuter" description="Openfire plugin to save the user status to the database." icon="https://igniterealtime.org/projects/openfire/plugins/1.2.2/userstatus/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.2/userstatus/readme.html" licenseType="gpl" fileSize="28372"/>
<plugin name="GoJara" latest="2.2.1" changelog="https://igniterealtime.org/projects/openfire/plugins/2.2.1/gojara/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.2.1/gojara.jar" author="Holger Bergunde / Daniel Henninger / Axel-F. Brand" description="XEP-0321: Remote Roster Management support" icon="https://igniterealtime.org/projects/openfire/plugins/2.2.1/gojara/logo_small.png" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/2.2.1/gojara/readme.html" fileSize="319125"/>
<plugin name="Spam blacklist" latest="1.0.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.0/blacklistspam/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.0/blacklistspam.jar" author="Ignite Realtime" description="Uses an external blacklist to reject traffic from specific addresses." icon="https://igniterealtime.org/projects/openfire/plugins/1.0.0/blacklistspam/logo_small.png" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.0/blacklistspam/readme.html" fileSize="15946"/>
<plugin name="User Service" latest="2.1.2" changelog="https://igniterealtime.org/projects/openfire/plugins/2.1.2/userservice/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.1.2/userservice.jar" author="Roman Soldatow, Justin Hunt" description="(Deprecated) Please use the REST API Plugin. Allows administration of users via HTTP requests." icon="https://igniterealtime.org/projects/openfire/plugins/2.1.2/userservice/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/2.1.2/userservice/readme.html" fileSize="2414018"/>
<plugin name="Openfire Meetings" latest="0.9.5" changelog="https://igniterealtime.org/projects/openfire/plugins/0.9.5/ofmeet/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.9.5/ofmeet.jar" author="Ignite Realtime" description="Provides high quality, scalable video conferences." icon="https://igniterealtime.org/projects/openfire/plugins/0.9.5/ofmeet/logo_small.gif" minServerVersion="4.3.2" readme="https://igniterealtime.org/projects/openfire/plugins/0.9.5/ofmeet/readme.html" fileSize="113148396"/>
<plugin name="Packet Filter" latest="3.3.1" changelog="https://igniterealtime.org/projects/openfire/plugins/3.3.1/packetFilter/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/3.3.1/packetFilter.jar" author="Nate Putnam" description="Rules to enforce ethical communication" icon="https://igniterealtime.org/projects/openfire/plugins/3.3.1/packetFilter/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/3.3.1/packetFilter/readme.html" fileSize="106311"/>
<plugin name="User Creation" latest="1.4.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.4.0/userCreation/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.4.0/userCreation.jar" author="Jive Software" description="Creates users and populates rosters." minServerVersion="4.3.0" fileSize="1643940"/>
<plugin name="Openfire WebSocket" latest="1.2.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.1/websocket/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.1/websocket.jar" author="Tom Evans" description="Provides WebSocket support for Openfire." icon="https://igniterealtime.org/projects/openfire/plugins/1.2.1/websocket/logo_small.gif" minServerVersion="4.1.5" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.1/websocket/readme.html" fileSize="122092"/>
<plugin name="Email Listener" latest="1.2.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.1/emailListener/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.1/emailListener.jar" author="Jive Software" description="Listens for emails and sends alerts to specific users." icon="https://igniterealtime.org/projects/openfire/plugins/1.2.1/emailListener/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.1/emailListener/readme.html" fileSize="21292"/>
<plugin name="Openfire Focus Provider" latest="0.9.4" changelog="https://igniterealtime.org/projects/openfire/plugins/0.9.4/offocus/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.9.4/offocus.jar" author="Ignite Realtime" description="Instantiates a Jitsi Focus manager." icon="https://igniterealtime.org/projects/openfire/plugins/0.9.4/offocus/logo_small.gif" minServerVersion="4.1.5" readme="https://igniterealtime.org/projects/openfire/plugins/0.9.4/offocus/readme.html" fileSize="27570117"/>
<plugin name="Thread Dump" latest="1.0.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.0/threaddump/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.0/threaddump.jar" author="Ignite Realtime" description="A plugin that can be used to generate diagnostics." icon="https://igniterealtime.org/projects/openfire/plugins/1.0.0/threaddump/logo_small.png" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.0/threaddump/readme.html" fileSize="44861"/>
<plugin name="Avatar Resizer" latest="1.0.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.1/avatarResizer/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.1/avatarResizer.jar" author="Guus der Kinderen" description="Ensures vCard-based avatars are not to large for comfort." icon="https://igniterealtime.org/projects/openfire/plugins/1.0.1/avatarResizer/logo_small.gif" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.1/avatarResizer/readme.html" fileSize="10624"/>
<plugin name="Load Statistic" latest="1.2.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.0/loadStats/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.0/loadStats.jar" author="Jive Software" description="Logs load statistics to a file" icon="https://igniterealtime.org/projects/openfire/plugins/1.2.0/loadStats/logo_small.gif" minServerVersion="3.9.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.0/loadStats/readme.html" fileSize="8474"/>
<plugin name="STUN server plugin" latest="1.2.2" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.2/stunserver/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.2/stunserver.jar" author="Ignite Realtime" description="Adds STUN functionality to Openfire" icon="https://igniterealtime.org/projects/openfire/plugins/1.2.2/stunserver/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.2/stunserver/readme.html" fileSize="101310"/>
<plugin name="Content Filter" latest="1.8.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.8.1/contentFilter/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.8.1/contentFilter.jar" author="Conor Hayes" description="Scans message packets for defined patterns" icon="https://igniterealtime.org/projects/openfire/plugins/1.8.1/contentFilter/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.8.1/contentFilter/readme.html" fileSize="73660"/>
<plugin name="REST API" latest="1.4.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.4.0/restAPI/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.4.0/restAPI.jar" author="Roman Soldatow" description="Allows administration over a RESTful API." icon="https://igniterealtime.org/projects/openfire/plugins/1.4.0/restAPI/logo_small.gif" minServerVersion="4.1.1" readme="https://igniterealtime.org/projects/openfire/plugins/1.4.0/restAPI/readme.html" fileSize="3507617"/>
<plugin name="Broadcast" latest="1.9.2" changelog="https://igniterealtime.org/projects/openfire/plugins/1.9.2/broadcast/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.9.2/broadcast.jar" author="Ignite Realtime" description="The broadcast plugin broadcasts messages to all users in the system or to specific groups" icon="https://igniterealtime.org/projects/openfire/plugins/1.9.2/broadcast/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.9.2/broadcast/readme.html" fileSize="15163"/>
<plugin name="JSXC" latest="4.1.1 Release 1" changelog="https://igniterealtime.org/projects/openfire/plugins/4.1.1.1/jsxc/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/4.1.1.1/jsxc.jar" author="Guus der Kinderen" description="Adds the (third-party) JSXC web client to Openfire." icon="https://igniterealtime.org/projects/openfire/plugins/4.1.1.1/jsxc/logo_small.png" minServerVersion="4.4.0" readme="https://igniterealtime.org/projects/openfire/plugins/4.1.1.1/jsxc/readme.html" fileSize="2728149"/>
<plugin name="Non-SASL Authentication" latest="1.0.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.0/nonSaslAuthentication/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.0/nonSaslAuthentication.jar" author="Guus der Kinderen" description="This plugin implements a the (obsolete!) XEP-0078 specification for authentication using the jabber:iq:auth namespace." minServerVersion="4.1.0 Alpha" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.0/nonSaslAuthentication/readme.html" fileSize="10803"/>
<plugin name="MotD (Message of the Day)" latest="1.2.2" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.2/motd/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.2/motd.jar" author="Ryan Graham" description="Allows admins to have a message sent to users each time they log in." icon="https://igniterealtime.org/projects/openfire/plugins/1.2.2/motd/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.2/motd/readme.html" fileSize="31207"/>
<plugin name="CallbackOnOffline" latest="1.2.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.1/callbackOnOffline/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.1/callbackOnOffline.jar" author="Pavel Goski / Krzysztof Misztal" description="Url is called when recipient is offline" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.1/callbackOnOffline/readme.html" fileSize="4322732"/>
<plugin name="Rdp" latest="0.0.1" changelog="https://igniterealtime.org/projects/openfire/plugins/0.0.1/rdp/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.0.1/rdp.jar" author="igniterealtime.org" description="RDP Gateway for Remote Desktop Control Changelog" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/0.0.1/rdp/readme.html" licenseType="Apache 2.0" fileSize="27297204"/>
<plugin name="XML Debugger Plugin" latest="1.7.3" changelog="https://igniterealtime.org/projects/openfire/plugins/1.7.3/xmldebugger/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.7.3/xmldebugger.jar" author="Ignite Realtime" description="Prints XML traffic to the stdout (raw and interpreted XML)" minServerVersion="4.5.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.7.3/xmldebugger/readme.html" fileSize="25481"/>
<plugin name="DB Access" latest="1.2.2" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.2/dbaccess/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.2/dbaccess.jar" author="Daniel Henninger" description="Provides administrators with a simple direct access interface to their Openfire DB." icon="https://igniterealtime.org/projects/openfire/plugins/1.2.2/dbaccess/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.2/dbaccess/readme.html" fileSize="11336"/>
<plugin name="User Import Export" latest="2.7.0" changelog="https://igniterealtime.org/projects/openfire/plugins/2.7.0/userImportExport/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.7.0/userImportExport.jar" author="Ryan Graham" description="Enables import and export of user data" icon="https://igniterealtime.org/projects/openfire/plugins/2.7.0/userImportExport/logo_small.gif" minServerVersion="4.3.0" readme="https://igniterealtime.org/projects/openfire/plugins/2.7.0/userImportExport/readme.html" fileSize="842649"/>
<plugin name="Just married" latest="1.2.4" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.4/justmarried/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.4/justmarried.jar" author="Holger Bergunde" description="Allows admins to rename or copy users" icon="https://igniterealtime.org/projects/openfire/plugins/1.2.4/justmarried/logo_small.png" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.4/justmarried/readme.html" fileSize="39579"/>
<plugin name="NodeJs" latest="0.1.0" changelog="https://igniterealtime.org/projects/openfire/plugins/0.1.0/nodejs/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.1.0/nodejs.jar" author="igniterealtime.org" description="Integrates NodeJs Applications with Openfire." icon="https://igniterealtime.org/projects/openfire/plugins/0.1.0/nodejs/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/0.1.0/nodejs/readme.html" licenseType="Apache 2.0" fileSize="15635100"/>
<plugin name="Monitoring Service" latest="2.1.0" changelog="https://igniterealtime.org/projects/openfire/plugins/2.1.0/monitoring/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.1.0/monitoring.jar" author="IgniteRealtime // Jive Software" description="Monitors conversations and statistics of the server." icon="https://igniterealtime.org/projects/openfire/plugins/2.1.0/monitoring/logo_small.gif" minServerVersion="4.4.0" readme="https://igniterealtime.org/projects/openfire/plugins/2.1.0/monitoring/readme.html" fileSize="15382853"/>
<plugin name="Jingle Nodes Plugin" latest="0.2.0" changelog="https://igniterealtime.org/projects/openfire/plugins/0.2.0/jingleNodes/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.2.0/jingleNodes.jar" author="Jingle Nodes (Rodrigo Martins)" description="Provides support for Jingle Nodes" icon="https://igniterealtime.org/projects/openfire/plugins/0.2.0/jingleNodes/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/0.2.0/jingleNodes/readme.html" fileSize="1038541"/>
</available>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<hazelcast xmlns="http://www.hazelcast.com/schema/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.hazelcast.com/schema/config
http://www.hazelcast.com/schema/config/hazelcast-config-3.12.xsd">
<group>
<name>openfire</name>
<password>openfire</password>
</group>
<network>
<port auto-increment="true" port-count="100">5701</port>
<outbound-ports>
<ports>0</ports>
</outbound-ports>
<!-- The following enables multicast discovery of cluster members
See http://docs.hazelcast.org/docs/3.12/manual/html-single/index.html#discovering-members-by-multicast
-->
<join>
<multicast enabled="true">
<multicast-group>224.2.2.3</multicast-group>
<multicast-port>54327</multicast-port>
</multicast>
<tcp-ip enabled="false"/>
</join>
<!-- The following enables TCP/IP based discovery of cluster members
See http://docs.hazelcast.org/docs/3.12/manual/html-single/index.html#discovering-members-by-tcp
-->
<!--
<join>
<multicast enabled="false"/>
<tcp-ip enabled="true">
<member>10.10.1.1:5701</member>
<member>10.10.1.2:5701</member>
</tcp-ip>
</join>
-->
<interfaces enabled="false">
<interface>10.10.1.*</interface>
</interfaces>
<ssl enabled="false"/>
<socket-interceptor enabled="false"/>
<symmetric-encryption enabled="false">
<!--
encryption algorithm such as
DES/ECB/PKCS5Padding,
PBEWithMD5AndDES,
AES/CBC/PKCS5Padding,
Blowfish,
DESede
-->
<algorithm>PBEWithMD5AndDES</algorithm>
<!-- salt value to use when generating the secret key -->
<salt>thesalt</salt>
<!-- pass phrase to use when generating the secret key -->
<password>thepass</password>
<!-- iteration count to use when generating the secret key -->
<iteration-count>19</iteration-count>
</symmetric-encryption>
</network>
</hazelcast>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<jive>
<adminConsole>
<port>9090</port>
<securePort>9091</securePort>
</adminConsole>
<connectionProvider>
<className>org.jivesoftware.database.EmbeddedConnectionProvider</className>
</connectionProvider>
<autosetup>
<run>true</run>
<locale>en</locale>
<xmpp>
<auth>
<anonymous>true</anonymous>
</auth>
<domain>example.org</domain>
<fqdn>example.org</fqdn>
</xmpp>
<database>
<mode>embedded</mode>
</database>
<admin>
<email>admin@example.com</email>
<password>admin</password>
</admin>
<users>
<user1>
<username>john</username>
<password>secret</password>
<name>John Doe</name>
<email>john.doe@example.com</email>
<roster>
<item1>
<jid>jane@example.org</jid>
<nickname>Jane</nickname>
</item1>
</roster>
</user1>
<user2>
<username>jane</username>
<password>secret</password>
<name>Jane Doe</name>
<email>jane.doe@example.com</email>
<roster>
<item1>
<jid>john@example.org</jid>
<nickname>John</nickname>
</item1>
</roster>
</user2>
</users>
</autosetup>
</jive>

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file stores bootstrap properties needed by Openfire.
Property names must be in the format: "prop.name.is.blah=value"
That will be stored as:
<prop>
<name>
<is>
<blah>value</blah>
</is>
</name>
</prop>
Most properties are stored in the Openfire database. A
property viewer and editor is included in the admin console.
-->
<!-- root element, all properties must be under this element -->
<jive>
<adminConsole>
<!-- Disable either port by setting the value to -1 -->
<port>9090</port>
<securePort>9091</securePort>
</adminConsole>
<locale>en</locale>
<!-- Network settings. By default, Openfire will bind to all network interfaces.
Alternatively, you can specify a specific network interfaces that the server
will listen on. For example, 127.0.0.1. This setting is generally only useful
on multi-homed servers. -->
<!--
<network>
<interface></interface>
</network>
-->
<!--
One time token to gain temporary access to the admin console.
-->
<!--
<oneTimeAccessToken>secretToken</oneTimeAccessToken>
-->
<connectionProvider>
<className>org.jivesoftware.database.DefaultConnectionProvider</className>
</connectionProvider>
<database>
<defaultProvider>
<driver>org.postgresql.Driver</driver>
<serverURL>jdbc:postgresql://db:5432/openfire</serverURL>
<username encrypted="true">10d847caed2654fbb1fe6cefac0f381893323ae6b5eea27d31503d5880091fca</username>
<password encrypted="true">30c1893796e0110fc4607c8b1bca0d0e54f10b270c4615d3</password>
<testSQL>select 1</testSQL>
<testBeforeUse>false</testBeforeUse>
<testAfterUse>false</testAfterUse>
<testTimeout>500</testTimeout>
<timeBetweenEvictionRuns>30000</timeBetweenEvictionRuns>
<minIdleTime>900000</minIdleTime>
<maxWaitTime>500</maxWaitTime>
<minConnections>5</minConnections>
<maxConnections>25</maxConnections>
<connectionTimeout>1.0</connectionTimeout>
</defaultProvider>
</database>
<setup>true</setup>
<fqdn>xmpp1.localhost.example</fqdn>
<clustering>
<enabled>true</enabled>
</clustering>
</jive>

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,55 @@
<available>
<plugin name="Bookmarks" latest="1.0.3" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.3/bookmarks/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.3/bookmarks.jar" author="Ignite Realtime" description="Allows clients to store URL and group chat bookmarks (XEP-0048)" icon="https://igniterealtime.org/projects/openfire/plugins/1.0.3/bookmarks/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.3/bookmarks/readme.html" fileSize="64208"/>
<plugin name="External Service Discovery" latest="1.0.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.1/externalservicediscovery/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.1/externalservicediscovery.jar" author="Guus der Kinderen" description="Allows XMPP entities to discover services external to the XMPP network, such as STUN and TURN servers." icon="https://igniterealtime.org/projects/openfire/plugins/1.0.1/externalservicediscovery/logo_small.png" minServerVersion="4.2.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.1/externalservicediscovery/readme.html" fileSize="95337"/>
<plugin name="MUC Service Discovery Extensions" latest="1.0.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.0/mucextinfo/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.0/mucextinfo.jar" author="Guus der Kinderen" description="Allows an admin to configure Extended Service Discovery information to Multi User Chat entities." minServerVersion="4.5.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.0/mucextinfo/readme.html" fileSize="52992"/>
<plugin name="SIP Phone Plugin" latest="1.2.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.1/sip/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.1/sip.jar" author="Ignite Realtime" description="Provides support for SIP account management" icon="https://igniterealtime.org/projects/openfire/plugins/1.2.1/sip/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.1/sip/readme.html" fileSize="1159950"/>
<plugin name="Fastpath Service" latest="4.4.5" changelog="https://igniterealtime.org/projects/openfire/plugins/4.4.5/fastpath/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/4.4.5/fastpath.jar" author="Jive Software" description="Support for managed queued chat requests, such as a support team might use." icon="https://igniterealtime.org/projects/openfire/plugins/4.4.5/fastpath/logo_small.gif" minServerVersion="4.1.1" readme="https://igniterealtime.org/projects/openfire/plugins/4.4.5/fastpath/readme.html" fileSize="1698700"/>
<plugin name="TikiToken" latest="0.2.0" changelog="https://igniterealtime.org/projects/openfire/plugins/0.2.0/tikitoken/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.2.0/tikitoken.jar" author="Tiki Wiki CMS Groupware" description="Allows users to authenticate with a Tiki token." icon="https://igniterealtime.org/projects/openfire/plugins/0.2.0/tikitoken/logo_small.png" minServerVersion="4.1.3" readme="https://igniterealtime.org/projects/openfire/plugins/0.2.0/tikitoken/readme.html" licenseType="gpl" fileSize="358495"/>
<plugin name="HTTP File Upload" latest="1.1.3" changelog="https://igniterealtime.org/projects/openfire/plugins/1.1.3/httpfileupload/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.1.3/httpfileupload.jar" author="Guus der Kinderen" description="Allows clients to share files, as described in the XEP-0363 'HTTP File Upload' specification." icon="https://igniterealtime.org/projects/openfire/plugins/1.1.3/httpfileupload/logo_small.png" minServerVersion="4.1.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.1.3/httpfileupload/readme.html" fileSize="5584886"/>
<plugin name="Hazelcast Plugin" latest="2.5.0" changelog="https://igniterealtime.org/projects/openfire/plugins/2.5.0/hazelcast/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.5.0/hazelcast.jar" author="Ignite Realtime" description="Adds clustering support" icon="https://igniterealtime.org/projects/openfire/plugins/2.5.0/hazelcast/logo_small.png" minServerVersion="4.5.0" readme="https://igniterealtime.org/projects/openfire/plugins/2.5.0/hazelcast/readme.html" fileSize="10399796"/>
<plugin name="Draw-IO" latest="0.0.1" changelog="https://igniterealtime.org/projects/openfire/plugins/0.0.1/draw/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.0.1/draw.jar" author="Ignite Realtime" description="Web Diagramming Tool that uses SVG and HTML for rendering" icon="https://igniterealtime.org/projects/openfire/plugins/0.0.1/draw/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/0.0.1/draw/readme.html" licenseType="Apache 2.0" fileSize="40136123"/>
<plugin name="IPFS" latest="0.0.1" changelog="https://igniterealtime.org/projects/openfire/plugins/0.0.1/ipfs/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.0.1/ipfs.jar" author="igniterealtime.org" description="Enables Openfire to become an IPFS node." icon="https://igniterealtime.org/projects/openfire/plugins/0.0.1/ipfs/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/0.0.1/ipfs/readme.html" licenseType="Apache 2.0" fileSize="31727587"/>
<plugin name="Registration" latest="1.7.2" changelog="https://igniterealtime.org/projects/openfire/plugins/1.7.2/registration/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.7.2/registration.jar" author="Ryan Graham" description="Performs various actions whenever a new user account is created." icon="https://igniterealtime.org/projects/openfire/plugins/1.7.2/registration/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.7.2/registration/readme.html" fileSize="55992"/>
<plugin name="Search" latest="1.7.3" changelog="https://igniterealtime.org/projects/openfire/plugins/1.7.3/search/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.7.3/search.jar" author="Ryan Graham" description="Provides support for Jabber Search (XEP-0055)" icon="https://igniterealtime.org/projects/openfire/plugins/1.7.3/search/logo_small.gif" minServerVersion="4.1.1" readme="https://igniterealtime.org/projects/openfire/plugins/1.7.3/search/readme.html" fileSize="71795"/>
<plugin name="Client Control" latest="2.1.5" changelog="https://igniterealtime.org/projects/openfire/plugins/2.1.5/clientControl/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.1.5/clientControl.jar" author="Jive Software" description="Controls clients allowed to connect and available features" icon="https://igniterealtime.org/projects/openfire/plugins/2.1.5/clientControl/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/2.1.5/clientControl/readme.html" fileSize="346837"/>
<plugin name="Candy" latest="2.2.0 Release 2" changelog="https://igniterealtime.org/projects/openfire/plugins/2.2.0-Release-2/candy/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.2.0-Release-2/candy.jar" author="Guus der Kinderen" description="Adds the (third-party) Candy web client to Openfire." icon="https://igniterealtime.org/projects/openfire/plugins/2.2.0-Release-2/candy/logo_small.png" minServerVersion="4.1.5" readme="https://igniterealtime.org/projects/openfire/plugins/2.2.0-Release-2/candy/readme.html" fileSize="577491"/>
<plugin name="Presence Service" latest="1.7.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.7.0/presence/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.7.0/presence.jar" author="Jive Software" description="Exposes presence information through HTTP." icon="https://igniterealtime.org/projects/openfire/plugins/1.7.0/presence/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.7.0/presence/readme.html" fileSize="29076"/>
<plugin name="Subscription" latest="1.4.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.4.1/subscription/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.4.1/subscription.jar" author="Ryan Graham" description="Automatically accepts or rejects subscription requests" icon="https://igniterealtime.org/projects/openfire/plugins/1.4.1/subscription/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.4.1/subscription/readme.html" fileSize="20989"/>
<plugin name="inVerse" latest="6.0.1 Release 1" changelog="https://igniterealtime.org/projects/openfire/plugins/6.0.1.1/inverse/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/6.0.1.1/inverse.jar" author="Guus der Kinderen" description="Adds the (third-party, Converse-based) inVerse web client to Openfire." icon="https://igniterealtime.org/projects/openfire/plugins/6.0.1.1/inverse/logo_small.png" minServerVersion="4.1.5" readme="https://igniterealtime.org/projects/openfire/plugins/6.0.1.1/inverse/readme.html" fileSize="5140645"/>
<plugin name="Push Notification" latest="0.7.0" changelog="https://igniterealtime.org/projects/openfire/plugins/0.7.0/pushnotification/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.7.0/pushnotification.jar" author="Guus der Kinderen" description="Adds Push Notification (XEP-0357) support to Openfire." icon="https://igniterealtime.org/projects/openfire/plugins/0.7.0/pushnotification/logo_small.png" readme="https://igniterealtime.org/projects/openfire/plugins/0.7.0/pushnotification/readme.html" fileSize="24257"/>
<plugin name="Email on Away" latest="1.0.3" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.3/emailOnAway/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.3/emailOnAway.jar" author="Nick Mossie" description="Messages sent to alternate location when recipient is away" minServerVersion="2.3.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.3/emailOnAway/readme.html" fileSize="5923"/>
<plugin name="Certificate Manager" latest="1.1.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.1.0/certificatemanager/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.1.0/certificatemanager.jar" author="Guus der Kinderen" description="Adds certificate management features." icon="https://igniterealtime.org/projects/openfire/plugins/1.1.0/certificatemanager/logo_small.png" minServerVersion="4.3.0 Alpha" readme="https://igniterealtime.org/projects/openfire/plugins/1.1.0/certificatemanager/readme.html" fileSize="47750"/>
<plugin name="Random Avatar Generator Plugin" latest="1.0.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.0/randomavatar/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.0/randomavatar.jar" author="Guus der Kinderen" description="Generates semi-random avatar images." icon="https://igniterealtime.org/projects/openfire/plugins/1.0.0/randomavatar/logo_small.gif" minServerVersion="4.1.5" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.0/randomavatar/readme.html" fileSize="423022"/>
<plugin name="JmxWeb Plugin" latest="0.0.7" changelog="https://igniterealtime.org/projects/openfire/plugins/0.0.7/jmxweb/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.0.7/jmxweb.jar" author="igniterealtime.org" description="JmxWeb plugin is web based platform for managing and monitoring openfire via JMX." minServerVersion="4.1.5" readme="https://igniterealtime.org/projects/openfire/plugins/0.0.7/jmxweb/readme.html" licenseType="Apache 2.0" fileSize="9659320"/>
<plugin name="MUC Service" latest="0.2.3" changelog="https://igniterealtime.org/projects/openfire/plugins/0.2.3/mucservice/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.2.3/mucservice.jar" author="Roman Soldatow" description="MUC administration over REST Interface" icon="https://igniterealtime.org/projects/openfire/plugins/0.2.3/mucservice/logo_small.gif" minServerVersion="3.9.1" readme="https://igniterealtime.org/projects/openfire/plugins/0.2.3/mucservice/readme.html" fileSize="2568312"/>
<plugin name="User Status Plugin" latest="1.2.2" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.2/userstatus/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.2/userstatus.jar" author="Stefan Reuter" description="Openfire plugin to save the user status to the database." icon="https://igniterealtime.org/projects/openfire/plugins/1.2.2/userstatus/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.2/userstatus/readme.html" licenseType="gpl" fileSize="28372"/>
<plugin name="GoJara" latest="2.2.1" changelog="https://igniterealtime.org/projects/openfire/plugins/2.2.1/gojara/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.2.1/gojara.jar" author="Holger Bergunde / Daniel Henninger / Axel-F. Brand" description="XEP-0321: Remote Roster Management support" icon="https://igniterealtime.org/projects/openfire/plugins/2.2.1/gojara/logo_small.png" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/2.2.1/gojara/readme.html" fileSize="319125"/>
<plugin name="Spam blacklist" latest="1.0.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.0/blacklistspam/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.0/blacklistspam.jar" author="Ignite Realtime" description="Uses an external blacklist to reject traffic from specific addresses." icon="https://igniterealtime.org/projects/openfire/plugins/1.0.0/blacklistspam/logo_small.png" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.0/blacklistspam/readme.html" fileSize="15946"/>
<plugin name="User Service" latest="2.1.2" changelog="https://igniterealtime.org/projects/openfire/plugins/2.1.2/userservice/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.1.2/userservice.jar" author="Roman Soldatow, Justin Hunt" description="(Deprecated) Please use the REST API Plugin. Allows administration of users via HTTP requests." icon="https://igniterealtime.org/projects/openfire/plugins/2.1.2/userservice/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/2.1.2/userservice/readme.html" fileSize="2414018"/>
<plugin name="Openfire Meetings" latest="0.9.5" changelog="https://igniterealtime.org/projects/openfire/plugins/0.9.5/ofmeet/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.9.5/ofmeet.jar" author="Ignite Realtime" description="Provides high quality, scalable video conferences." icon="https://igniterealtime.org/projects/openfire/plugins/0.9.5/ofmeet/logo_small.gif" minServerVersion="4.3.2" readme="https://igniterealtime.org/projects/openfire/plugins/0.9.5/ofmeet/readme.html" fileSize="113148396"/>
<plugin name="Packet Filter" latest="3.3.1" changelog="https://igniterealtime.org/projects/openfire/plugins/3.3.1/packetFilter/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/3.3.1/packetFilter.jar" author="Nate Putnam" description="Rules to enforce ethical communication" icon="https://igniterealtime.org/projects/openfire/plugins/3.3.1/packetFilter/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/3.3.1/packetFilter/readme.html" fileSize="106311"/>
<plugin name="User Creation" latest="1.4.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.4.0/userCreation/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.4.0/userCreation.jar" author="Jive Software" description="Creates users and populates rosters." minServerVersion="4.3.0" fileSize="1643940"/>
<plugin name="Openfire WebSocket" latest="1.2.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.1/websocket/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.1/websocket.jar" author="Tom Evans" description="Provides WebSocket support for Openfire." icon="https://igniterealtime.org/projects/openfire/plugins/1.2.1/websocket/logo_small.gif" minServerVersion="4.1.5" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.1/websocket/readme.html" fileSize="122092"/>
<plugin name="Email Listener" latest="1.2.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.1/emailListener/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.1/emailListener.jar" author="Jive Software" description="Listens for emails and sends alerts to specific users." icon="https://igniterealtime.org/projects/openfire/plugins/1.2.1/emailListener/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.1/emailListener/readme.html" fileSize="21292"/>
<plugin name="Openfire Focus Provider" latest="0.9.4" changelog="https://igniterealtime.org/projects/openfire/plugins/0.9.4/offocus/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.9.4/offocus.jar" author="Ignite Realtime" description="Instantiates a Jitsi Focus manager." icon="https://igniterealtime.org/projects/openfire/plugins/0.9.4/offocus/logo_small.gif" minServerVersion="4.1.5" readme="https://igniterealtime.org/projects/openfire/plugins/0.9.4/offocus/readme.html" fileSize="27570117"/>
<plugin name="Thread Dump" latest="1.0.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.0/threaddump/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.0/threaddump.jar" author="Ignite Realtime" description="A plugin that can be used to generate diagnostics." icon="https://igniterealtime.org/projects/openfire/plugins/1.0.0/threaddump/logo_small.png" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.0/threaddump/readme.html" fileSize="44861"/>
<plugin name="Avatar Resizer" latest="1.0.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.1/avatarResizer/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.1/avatarResizer.jar" author="Guus der Kinderen" description="Ensures vCard-based avatars are not to large for comfort." icon="https://igniterealtime.org/projects/openfire/plugins/1.0.1/avatarResizer/logo_small.gif" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.1/avatarResizer/readme.html" fileSize="10624"/>
<plugin name="Load Statistic" latest="1.2.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.0/loadStats/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.0/loadStats.jar" author="Jive Software" description="Logs load statistics to a file" icon="https://igniterealtime.org/projects/openfire/plugins/1.2.0/loadStats/logo_small.gif" minServerVersion="3.9.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.0/loadStats/readme.html" fileSize="8474"/>
<plugin name="STUN server plugin" latest="1.2.2" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.2/stunserver/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.2/stunserver.jar" author="Ignite Realtime" description="Adds STUN functionality to Openfire" icon="https://igniterealtime.org/projects/openfire/plugins/1.2.2/stunserver/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.2/stunserver/readme.html" fileSize="101310"/>
<plugin name="Content Filter" latest="1.8.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.8.1/contentFilter/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.8.1/contentFilter.jar" author="Conor Hayes" description="Scans message packets for defined patterns" icon="https://igniterealtime.org/projects/openfire/plugins/1.8.1/contentFilter/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.8.1/contentFilter/readme.html" fileSize="73660"/>
<plugin name="REST API" latest="1.4.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.4.0/restAPI/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.4.0/restAPI.jar" author="Roman Soldatow" description="Allows administration over a RESTful API." icon="https://igniterealtime.org/projects/openfire/plugins/1.4.0/restAPI/logo_small.gif" minServerVersion="4.1.1" readme="https://igniterealtime.org/projects/openfire/plugins/1.4.0/restAPI/readme.html" fileSize="3507617"/>
<plugin name="Broadcast" latest="1.9.2" changelog="https://igniterealtime.org/projects/openfire/plugins/1.9.2/broadcast/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.9.2/broadcast.jar" author="Ignite Realtime" description="The broadcast plugin broadcasts messages to all users in the system or to specific groups" icon="https://igniterealtime.org/projects/openfire/plugins/1.9.2/broadcast/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.9.2/broadcast/readme.html" fileSize="15163"/>
<plugin name="JSXC" latest="4.1.1 Release 1" changelog="https://igniterealtime.org/projects/openfire/plugins/4.1.1.1/jsxc/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/4.1.1.1/jsxc.jar" author="Guus der Kinderen" description="Adds the (third-party) JSXC web client to Openfire." icon="https://igniterealtime.org/projects/openfire/plugins/4.1.1.1/jsxc/logo_small.png" minServerVersion="4.4.0" readme="https://igniterealtime.org/projects/openfire/plugins/4.1.1.1/jsxc/readme.html" fileSize="2728149"/>
<plugin name="Non-SASL Authentication" latest="1.0.0" changelog="https://igniterealtime.org/projects/openfire/plugins/1.0.0/nonSaslAuthentication/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.0.0/nonSaslAuthentication.jar" author="Guus der Kinderen" description="This plugin implements a the (obsolete!) XEP-0078 specification for authentication using the jabber:iq:auth namespace." minServerVersion="4.1.0 Alpha" readme="https://igniterealtime.org/projects/openfire/plugins/1.0.0/nonSaslAuthentication/readme.html" fileSize="10803"/>
<plugin name="MotD (Message of the Day)" latest="1.2.2" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.2/motd/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.2/motd.jar" author="Ryan Graham" description="Allows admins to have a message sent to users each time they log in." icon="https://igniterealtime.org/projects/openfire/plugins/1.2.2/motd/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.2/motd/readme.html" fileSize="31207"/>
<plugin name="CallbackOnOffline" latest="1.2.1" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.1/callbackOnOffline/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.1/callbackOnOffline.jar" author="Pavel Goski / Krzysztof Misztal" description="Url is called when recipient is offline" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.1/callbackOnOffline/readme.html" fileSize="4322732"/>
<plugin name="Rdp" latest="0.0.1" changelog="https://igniterealtime.org/projects/openfire/plugins/0.0.1/rdp/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.0.1/rdp.jar" author="igniterealtime.org" description="RDP Gateway for Remote Desktop Control Changelog" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/0.0.1/rdp/readme.html" licenseType="Apache 2.0" fileSize="27297204"/>
<plugin name="XML Debugger Plugin" latest="1.7.3" changelog="https://igniterealtime.org/projects/openfire/plugins/1.7.3/xmldebugger/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.7.3/xmldebugger.jar" author="Ignite Realtime" description="Prints XML traffic to the stdout (raw and interpreted XML)" minServerVersion="4.5.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.7.3/xmldebugger/readme.html" fileSize="25481"/>
<plugin name="DB Access" latest="1.2.2" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.2/dbaccess/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.2/dbaccess.jar" author="Daniel Henninger" description="Provides administrators with a simple direct access interface to their Openfire DB." icon="https://igniterealtime.org/projects/openfire/plugins/1.2.2/dbaccess/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.2/dbaccess/readme.html" fileSize="11336"/>
<plugin name="User Import Export" latest="2.7.0" changelog="https://igniterealtime.org/projects/openfire/plugins/2.7.0/userImportExport/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.7.0/userImportExport.jar" author="Ryan Graham" description="Enables import and export of user data" icon="https://igniterealtime.org/projects/openfire/plugins/2.7.0/userImportExport/logo_small.gif" minServerVersion="4.3.0" readme="https://igniterealtime.org/projects/openfire/plugins/2.7.0/userImportExport/readme.html" fileSize="842649"/>
<plugin name="Just married" latest="1.2.4" changelog="https://igniterealtime.org/projects/openfire/plugins/1.2.4/justmarried/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/1.2.4/justmarried.jar" author="Holger Bergunde" description="Allows admins to rename or copy users" icon="https://igniterealtime.org/projects/openfire/plugins/1.2.4/justmarried/logo_small.png" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/1.2.4/justmarried/readme.html" fileSize="39579"/>
<plugin name="NodeJs" latest="0.1.0" changelog="https://igniterealtime.org/projects/openfire/plugins/0.1.0/nodejs/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.1.0/nodejs.jar" author="igniterealtime.org" description="Integrates NodeJs Applications with Openfire." icon="https://igniterealtime.org/projects/openfire/plugins/0.1.0/nodejs/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/0.1.0/nodejs/readme.html" licenseType="Apache 2.0" fileSize="15635100"/>
<plugin name="Monitoring Service" latest="2.1.0" changelog="https://igniterealtime.org/projects/openfire/plugins/2.1.0/monitoring/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/2.1.0/monitoring.jar" author="IgniteRealtime // Jive Software" description="Monitors conversations and statistics of the server." icon="https://igniterealtime.org/projects/openfire/plugins/2.1.0/monitoring/logo_small.gif" minServerVersion="4.4.0" readme="https://igniterealtime.org/projects/openfire/plugins/2.1.0/monitoring/readme.html" fileSize="15382853"/>
<plugin name="Jingle Nodes Plugin" latest="0.2.0" changelog="https://igniterealtime.org/projects/openfire/plugins/0.2.0/jingleNodes/changelog.html" url="https://igniterealtime.org/projects/openfire/plugins/0.2.0/jingleNodes.jar" author="Jingle Nodes (Rodrigo Martins)" description="Provides support for Jingle Nodes" icon="https://igniterealtime.org/projects/openfire/plugins/0.2.0/jingleNodes/logo_small.gif" minServerVersion="4.0.0" readme="https://igniterealtime.org/projects/openfire/plugins/0.2.0/jingleNodes/readme.html" fileSize="1038541"/>
</available>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<hazelcast xmlns="http://www.hazelcast.com/schema/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.hazelcast.com/schema/config
http://www.hazelcast.com/schema/config/hazelcast-config-3.12.xsd">
<group>
<name>openfire</name>
<password>openfire</password>
</group>
<network>
<port auto-increment="true" port-count="100">5701</port>
<outbound-ports>
<ports>0</ports>
</outbound-ports>
<!-- The following enables multicast discovery of cluster members
See http://docs.hazelcast.org/docs/3.12/manual/html-single/index.html#discovering-members-by-multicast
-->
<join>
<multicast enabled="true">
<multicast-group>224.2.2.3</multicast-group>
<multicast-port>54327</multicast-port>
</multicast>
<tcp-ip enabled="false"/>
</join>
<!-- The following enables TCP/IP based discovery of cluster members
See http://docs.hazelcast.org/docs/3.12/manual/html-single/index.html#discovering-members-by-tcp
-->
<!--
<join>
<multicast enabled="false"/>
<tcp-ip enabled="true">
<member>10.10.1.1:5701</member>
<member>10.10.1.2:5701</member>
</tcp-ip>
</join>
-->
<interfaces enabled="false">
<interface>10.10.1.*</interface>
</interfaces>
<ssl enabled="false"/>
<socket-interceptor enabled="false"/>
<symmetric-encryption enabled="false">
<!--
encryption algorithm such as
DES/ECB/PKCS5Padding,
PBEWithMD5AndDES,
AES/CBC/PKCS5Padding,
Blowfish,
DESede
-->
<algorithm>PBEWithMD5AndDES</algorithm>
<!-- salt value to use when generating the secret key -->
<salt>thesalt</salt>
<!-- pass phrase to use when generating the secret key -->
<password>thepass</password>
<!-- iteration count to use when generating the secret key -->
<iteration-count>19</iteration-count>
</symmetric-encryption>
</network>
</hazelcast>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<jive>
<adminConsole>
<port>9090</port>
<securePort>9091</securePort>
</adminConsole>
<connectionProvider>
<className>org.jivesoftware.database.EmbeddedConnectionProvider</className>
</connectionProvider>
<autosetup>
<run>true</run>
<locale>en</locale>
<xmpp>
<auth>
<anonymous>true</anonymous>
</auth>
<domain>example.org</domain>
<fqdn>example.org</fqdn>
</xmpp>
<database>
<mode>embedded</mode>
</database>
<admin>
<email>admin@example.com</email>
<password>admin</password>
</admin>
<users>
<user1>
<username>john</username>
<password>secret</password>
<name>John Doe</name>
<email>john.doe@example.com</email>
<roster>
<item1>
<jid>jane@example.org</jid>
<nickname>Jane</nickname>
</item1>
</roster>
</user1>
<user2>
<username>jane</username>
<password>secret</password>
<name>Jane Doe</name>
<email>jane.doe@example.com</email>
<roster>
<item1>
<jid>john@example.org</jid>
<nickname>John</nickname>
</item1>
</roster>
</user2>
</users>
</autosetup>
</jive>

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file stores bootstrap properties needed by Openfire.
Property names must be in the format: "prop.name.is.blah=value"
That will be stored as:
<prop>
<name>
<is>
<blah>value</blah>
</is>
</name>
</prop>
Most properties are stored in the Openfire database. A
property viewer and editor is included in the admin console.
-->
<!-- root element, all properties must be under this element -->
<jive>
<adminConsole>
<!-- Disable either port by setting the value to -1 -->
<port>9090</port>
<securePort>9091</securePort>
</adminConsole>
<locale>en</locale>
<!-- Network settings. By default, Openfire will bind to all network interfaces.
Alternatively, you can specify a specific network interfaces that the server
will listen on. For example, 127.0.0.1. This setting is generally only useful
on multi-homed servers. -->
<!--
<network>
<interface></interface>
</network>
-->
<!--
One time token to gain temporary access to the admin console.
-->
<!--
<oneTimeAccessToken>secretToken</oneTimeAccessToken>
-->
<connectionProvider>
<className>org.jivesoftware.database.DefaultConnectionProvider</className>
</connectionProvider>
<database>
<defaultProvider>
<driver>org.postgresql.Driver</driver>
<serverURL>jdbc:postgresql://db:5432/openfire</serverURL>
<username encrypted="true">10d847caed2654fbb1fe6cefac0f381893323ae6b5eea27d31503d5880091fca</username>
<password encrypted="true">30c1893796e0110fc4607c8b1bca0d0e54f10b270c4615d3</password>
<testSQL>select 1</testSQL>
<testBeforeUse>false</testBeforeUse>
<testAfterUse>false</testAfterUse>
<testTimeout>500</testTimeout>
<timeBetweenEvictionRuns>30000</timeBetweenEvictionRuns>
<minIdleTime>900000</minIdleTime>
<maxWaitTime>500</maxWaitTime>
<minConnections>5</minConnections>
<maxConnections>25</maxConnections>
<connectionTimeout>1.0</connectionTimeout>
</defaultProvider>
</database>
<setup>true</setup>
<fqdn>xmpp2.localhost.example</fqdn>
<clustering>
<enabled>true</enabled>
</clustering>
</jive>

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,42 @@
#
# This file defines the configuration properties required
# when using the Atlassian Crowd integration for Openfire.
#
# https://confluence.atlassian.com/display/CROWD/The+crowd.properties+file
#
# To activate the Crowd integration for Openfire, you must define
# the following Openfire system properties:
#
# provider.admin.className org.jivesoftware.openfire.crowd.CrowdAdminProvider
# provider.auth.className org.jivesoftware.openfire.crowd.CrowdAuthProvider
# provider.group.className org.jivesoftware.openfire.crowd.CrowdGroupProvider
# provider.user.className org.jivesoftware.openfire.crowd.CrowdUserProvider
# provider.vcard.className org.jivesoftware.openfire.crowd.CrowdVCardProvider
#
# In addition, you may customize the Crowd provider using the following Openfire
# system properties:
#
# admin.authorizedGroups <comma-separated list of Crowd groups having Openfire admin rights>
# crowd.groups.cache.ttl.seconds 3600
# crowd.users.cache.ttl.seconds 3600
#
# The REST URL for your Crowd server.
crowd.server.url=https://YOUR-CROWD-SERVER:8095/crowd/
# These properties are required to authenticate with the Crowd server.
# They must match the values specified in the Crowd configuration.
application.name=openfire
application.password=<password>
# Other optional configuration properties.
#http.proxy.host=
#http.proxy.port=
#http.proxy.username=
#http.proxy.password=
# These properties can be used to tune the Crowd integration.
#http.max.connections=20
#http.timeout=5000
#http.socket.timeout=20000

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file stores security-related properties needed by Openfire.
You may edit this file to manage encrypted properties and
encryption configuration value. Note however that you should not
edit this file while Openfire is running, or it may be overwritten.
It is important to note that Openfire will store encrypted property
values securely "at rest" (e.g. in the database or XML), but the
values will be managed as clear text strings in memory at runtime for
interoperability and performance reasons. Encrypted property values
are not visible via the Openfire console, but they may be edited or
deleted as needed.
-->
<security>
<encrypt>
<!-- This can be set to "AES" or "Blowfish" (default) at setup time -->
<algorithm>Blowfish</algorithm>
<key>
<!--
If this is a new server setup, you may set a custom encryption key
by setting a value for the <new /> encryption key element only.
To change the encryption key, provide values for both new and old
encryption keys here. The "old" key must match the unencrypted value
of the "current" key. The server will update the existing property
values in the database, re-encrypting them using the new key. After
the encrypted properties have been updated, the new key will itself
be encrypted and re-written into this file as <current />.
Note that if the current encryption key becomes invalid, any property
values secured by the original key will be inaccessible as well.
The key value can be any string, and it will be hashed, filled, and/or
truncated to produce a compatible key for the corresponding algorithm.
Note that leading and trailing spaces will be ignored. A strong key
will contain sixteen characters or more.
<old></old>
<new></new>
-->
<current></current>
</key>
<property>
<!--
This list includes the names of properties that have been marked for
encryption. Any XML properties (from openfire.xml) that are listed here
will be encrypted automatically upon first use. Other properties
(already in the database) can be added to this list at runtime via the
"System Properties" page in the Openfire console.
-->
<name>database.defaultProvider.username</name>
<name>database.defaultProvider.password</name>
</property>
</encrypt>
<!--
Any other property defined in this file will be treated as an encrypted
property. The value (in clear text) will be encrypted and migrated into
the Openfire database during the next startup. The property name will
be added to the list of encrypted properties and the clear text value
will be removed from this file.
<foo><bar>Secr3t$tr1ng!</bar></foo>
-->
</security>

View File

@ -0,0 +1 @@
This directory is used as a default location in which Openfire stores backups of keystore files.

Binary file not shown.

View File

@ -0,0 +1,2 @@
<version/>

View File

@ -0,0 +1,42 @@
#
# This file defines the configuration properties required
# when using the Atlassian Crowd integration for Openfire.
#
# https://confluence.atlassian.com/display/CROWD/The+crowd.properties+file
#
# To activate the Crowd integration for Openfire, you must define
# the following Openfire system properties:
#
# provider.admin.className org.jivesoftware.openfire.crowd.CrowdAdminProvider
# provider.auth.className org.jivesoftware.openfire.crowd.CrowdAuthProvider
# provider.group.className org.jivesoftware.openfire.crowd.CrowdGroupProvider
# provider.user.className org.jivesoftware.openfire.crowd.CrowdUserProvider
# provider.vcard.className org.jivesoftware.openfire.crowd.CrowdVCardProvider
#
# In addition, you may customize the Crowd provider using the following Openfire
# system properties:
#
# admin.authorizedGroups <comma-separated list of Crowd groups having Openfire admin rights>
# crowd.groups.cache.ttl.seconds 3600
# crowd.users.cache.ttl.seconds 3600
#
# The REST URL for your Crowd server.
crowd.server.url=https://YOUR-CROWD-SERVER:8095/crowd/
# These properties are required to authenticate with the Crowd server.
# They must match the values specified in the Crowd configuration.
application.name=openfire
application.password=<password>
# Other optional configuration properties.
#http.proxy.host=
#http.proxy.port=
#http.proxy.username=
#http.proxy.password=
# These properties can be used to tune the Crowd integration.
#http.max.connections=20
#http.timeout=5000
#http.socket.timeout=20000

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file stores security-related properties needed by Openfire.
You may edit this file to manage encrypted properties and
encryption configuration value. Note however that you should not
edit this file while Openfire is running, or it may be overwritten.
It is important to note that Openfire will store encrypted property
values securely "at rest" (e.g. in the database or XML), but the
values will be managed as clear text strings in memory at runtime for
interoperability and performance reasons. Encrypted property values
are not visible via the Openfire console, but they may be edited or
deleted as needed.
-->
<security>
<encrypt>
<!-- This can be set to "AES" or "Blowfish" (default) at setup time -->
<algorithm>Blowfish</algorithm>
<key>
<!--
If this is a new server setup, you may set a custom encryption key
by setting a value for the <new /> encryption key element only.
To change the encryption key, provide values for both new and old
encryption keys here. The "old" key must match the unencrypted value
of the "current" key. The server will update the existing property
values in the database, re-encrypting them using the new key. After
the encrypted properties have been updated, the new key will itself
be encrypted and re-written into this file as <current />.
Note that if the current encryption key becomes invalid, any property
values secured by the original key will be inaccessible as well.
The key value can be any string, and it will be hashed, filled, and/or
truncated to produce a compatible key for the corresponding algorithm.
Note that leading and trailing spaces will be ignored. A strong key
will contain sixteen characters or more.
<old></old>
<new></new>
-->
<current></current>
</key>
<property>
<!--
This list includes the names of properties that have been marked for
encryption. Any XML properties (from openfire.xml) that are listed here
will be encrypted automatically upon first use. Other properties
(already in the database) can be added to this list at runtime via the
"System Properties" page in the Openfire console.
-->
<name>database.defaultProvider.username</name>
<name>database.defaultProvider.password</name>
</property>
</encrypt>
<!--
Any other property defined in this file will be treated as an encrypted
property. The value (in clear text) will be encrypted and migrated into
the Openfire database during the next startup. The property name will
be added to the list of encrypted properties and the clear text value
will be removed from this file.
<foo><bar>Secr3t$tr1ng!</bar></foo>
-->
</security>

View File

@ -0,0 +1 @@
This directory is used as a default location in which Openfire stores backups of keystore files.

Binary file not shown.

View File

@ -0,0 +1,2 @@
<version/>