Commit Graph

76 Commits

Author SHA1 Message Date
Mehdi Benadel 2c81d9a052 lint update 2024-05-28 13:43:07 +02:00
John Livingston 5a14e3f755
New setting to listen C2S connection on non-localhost interfaces (#377). 2024-05-27 16:32:40 +02:00
John Livingston d5c327565c
Adding SPDX headers (WIP) 2024-05-23 11:42:14 +02:00
John Livingston 7608f7c14b
Task lists WIP:
* first shot for the pubsub module that will handle tasks.
2024-05-13 10:52:32 +02:00
John Livingston 8a65f447c8
Possibility to configure an OpenID Connect provider on the instance level WIP (#128)
Get avatar from remote service.
2024-04-19 09:58:35 +02:00
John Livingston 3efbfbc12b
Possibility to configure an OpenID Connect provider on the instance
level WIP (#128)

Fix chat federation.
2024-04-19 09:58:35 +02:00
John Livingston 3a5f27e751
Possibility to configure an OpenID Connect provider on the instance level WIP (#128). 2024-04-19 09:58:33 +02:00
John Livingston 4dd4f18965
Fix #87: updating chat room title when video/channel title is changed:
* renaming module list_rooms to manage_rooms
* added some API to update room info
* when a video or a channel is updated, sending an API call to update
  the room
2024-03-07 16:22:14 +01:00
John Livingston 9ec7167da1
Debug Mode: new option to promote some JIDs as admins on the MUC component. 2024-02-29 15:58:41 +01:00
John Livingston 3d9237624d
Naming:
* changing delay by duration for slow mode options
* better labels
2024-02-16 17:35:55 +01:00
John Livingston afbc78d0e6
Slow Mode WIP (#192): option position 2024-02-16 17:35:54 +01:00
John Livingston ee71d3f729
Slow mode WIP (#192):
* new option in room configuration to set the slow mode delay (new prosody module mod_muc_slow_mode).
2024-02-16 17:35:48 +01:00
John Livingston c008e84da7
Fix #295: Prosody: disabling message carbons for anonymous users.
Anonymous users can't use carbons, as they cannot connect with multiple
tabs on the same anonymous account.
So we disable carbons on the anonymous virtualhost, to improve
performances.

See here for some performances tests: https://github.com/JohnXLivingston/livechat-perf-test/tree/main/tests/50-anonymous-carbons
2024-02-01 15:20:52 +01:00
John Livingston e2c85af001
Bot avatar:
* For now, only one avatar possible,
* uses mod_random_vcard_peertubelivechat,
* mod_random_vcard_peertubelivechat has a new option with the avatar
  list (instead of a hardcoded avatar number)
* Peertube lists available avatars files, and pass it to mod_random_vcard_peertubelivechat
2023-09-25 11:20:46 +02:00
John Livingston d80cedfee5
Auto ban anonymous IP:
* New settings: "Ban anonymous user's IP when user is banned from a chatroom":
  * if enabled, every time a streamer bans an anonymous user, it will ban its IP on the chat server,
  * banned IPs are logged on disk, so server's admin can use them to feed fail2ban (for example),
  * option disabled by default, because could be used to create trapped-rooms on public servers
2023-09-22 18:17:54 +02:00
John Livingston 9e7d9c6069
Bot must be admin on the MUC component. 2023-09-22 16:45:07 +02:00
John Livingston e0c31f09aa
Fix bot authentication. 2023-09-22 16:45:06 +02:00
John Livingston 2289d79c28
Various fix and wip 2023-09-22 16:45:06 +02:00
John Livingston f97e54d499
Moderation Bot integration WIP:
* Start and stop the bot WIP
* Prosody: removing the BOSH module from the global scope (must only be present on relevant virtualhosts)
* Some refactoring
2023-09-22 16:45:06 +02:00
John Livingston d0ba7d017d
External Components interface configuration:
You can now configure on which network interfaces Prosody will listen for external components.
2023-09-22 16:45:02 +02:00
John Livingston 9f8a9ae5ae
Fix typo. 2023-08-07 10:19:42 +02:00
John Livingston 8f66ea4032
Fix #180: Letsencrypt import not working
Letsencrypt certificate import procedure was not working on server that had never installed Prosody.
Adding `prosody_user` in the Prosody configuration file to fix this.
Updating the procedure: the `chown` is no more needed in `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh`.
2023-06-08 10:22:43 +02:00
John Livingston 472caf9f5b
Fix: direct s2s connection not always possible
Trying to connect to a remote instance using direct s2s won't work if local instance has not the feature enabled, and if the remote instance does not know the local one.
So using Websocket S2S in such case (that embed a discovery mecanism).
2023-06-01 13:06:59 +02:00
John Livingston 2de38661d6
Websocket S2S: ping every 55s to keep alive. 2023-05-31 16:52:52 +02:00
John Livingston 92d92e3350
Fix: i misunderstood the parameter s2s_close_timeout. And removing a duplicate hook. 2023-05-31 16:52:52 +02:00
John Livingston b525c203da
Chat Federation: first working PoC! 2023-05-31 16:52:49 +02:00
John Livingston 5a945a0cb7
Chat Federation WIP:
Found that net.websocket is not appropriate.
This commit is a proof of concept. It has to be cleaned.
Still not working, but close!
2023-05-31 16:52:48 +02:00
John Livingston 9a2da60b7d
Chat Federation (and a lot more) WIP:
Note: websocket s2s is not working yet, still WIP.

New Features

* Chat Federation:
  * You can now connect to a remote chat with your local account.
  * This remote connection is done using a custom implementation of [XEP-0468: WebSocket S2S](https://xmpp.org/extensions/xep-0468.html), using some specific discovering method (so that it will work without any DNS configuration).

Minor changes and fixes

* Possibility to debug Prosody in development environments.
* Using process.spawn instead of process.exec to launch Prosody (safer, and more optimal).
* Prosody AppImage: fix path mapping: we only map necessary /etc/ subdir, so that the AppImage can access to /etc/resolv.conf, /etc/hosts, ...
* Prosody AppImage: hidden debug mode to disable lua-unbound, that seems broken in some docker dev environments.
2023-05-31 16:52:47 +02:00
John Livingston 3bc05d88df
Chat Federation: using S2S if available.
* if both local and remote instance have external XMPP connections enabled, the user joins the remote room with his local account
* some code refactoring (builtin.ts)

Note: documentation and settings descriptions are to do.

Related to #112
2023-05-31 16:52:47 +02:00
John Livingston 801798852c Prosody: new settings to provide a custom certificates dir 2023-04-14 11:33:41 +02:00
John Livingston f8b83defb5 Fix Prosody configuration. 2023-04-14 11:33:41 +02:00
John Livingston 38023df6be XMPP clients connections WIP + fix mod_muc_http_defaults 2023-04-14 11:33:41 +02:00
John Livingston d544a53b38 XMPP clients connections WIP 2023-04-14 11:33:41 +02:00
John Livingston 4d9d9d39b0 XMPP clients connections WIP:
* new option to allow external xmpp account s2s connections
* settings to setup the port and network interfaces
* documentation WIP

Related to issue #114
2023-04-14 11:33:41 +02:00
John Livingston 6f47ffe19d
Comment update. 2022-11-18 17:06:53 +01:00
John Livingston 174b996b74
Updating comment. 2022-11-18 12:36:14 +01:00
John Livingston a25cdb44ef
Fix WS timeouts:
Nginx as also a timeout. Seems to be 30s. So we ping every 25s, and set an intermediate timeout for Prosody.
2022-11-01 11:58:02 +01:00
John Livingston 90e86a130a
Fix Websocket timeouts:
* defining a ping_interval in ConverseJS
* defining a longer c2s_close_timeout in Prosody configuration
2022-11-01 11:37:24 +01:00
John Livingston 6a54f4d747
Disco: hide external components. 2022-11-01 11:23:34 +01:00
John Livingston ab89351f42
Prosody server: enabling mod_disco. 2022-11-01 10:35:42 +01:00
John Livingston 9e06e32351
Websocket: only activate on Prosody if the feature is available. 2022-10-13 18:56:00 +02:00
John Livingston e7eca75736
Fix Prosody WS configuration. 2022-10-13 10:47:36 +02:00
John Livingston 6f8c7b8a93
Websocket for builtin Prosody. WIP 2022-10-13 10:47:33 +02:00
John Livingston 01a052d380
Fix #97 #54: Settings to hide the chat for anonymous users 2022-04-11 18:12:12 +02:00
John Livingston bf35172856
Builtin Prosody: display random avatars for anonymous users. 2022-01-06 05:30:55 +01:00
John Livingston 6afb640df2
Builtin-Prosody: use Peertube's avatar. 2022-01-05 18:53:44 +01:00
John Livingston be592aeacf
Enable Prosody modules pep and vcard_legacy. 2022-01-05 02:01:54 +01:00
John Livingston df3f87e903
XMPP external components. 2021-12-11 19:09:01 +01:00
John Livingston 2e7cec04d9
Reverting work on DemoBot (it is now an external package). 2021-12-11 17:40:26 +01:00
John Livingston 978ee83eee
Demo Bot: first proof of concept. 2021-12-07 13:14:01 +01:00