Differences between revisions 16 and 18 (spanning 2 versions)
Revision 16 as of 2020-07-17 17:52:27
Size: 2863
Editor: fioddor
Comment: Picture.
Revision 18 as of 2020-07-17 18:42:35
Size: 4128
Editor: fioddor
Comment: More explanations to XMPP and detailed instructions for JSXC (XMPP) web chat client.
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
||<tablestyle="float: right;"> {{attachment:ejabberd-icon_en_V01.png}} || ||<tablestyle="float: right;"> {{attachment:ejabberd-icon_en_V01.png|alt="ejabberd icon"}} ||
Line 12: Line 12:
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. XMPP can also be used for voice and video calls, if supported by the clients. 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.
Line 14: Line 14:
Currently !FreedomBox offers both, a server (ejabberd) and a web client (JSXC) from its web interface.

=== Privacy ===
Line 20: Line 23:
For XMPP 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 [[../DynamicDNS|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.

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 23: Line 28:
 * 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.
'''
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 27: Line 33:
=== Registering XMPP users through SSO === === Registering FreedomBox users to use XMPP ===
Line 32: Line 38:
||<tablestyle="float: right;"> {{attachment:JSXC-icon_en_V01.png|alt="JSXC icon"}} ||
Line 33: Line 40:
After the XMPP module install completes, the JSXC web client for XMPP can be accessed at {{{https://<your freedombox>/plinth/apps/xmpp/jsxc/}}}. It will automatically check the BOSH server connection to the configured domain name. ==== Installing it ====
You can install JSXC web client for XMPP through its icon in the Apps section of !FreedomBox web interface. The ejabberd (XMPP server) icon also offers to launch the web client (and installs JSXC if not yet installed).

==== Using it ====
After the JSXC module install completes, the JSXC can be accessed through its icon in the Apps section of !FreedomBox web interface. The ejabberd (XMPP server) icon also offers to launch the web client. Both will redirect you to {{{https://<your freedombox>/plinth/apps/xmpp/jsxc/}}}.

To use it, you need to input the domain name of the server to connect to. It will automatically check the BOSH server connection to the given domain name as you type it.
||{{attachment:JSXC-KO_en_V01.png|alt="JSXC not connecting"|height=250}} || {{attachment:JSXC-ok_en_V01.png|alt="JSXC connecting"|height=250}} ||

Check https://www.jsxc.org for further details.

Videoconferencing and file transfer features are offered by JSXC but don't seem to work in !FreedomBox yet.
Line 44: Line 62:
 * TCP 5280 (?)

ejabberd (Chat Server)

alt="ejabberd icon"

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.

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.

Using the web client

[ATTACH]

Installing it

You can install JSXC web client for XMPP through its icon in the Apps section of FreedomBox web interface. The ejabberd (XMPP server) icon also offers to launch the web client (and installs JSXC if not yet installed).

Using it

After the JSXC module install completes, the JSXC can be accessed through its icon in the Apps section of FreedomBox web interface. The ejabberd (XMPP server) icon also offers to launch the web client. Both will redirect you to https://<your freedombox>/plinth/apps/xmpp/jsxc/.

To use it, you need to input the domain name of the server to connect to. It will automatically check the BOSH server connection to the given domain name as you type it.

[ATTACH]

[ATTACH]

Check https://www.jsxc.org for further details.

Videoconferencing and file transfer features are offered by JSXC but don't seem to work in FreedomBox yet.

Using a desktop or mobile client

XMPP clients are available for various desktop and mobile platforms.

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 (?)

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 - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project

Next call: Saturday, December 11 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