Differences between revisions 1 and 34 (spanning 33 versions)
Revision 1 as of 2015-09-20 23:52:11
Size: 970
Comment: add xmpp page
Revision 34 as of 2021-01-31 18:57:14
Size: 6744
Editor: fioddor
Comment: Link to Users and Groups module.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Chat Server (XMPP) == ## page was renamed from FreedomBox/Manual/XMPP
#language en

##TAG:TRANSLATION-HEADER-START
~- [[de/FreedomBox/Manual/ejabberd|Deutsch]] - [[FreedomBox/Manual/ejabberd|English]] - [[es/FreedomBox/Manual/ejabberd|Español]] - [[DebianWiki/EditorGuide#translation|(+)]]-~
##TAG:TRANSLATION-HEADER-END


<<TableOfContents()>>

## BEGIN_INCLUDE

== Ejabberd (Chat Server) ==
||<tablestyle="float: right;"> {{attachment:ejabberd-icon_en_V01.png|ejabberd icon}} ||

'''Available since''': version 0.3

=== What is XMPP? ===

XMPP is a federated server-client protocol for Instant Messaging. This means that users who have accounts on one server, can talk to users that are on another server.

XMPP can also be used for voice and video calls, if supported by the clients.

Currently !FreedomBox offers both, a server (ejabberd) and a web client ([[FreedomBox/Manual/JSXC|JSXC]]) from its web interface.

=== Privacy ===
With XMPP, there are two ways that conversations can be secured:
 1. TLS: This secures the connection between the client and server, or between two servers. This should be supported by all clients and is highly recommended.
 1. End-to-end: This secures the messages sent from one client to another, so that even the server cannot see the contents. The latest and most convenient protocol is called OMEMO, but it is only supported by a few clients. There is another protocol called OTR that may be supported by some clients that lack OMEMO support. Both clients must support the same protocol for it to work.
Line 5: Line 33:
XMPP is a federated protocol for Instant Messaging. This means that users who have accounts on one server, can talk to users that are on another server. However, for this to work, your !FreedomBox needs to have a Domain Name that can be accessed over the public Internet. You can read more about obtaining a Domain Name in the Dynamic DNS section of this manual. For XMPP to work, your !FreedomBox needs to have a Domain Name that can be accessed over the network.
Line 7: Line 35:
Once you have a Domain Name, you can tell your !FreedomBox to use it by setting the Domain Name in the System Config. If you only need the local network (LAN) users to chat with each other you can invent your domain name, but if you want users from the internet to join your rooms you need a public domain name. You can read more about obtaining a Domain Name in the [[../DynamicDNS|Dynamic DNS section of this manual]].
Line 9: Line 37:
Please note that Pagekite does not support the XMPP protocol at this time. Once you have a Domain Name, you can tell your !FreedomBox to use it by setting the Domain Name in the System [[../Configure|Configuration]].
Line 11: Line 39:
=== Registering XMPP users through SSO === '''Note''': After changing your Domain Name, the Chat Server (XMPP) page may show that the service is not running. After a minute or so, it should be up and running again.
Line 13: Line 41:
Currently, all users created through Plinth will be able to login to the XMPP server. You can add new users through the System Users and Groups module. It does not matter which Groups are selected for the new user. Please note that [[FreedomBox/Manual/PageKite|PageKite]] does not support the XMPP protocol at this time.

=== Use Let's encrypt certificate for ejabberd ===

If your !FreedomBox server uses a Let's Encrypt certificate, you will also want to use it for ejabberd. To do so, as your !FreedomBox admin, go to '''System''' > '''Let's Encrypt''', and select the checkbox at `Use certificate for ejabberd`:

{{attachment:certificate-for-ejabberd.png|Use of certificate for Ejabberd}}

=== Registering FreedomBox users to use XMPP ===

Currently, all users created through !FreedomBox will be able to login to the XMPP server. You can add new users through the System [[FreedomBox/Manual/Users|Users and Groups]] module. It does not matter which Groups are selected for the new user.

=== Port Forwarding ===

If your !FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for XMPP:
 * TCP 5222 (client-to-server)
 * TCP 5269 (server-to-server)
 * TCP 5280 (?)

=== Compatible clients ===

 * !FreedomBox provides a web client: [[FreedomBox/Manual/JSXC|JSXC]].
 * [[https://xmpp.org/software/clients.html|XMPP clients]] are available for various desktop and mobile platforms.

==== Mobile clients ====

You can download a XMPP client for your smartphone or tablet by downloading one of the apps listed below.

===== Conversations =====

[[https://conversations.im/|Conversations]] is an Android XMPP client available on [[https://f-droid.org/packages/eu.siacs.conversations|F-Droid]] or the [[https://play.google.com/store/apps/details?id=eu.siacs.conversations|Play Store]]. In addition to text messaging, you can use Conversations to send images and have group chats.

||<tablestyle="background:transparent; margin: 0 0 1em 1em;" style="text-align: center; padding:0.5em; border-style:none;"> {{attachment:conversations-first-screen.png|Conversations - First screen|width=200}} {{attachment:conversations-login.png|Conversations - Login|width=200}} {{attachment:conversations-create-account.png|Conversations - Create an account|width=200}} {{attachment:conversations-add-contacts.png|Conversations - Add contacts|width=200}}||

''From left to right: (1) First sreen - (2) Login screen - (3) Create an account - (4) Add contacts.''

Once you have downloaded Conversations and when you app the app, you will be asked whether you want to create a new account or if you already have an account (1).

If you already have a XMPP account, you just need to enter it along with your XMPP account password (2).

If you don't have a XMPP account, Conversations allows you to either enter a XMPP provider you have already chosen or to easily create an account on [[https://conversations.im|conversations.im]] (this latter option comes with a price and you'll need to trust the service provider) (3).

Once you have logged onto your XMPP account, you will want to start a conversation. To do so, click on `+`: a few choices will allow you to connect to other people (4).

==== Desktop clients ====

===== Dino =====

[[https://dino.im/|Dino]] is a XMPP free software client for the desktop. It is available for [[https://github.com/dino/dino/wiki/Distribution-Packages||multiple Linux distributions]].

||<tablestyle="background:transparent; margin: 0 0 1em 1em;" style="text-align: center; padding:0.5em; border-style:none;"> {{attachment:dino-first-screen.png|Dino - First screen|width=200}} {{attachment:dino-login.png|Dino - Login|width=300}} {{attachment:dino-start-conversation.png|Dino - Start a conversation|width=200}}||

''From left to right: (1) First screen - (2) Login screen - (3) Start conversation''

When first starting Dino after installation, click on the `Setup account` button. You will be then asked your `JID`: this is your !FreedomBox account. Enter it then click `Next` (2). Alternatively, you can click on `Create account` if you don't have a !FreedomBox account.

Once you have logged in, you will be able to either start a conversation with one of your XMPP contacts or to join a channel (3).


=== External links ===

 * Website: https://www.ejabberd.im
 * User documentation: https://docs.ejabberd.im
Line 16: Line 106:

Back to [[FreedomBox/Features|Features introduction]] or [[FreedomBox/Manual|manual]] pages.

Deutsch - English - Español - (+)

Ejabberd (Chat Server)

ejabberd icon

Available since: version 0.3

What is XMPP?

XMPP is a federated server-client protocol for Instant Messaging. This means that users who have accounts on one server, can talk to users that are on another server.

XMPP can also be used for voice and video calls, if supported by the clients.

Currently FreedomBox offers both, a server (ejabberd) and a web client (JSXC) from its web interface.

Privacy

With XMPP, there are two ways that conversations can be secured:

  1. TLS: This secures the connection between the client and server, or between two servers. This should be supported by all clients and is highly recommended.
  2. End-to-end: This secures the messages sent from one client to another, so that even the server cannot see the contents. The latest and most convenient protocol is called OMEMO, but it is only supported by a few clients. There is another protocol called OTR that may be supported by some clients that lack OMEMO support. Both clients must support the same protocol for it to work.

Setting the Domain Name

For XMPP to work, your FreedomBox needs to have a Domain Name that can be accessed over the network.

If you only need the local network (LAN) users to chat with each other you can invent your domain name, but if you want users from the internet to join your rooms you need a public domain name. You can read more about obtaining a Domain Name in the Dynamic DNS section of this manual.

Once you have a Domain Name, you can tell your FreedomBox to use it by setting the Domain Name in the System Configuration.

Note: After changing your Domain Name, the Chat Server (XMPP) page may show that the service is not running. After a minute or so, it should be up and running again.

Please note that PageKite does not support the XMPP protocol at this time.

Use Let's encrypt certificate for ejabberd

If your FreedomBox server uses a Let's Encrypt certificate, you will also want to use it for ejabberd. To do so, as your FreedomBox admin, go to System > Let's Encrypt, and select the checkbox at Use certificate for ejabberd:

[ATTACH]

Registering FreedomBox users to use XMPP

Currently, all users created through FreedomBox will be able to login to the XMPP server. You can add new users through the System Users and Groups module. It does not matter which Groups are selected for the new user.

Port Forwarding

If your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for XMPP:

  • TCP 5222 (client-to-server)
  • TCP 5269 (server-to-server)
  • TCP 5280 (?)

Compatible clients

  • FreedomBox provides a web client: JSXC.

  • XMPP clients are available for various desktop and mobile platforms.

Mobile clients

You can download a XMPP client for your smartphone or tablet by downloading one of the apps listed below.

Conversations

Conversations is an Android XMPP client available on F-Droid or the Play Store. In addition to text messaging, you can use Conversations to send images and have group chats.

Conversations - First screen Conversations - Login [ATTACH] Conversations - Add contacts

From left to right: (1) First sreen - (2) Login screen - (3) Create an account - (4) Add contacts.

Once you have downloaded Conversations and when you app the app, you will be asked whether you want to create a new account or if you already have an account (1).

If you already have a XMPP account, you just need to enter it along with your XMPP account password (2).

If you don't have a XMPP account, Conversations allows you to either enter a XMPP provider you have already chosen or to easily create an account on conversations.im (this latter option comes with a price and you'll need to trust the service provider) (3).

Once you have logged onto your XMPP account, you will want to start a conversation. To do so, click on +: a few choices will allow you to connect to other people (4).

Desktop clients

Dino

Dino is a XMPP free software client for the desktop. It is available for https://github.com/dino/dino/wiki/Distribution-Packages.

Dino - First screen Dino - Login Dino - Start a conversation

From left to right: (1) First screen - (2) Login screen - (3) Start conversation

When first starting Dino after installation, click on the Setup account button. You will be then asked your JID: this is your FreedomBox account. Enter it then click Next (2). Alternatively, you can click on Create account if you don't have a FreedomBox account.

Once you have logged in, you will be able to either start a conversation with one of your XMPP contacts or to join a channel (3).

Back to Features introduction or manual pages.


Intro

Information

Support

Contribute

Reports

Promote

Vision

Hardware

Live Help

Where To Start

Translate

Calls

Talks

Overview

Download

Q&A

To Do

Design

Releases

Press

Features

Manual

Contributors

Code

Blog

FreedomBox for Communities

FreedomBox Developer Manual

HELP & DISCUSSIONS: Discussion Forum - Matrix - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project

Next call: Saturday, April 13 at 14:00 UTC

This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.


CategoryFreedomBox