Commit Graph

78 Commits

Author SHA1 Message Date
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
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
9e7d9c6069 Bot must be admin on the MUC component. 2023-09-22 16:45:07 +02:00
e0c31f09aa Fix bot authentication. 2023-09-22 16:45:06 +02:00
2289d79c28 Various fix and wip 2023-09-22 16:45:06 +02:00
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
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
9f8a9ae5ae Fix typo. 2023-08-07 10:19:42 +02:00
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
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
2de38661d6 Websocket S2S: ping every 55s to keep alive. 2023-05-31 16:52:52 +02:00
92d92e3350 Fix: i misunderstood the parameter s2s_close_timeout. And removing a duplicate hook. 2023-05-31 16:52:52 +02:00
b525c203da Chat Federation: first working PoC! 2023-05-31 16:52:49 +02:00
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
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
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
801798852c Prosody: new settings to provide a custom certificates dir 2023-04-14 11:33:41 +02:00
f8b83defb5 Fix Prosody configuration. 2023-04-14 11:33:41 +02:00
38023df6be XMPP clients connections WIP + fix mod_muc_http_defaults 2023-04-14 11:33:41 +02:00
d544a53b38 XMPP clients connections WIP 2023-04-14 11:33:41 +02:00
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
ed3f236120 Prosody Appimage: supports only x86_64:
* stop trying to generated an ARM64 AppImage (as it is buggy)
* display a warning in the settings if incompatible CPU detected
* documentation for a workaround

Implements #120.
2022-12-12 19:17:43 +01:00
24696acdbe #120: adding a certs directory to avoid Prosody error logs. 2022-12-06 17:19:53 +01:00
6f47ffe19d Comment update. 2022-11-18 17:06:53 +01:00
174b996b74 Updating comment. 2022-11-18 12:36:14 +01:00
8f5b2ae565 Prosody AppImage: extract in a dedicated folder 2022-11-15 16:30:24 +01:00
459d92cef9 Embedding Prosody using AppImage:
Thanks to this commit, there is no more need to manually install Prosody
on the server.
The plugin now build and embed an AppImage of Prosody.

In this commit:
* building and using a Prosody AppImage.
* Adding a launcher in the AppImage: the first command argument tells if
  we want to run prosody or prosodyctl
* prosodyCtl functions now uses the AppImage.
* Prosody AppImage: extract once at the startup, then run the squashfs
2022-11-15 15:20:10 +01:00
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
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
6a54f4d747 Disco: hide external components. 2022-11-01 11:23:34 +01:00
ab89351f42 Prosody server: enabling mod_disco. 2022-11-01 10:35:42 +01:00
9e06e32351 Websocket: only activate on Prosody if the feature is available. 2022-10-13 18:56:00 +02:00
e7eca75736 Fix Prosody WS configuration. 2022-10-13 10:47:36 +02:00
6f8c7b8a93 Websocket for builtin Prosody. WIP 2022-10-13 10:47:33 +02:00
01a052d380 Fix #97 #54: Settings to hide the chat for anonymous users 2022-04-11 18:12:12 +02:00
7db856ce0f Using types declarations from the official @peertube/peertube-types package. 2022-01-11 01:29:33 +01:00
bf35172856 Builtin Prosody: display random avatars for anonymous users. 2022-01-06 05:30:55 +01:00
6afb640df2 Builtin-Prosody: use Peertube's avatar. 2022-01-05 18:53:44 +01:00
be592aeacf Enable Prosody modules pep and vcard_legacy. 2022-01-05 02:01:54 +01:00
df3f87e903 XMPP external components. 2021-12-11 19:09:01 +01:00
2e7cec04d9 Reverting work on DemoBot (it is now an external package). 2021-12-11 17:40:26 +01:00
978ee83eee Demo Bot: first proof of concept. 2021-12-07 13:14:01 +01:00
f8ce4e6583 Config: preparing the arrival of new config files (for bots). Code refactoring. 2021-12-07 11:59:32 +01:00
62456aead1 Bots settings (WIP). 2021-12-07 10:29:20 +01:00
5e988605ce Builtin Prosody: new settings to choose how long the room's content is archived, and if it should be archived by default. 2021-12-01 12:57:15 +01:00
5c0b274f39 Builtin Prosody: adding the prosody-room-type settings to allow rooms to be per channel or per video. WIP. 2021-08-05 15:41:49 +02:00
ddaf57b5d5 Minor fix + code refactoring. 2021-08-04 00:57:14 +02:00
40ad9629fc Fix broken API diagnostic.
* Moving http_peertubelivechat_test module in muc component, as the
global config has no http_host.
* Adding Host HTTP Header to API call from Peertube to Prosody
2021-07-20 02:52:58 +02:00
446ebc0de9 Merge branch 'release/3.2.0' into prosody_room_list 2021-07-14 19:11:09 +02:00
ed718d7d27 Rewriting some c2s code. 2021-07-14 18:46:08 +02:00