2021-08-09 23:04:20 +02:00
|
|
|
%%-
|
|
|
|
title: XMPP - qwik docs
|
|
|
|
header: XMPP
|
2021-08-11 09:00:02 +02:00
|
|
|
date: 11th August 2021
|
2021-08-09 23:04:20 +02:00
|
|
|
-%%
|
|
|
|
|
|
|
|
# Introduction
|
|
|
|
XMPP is a protocol for instant messaging. It stands for *Extensible Messaging and Presence Protocol*.
|
2021-08-11 11:30:47 +02:00
|
|
|
It supports most things you'd expect from an instant messaging software, like: chat (duh?), sending images/videos/other
|
2021-08-09 23:04:20 +02:00
|
|
|
files, chatrooms (group chats), and even calling (both voice and video). It also supports another great thing: encryption.
|
|
|
|
|
|
|
|
The biggest problem with XMPP is that many of the clients (apps/programs you use to chat with people) could be better.
|
|
|
|
To some extent, all clients lack features or are buggy or even poorly designed - although, for the most part, it will be
|
|
|
|
fine.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Usage
|
2021-08-11 11:30:47 +02:00
|
|
|
To use XMPP you will need a client. Below you can see our recommendations of clients for different platforms.
|
2021-08-09 23:04:20 +02:00
|
|
|
|
|
|
|
## Clients
|
|
|
|
**Linux**
|
|
|
|
* Gajim ([Website](https://gajim.org/))
|
|
|
|
* Dino ([Website](https://dino.im/))
|
|
|
|
|
2021-08-11 09:00:02 +02:00
|
|
|
**Windows**
|
2021-08-09 23:04:20 +02:00
|
|
|
* Gajim ([Website](https://gajim.org/))
|
|
|
|
|
2021-08-11 09:00:02 +02:00
|
|
|
**macOS**
|
2021-08-09 23:04:20 +02:00
|
|
|
* Monal IM ([Mac App Store](https://apps.apple.com/app/id1499227291))
|
|
|
|
* Siskin IM ([Mac App Store](https://apps.apple.com/us/app/siskin-im/id1153516838))
|
|
|
|
* Beagle IM ([Mac App Store](https://apps.apple.com/us/app/beagleim-by-tigase-inc/id1445349494))
|
|
|
|
|
2021-08-11 09:00:02 +02:00
|
|
|
**Android**
|
2021-08-10 22:59:53 +02:00
|
|
|
* blabber.im ([F-Droid](https://f-droid.org/en/packages/de.pixart.messenger/)*, [Google Play](https://play.google.com/store/apps/details?id=im.blabber.messenger))
|
|
|
|
* Conversations ([F-Droid](https://f-droid.org/en/packages/eu.siacs.conversations/)*, [Google Play](https://play.google.com/store/apps/details?id=eu.siacs.conversations))
|
2021-08-09 23:04:20 +02:00
|
|
|
|
2021-08-11 09:00:02 +02:00
|
|
|
**iOS**
|
2021-08-09 23:04:20 +02:00
|
|
|
* Monal IM ([App Store](https://apps.apple.com/us/app/monal-xmpp-chat/id317711500))
|
|
|
|
* Siskin IM ([App Store](https://apps.apple.com/us/app/tigase-messenger/id1153516838))
|
|
|
|
|
|
|
|
There might be other XMPP clients that we have missed, but this covers the main ones we know about.
|
|
|
|
We primarily use gajim and blabber.im.
|
|
|
|
|
|
|
|
*\* [F-Droid](https://f-droid.org/) is a repository containing free and open source Android apps.*
|
|
|
|
|
|
|
|
## Registration
|
|
|
|
To register you would need a server to register on. Kind of in the same way you can register an email at different domains.
|
2021-08-10 22:59:53 +02:00
|
|
|
(@gmail.com, @outlook.com, @protonmail.com, etc.) XMPP works in a similar manner where your *JID* (Jabber ID) is formatted as
|
2021-08-09 23:04:20 +02:00
|
|
|
`username@server.com`. You can choose between thousands of server, but we'd be happy if you joined our server.
|
|
|
|
|
|
|
|
Most, if not all, clients allow you to register an account directly in the app, but if you have problems to register through the
|
|
|
|
app then you can use [this page](https://qwik.space:5443/register/). If you want to register at our server use the server address
|
|
|
|
`qwik.space`. Once you've registred your JID would become `username@qwik.space` (assuming you used our server). Your friends will
|
|
|
|
use this address to contact you.
|
|
|
|
|
|
|
|
When you've registered on our server you should get a welcome message kind of like this:
|
|
|
|
> Welcome to qwik.space!
|
2021-08-11 05:26:55 +02:00
|
|
|
> You can find more information at https://qwik.space/articles/xmpp/intro
|
2021-08-09 23:04:20 +02:00
|
|
|
>
|
2021-08-10 22:59:53 +02:00
|
|
|
> If you have any questions regarding the server, send a message on XMPP to [furo@qwik.space](xmpp:furo@qwik.space)
|
2021-08-09 23:04:20 +02:00
|
|
|
|
|
|
|
## Encryption
|
|
|
|
XMPP supports two types of encryption: OMEMO and OTR. We personally recommend using OMEMO as it is the easiest to use and all
|
|
|
|
previously mentioned clients support it*. Even though OTR is supported by some clients, we don't recommend using it as it doesn't
|
|
|
|
support support encryption of calls or MUCs.
|
|
|
|
|
|
|
|
If you are more of an "advanced" user, we recommend turning of *blind trusting* in your client and manually trust OMEMO fingerprints.
|
|
|
|
|
|
|
|
*\* If you are using gajim on linux you might need to install an external package to get support for OMEMO: `gajim-omemo`*
|
|
|
|
|
|
|
|
## Chat rooms (group chats)
|
|
|
|
XMPP allows you to create chat rooms with multiple participants, they are called *MUCs* (Multi-User Chats). You can create one
|
|
|
|
through most clients. If you are prompted for a *room address* when creating a room, simply input `name@muc.qwik.space` where
|
|
|
|
`name` is the name of the chat room.
|
|
|
|
|
|
|
|
You might be prompted to choose between a public and a private room. The difference is that private rooms supports encryption
|
|
|
|
and you must be invited to enter it. Public rooms, on the other hand, only requires you to know the address to join, although
|
|
|
|
you can also be invited to a public room. **Public rooms do not support encryption**.
|
|
|
|
|
|
|
|
Once you have created a room you should be able to invite your friends through the client, otherwise you could try giving them
|
|
|
|
the address. You can also create invite links with the following format: [xmpp:qwik@muc.qwik.space?join](xmpp:qwik@muc.qwik.space?join).
|
|
|
|
You would replace `qwik` with the name of your room.
|
|
|
|
|
|
|
|
## Calls
|
|
|
|
To use calls (audio or video) your client must support it. Not all clients support calls, but if your client supports calls
|
|
|
|
you should see a call-button somewhere on the screen. For your recipient to recieve the call their client must also support
|
|
|
|
calls. The last requirement is that the server must support calls as well (our server does support calls).
|
|
|
|
|
|
|
|
If you use OMEMO, the calls will be encrypted.
|
|
|
|
|
|
|
|
# Tor
|
2021-08-10 22:25:56 +02:00
|
|
|
You can also connect using Tor, use the following information:
|
2021-08-10 22:49:20 +02:00
|
|
|
|
2021-08-10 22:25:56 +02:00
|
|
|
| Port | Hostname |
|
|
|
|
|------|----------------------------------------------------------------|
|
|
|
|
| 5222 | qwikxcv6qo7ochwil3ihobsclz6ulfkszvngy6cna4rx6a6a4bedktad.onion |
|