Commit Graph

89 Commits

Author SHA1 Message Date
John Livingston 4168b2ce41
Poll WIP (#231):
* various fix and improvements
2024-07-05 11:23:28 +02:00
John Livingston b110456029
Terms&Conditions (#18) WIP:
* Converse module to display terms.
* Prosody module to send terms.
2024-06-25 12:21:01 +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 024186ba2c
Adding some standard OpenID Connect providers (Google, Facebook) (WIP):
* refactoring, to allow several OIDC singletons
* settings for google and facebook
* backend code
2024-04-22 13:03:31 +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 2115b352a4
Updating xmppjs-chat-box version. 2024-03-07 10:14:36 +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 cd97d91f79
Replaced a sync file operation by an async one, to avoid blocking the server. 2024-02-16 17:35:54 +01:00
John Livingston 8a400d2d9f
New abstract avatars 2024-02-12 16:50:08 +01:00
John Livingston 91ef261c16
Fenec avatars. 2024-02-09 15:35:40 +01:00
John Livingston fbeffef34b
Bird avatars. 2024-02-09 15:12:48 +01:00
John Livingston 9561f36b93
Cats avatars. 2024-02-09 13:17:12 +01:00
John Livingston 70563200fe
New avatars:
* new settings to change the avatar set
* user documentation
2024-02-09 12:41:05 +01:00
John Livingston 19fca3891a
New avatars:
* moving files in better directory structure
* new bot avatar
2024-02-09 11:16:29 +01:00
John Livingston b9b0eb41d9
New avatars set WIP:
* adding new avatars by David Revoy
* replacing old avatars to test

TODO: add a settings to choose between legacy and new avatars.
TODO: generate a bot avatar.
2024-02-08 18:49:49 +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 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 609b9e99ec Fix #100: API endpoint enhancement
Bypassing Nginx for API call originated from Prosody (if Peertube >=5.1).
Can also fix some Docker setup, which needed to set the prosody-peertube-uri settings.
2023-08-02 17:08:42 +02:00
John Livingston f644ad0d88
Fix #124 (dirty hack):
This commit is a dirty hack to fix issue with ARM64 Prosody AppImage.
The fixed appimagebuild tool is not released by the dev team.
So i patch it in my build script. This is not a good solution, but it
works, and let me go forward.
2023-05-31 18:13:35 +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 cf0e4d8061 Fix settings read. 2023-04-14 11:33:41 +02:00
John Livingston 801798852c Prosody: new settings to provide a custom certificates dir 2023-04-14 11:33:41 +02:00
John Livingston a87a622cba Prosody: renew self signed certificates periodically 2023-04-14 11:33:41 +02:00
John Livingston f8b83defb5 Fix Prosody configuration. 2023-04-14 11:33:41 +02:00
John Livingston 772689f9ce Prosody: Generating self-signed certificates for s2s connections. 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 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
John Livingston 24696acdbe
#120: adding a certs directory to avoid Prosody error logs. 2022-12-06 17:19:53 +01:00
John Livingston e6da0a879f
Prosody AppImage: aarch64 architecture. 2022-11-22 11:35:38 +01:00
John Livingston 8f5b2ae565
Prosody AppImage: extract in a dedicated folder 2022-11-15 16:30:24 +01:00
John Livingston 27e8fbf05f
Fix: creating working directories before extracting Prosody AppImage 2022-11-15 16:07:12 +01:00
John Livingston 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
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 7db856ce0f
Using types declarations from the official @peertube/peertube-types package. 2022-01-11 01:29:33 +01: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 586df3983c
Fix typo. 2021-12-13 21:51:00 +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 42988a5d04
Demo Bot: Complete code refactoring. WIP. 2021-12-08 15:29:34 +01:00
John Livingston 0e45f9a197
Demo Bot: WIP. 2021-12-07 18:57:08 +01:00