From de80ddc4cc9be0bc0ce215895561510e64a697f2 Mon Sep 17 00:00:00 2001 From: BurnyLlama Date: Mon, 9 Aug 2021 23:04:20 +0200 Subject: [PATCH] Written XMPP article --- assets/css/theme.css | 5 ++ content/pages/articles/xmpp/intro.md | 95 ++++++++++++++++++++++++++++ content/pages/index.njk | 2 +- 3 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 content/pages/articles/xmpp/intro.md diff --git a/assets/css/theme.css b/assets/css/theme.css index 6fb3b27..5adc4ce 100644 --- a/assets/css/theme.css +++ b/assets/css/theme.css @@ -72,6 +72,11 @@ a { color: var(--accent2); } +b { + font-family: 'Manrope XBold', sans-serif; + font-weight: bold; +} + .centered { text-align: center; } diff --git a/content/pages/articles/xmpp/intro.md b/content/pages/articles/xmpp/intro.md new file mode 100644 index 0000000..57219a6 --- /dev/null +++ b/content/pages/articles/xmpp/intro.md @@ -0,0 +1,95 @@ +%%- +title: XMPP - qwik docs +header: XMPP +date: 9th August 2021 +-%% + +# Introduction +XMPP is a protocol for instant messaging. It stands for *Extensible Messaging and Presence Protocol*. +It supports most things you'd expect from from an instant messaging software, like: chat (duh?), sending images/videos/other +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 +To use XMPP you would need a client. Under here you can see our recommendations of clients for different platforms. + +## Clients +**Linux** +* Gajim ([Website](https://gajim.org/)) +* Dino ([Website](https://dino.im/)) + +**Windows:** +* Gajim ([Website](https://gajim.org/)) + +**macOS:** +* 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)) + +**Android:** +* blabber.im ([F-Droid](https://f-droid.org/en/packages/eu.siacs.conversations/)*, [Google Play](https://play.google.com/store/apps/details?id=eu.siacs.conversations)) +* Conversations ([F-Droid](https://f-droid.org/en/packages/de.pixart.messenger/)*, [Google Play](https://play.google.com/store/apps/details?id=im.blabber.messenger)) + +**iOS:** +* 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. +(@gmail.com, @outllok.com, @protonamil.com, etc.) XMPP works in a similar manner where your *JID* (Jabber ID) is formatted as +`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! +> You can find more information at https://qwik.space/xmpp.html +> +> If you have any questions regarding the server, send a message on XMPP to furo@qwik.space + +## 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 +You can also connect using Tor, use the following information: +Hostname: qwikxcv6qo7ochwil3ihobsclz6ulfkszvngy6cna4rx6a6a4bedktad.onion +Port: 5222 \ No newline at end of file diff --git a/content/pages/index.njk b/content/pages/index.njk index 37a8c28..71e3608 100644 --- a/content/pages/index.njk +++ b/content/pages/index.njk @@ -105,7 +105,7 @@ XMPP is an instant messaging protocol. You can find more info in the article below.

- get chattin' + get chattin' tor