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.