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
8fe48a068f
Refactoring the debug mode code, and adding some options.
2023-05-31 16:52:49 +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
d359d3ad99
Fix Prosody room topic:
...
Due to a bug in mod_muc_http_defaults (https://hg.prosody.im/prosody-modules/rev/6d99ddd99694 ),
room topics were badly configured. The plugin will fix them at startup, and stops trying to set the subject.
2023-04-14 11:33:41 +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
b4dabfeeb9
New debug mode:
...
Debug mode is no more triggered by the NODE_ENV value, but by testing
the existance of a file in the plugin data directory.
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
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
c81c2eb9bb
Diagnostic tool: add the result of prosodyctl check
in the debug section.
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
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
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
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
507da6e042
Fix Peertube crash when stopping the BOSH proxy.
2022-10-13 10:44:02 +02:00
John Livingston
de179e90d3
Promisify proxy close.
2022-10-13 10:44:01 +02:00
John Livingston
1bb202d9d3
Replacing express-http-proxy by http-proxy + code refactoring.
2022-10-13 10:43:59 +02:00
John Livingston
7906ddf625
Prosody mode only:
...
Removing old modes (ConverseJS and External URI).
Work in progress.
2022-10-10 18:08:20 +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
be592aeacf
Enable Prosody modules pep and vcard_legacy.
2022-01-05 02:01:54 +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
John Livingston
978ee83eee
Demo Bot: first proof of concept.
2021-12-07 13:14:01 +01:00
John Livingston
f8ce4e6583
Config: preparing the arrival of new config files (for bots). Code refactoring.
2021-12-07 11:59:32 +01:00
John Livingston
2244ae22c2
Prosody diagnostic: hidden secret keys from the result.
2021-12-07 10:50:28 +01:00
John Livingston
62456aead1
Bots settings (WIP).
2021-12-07 10:29:20 +01:00
John Livingston
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
John Livingston
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
John Livingston
ddaf57b5d5
Minor fix + code refactoring.
2021-08-04 00:57:14 +02:00
John Livingston
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
John Livingston
446ebc0de9
Merge branch 'release/3.2.0' into prosody_room_list
2021-07-14 19:11:09 +02:00
John Livingston
ed718d7d27
Rewriting some c2s code.
2021-07-14 18:46:08 +02:00
tytan652
3b51bf2946
Add localhost c2s connections
2021-07-13 20:18:32 +02:00
John Livingston
98c5518059
Fix muc component http_host.
2021-07-06 11:26:37 +02:00
John Livingston
47bf53bafb
Merge branch 'release/3.2.0' into prosody_room_list
2021-06-22 13:47:39 +02:00
John Livingston
6608480826
Builtin Prosody: optional settings to change the url for Prosody's API calls.
2021-06-22 13:23:01 +02:00
John Livingston
a526feac19
Diagnostic tool: testing API communication from Prosody to Peertube.
2021-06-22 12:57:24 +02:00
John Livingston
7279761c66
Diagnostic tool: testing API communication between Peertube and Prosody.
2021-06-22 10:26:45 +02:00
John Livingston
30d70e033e
Retrieving list rooms from prosody.
2021-06-12 03:52:45 +02:00
John Livingston
d0b44c3486
Replacing old settings by chat-type.
2021-06-03 11:46:11 +02:00
John Livingston
10bbb7f040
Remove backward compatibility (peertubeHelpers.plugin always available).
2021-06-02 15:48:56 +02:00
John Livingston
af20f3918f
Remove backward compatibility (always using permanent working dir).
2021-06-02 12:41:28 +02:00
John Livingston
bc81008ffb
Room are persistent by default when there is a non temporary working dir.
2021-05-18 18:29:17 +02:00
John Livingston
2a8df1dc3c
Use peertubeHelpers.plugin methods when available:
...
* getBaseStaticRoute use peertubeHelper when available
* getBaseRouter renamed getBaseRouterRoute and use peertubeHelper when available
* Backward compatibility is maintained.
2021-05-18 18:06:11 +02:00
John Livingston
4cf9ab51aa
Prosody log rotation every 24 hour.
2021-05-12 14:59:52 +02:00
John Livingston
c5bcf611d3
Prosody log level will be the same as the Peertube's one.
2021-05-12 11:48:38 +02:00
John Livingston
c9eb3ffda4
Update comment after more tests.
2021-05-11 17:31:20 +02:00
John Livingston
236a9301bc
mod_muc_moderation
2021-05-11 16:49:55 +02:00
John Livingston
a602c7870a
Using mod_muc_mam:
...
* Starting with Peertube 3.2.0, builtin prosody save room history on server. So when a user connects, he can get previously send messages.
* Fix: settings archive_expires_after was useless without mod_mam
2021-05-11 16:10:57 +02:00
John Livingston
094193a3b1
Builtin prosody use a working dir provided by Peertube.
2021-05-11 15:37:34 +02:00
John Livingston
5484947f51
Fix: if the video owner is already owner of the chatroom, he should not be downgraded to admin.
2021-05-06 21:05:46 +02:00
John Livingston
e91d378e5c
Fix: 2.1.0 was in fact correct... Did not work on my preprod env because of... a Livebox bug...
2021-05-06 21:00:42 +02:00
John Livingston
fec219a909
Revert getProsodyDomain. Broken when not on localhot.
2021-05-06 14:04:16 +02:00
John Livingston
f590cf2c7b
Builtin Prosody: use Peertube domain instead of localhost.
2021-05-06 13:31:55 +02:00
John Livingston
bda306b461
Dont add chat admin for remote videos.
2021-05-06 12:42:07 +02:00
John Livingston
27d8ab7fc6
Prosody: the video owner is admin for the room.
2021-05-05 18:00:03 +02:00
John Livingston
6b77c3585d
Protecting some APIs with an APIKEY.
2021-05-05 17:06:19 +02:00
John Livingston
07353bd327
Prosody: instance moderators and administrators are automatically owner of rooms.
2021-05-05 15:22:37 +02:00
John Livingston
5792b98376
Rewriting using Map.
2021-05-04 16:43:38 +02:00
John Livingston
96844d1662
carbon module
2021-05-04 13:16:59 +02:00
John Livingston
76adc7124f
Prosody auth, first working code:
...
* generated password on an api call
* use this password to authenticate on prosody
* using helper getAuthUser when available, else fallback to custom code
2021-05-04 13:00:44 +02:00
John Livingston
4a4ffaae2d
Prosody auth WIP.
2021-05-03 20:37:23 +02:00
John Livingston
5575628e99
Moving the prosody virtualhost to anon.localhost.
2021-05-02 16:55:01 +02:00
John Livingston
e1b08ce025
Removing muc_create_api_auth, because Peertube will not allow an authorization header.
2021-05-02 15:22:08 +02:00
John Livingston
75bbfc9159
mod_muc_http_defaults WIP.
2021-05-02 14:35:58 +02:00
John Livingston
aa88870a49
Prosody: specifying storage=internal.
2021-04-30 18:00:21 +02:00
John Livingston
fbfd86aab0
WIP.
2021-04-30 16:48:16 +02:00
John Livingston
1c0fbe743f
Rewriting the prosody config generator code.
2021-04-30 16:22:58 +02:00
John Livingston
c19035c0b7
mod_muc_http_defaults WIP.
2021-04-29 18:31:48 +02:00
John Livingston
a4d671bf50
Prosody log level debug for test environment.
2021-04-29 17:45:04 +02:00
John Livingston
62af899a50
Builtin Prosody modules:
...
* initialize prosody modules folder
* comment on prosody modules licensing
* use mod_muc_http_defaults to set rooms properties and prevent unauthorized room creation WIP
2021-04-29 16:50:30 +02:00
John Livingston
079332733a
Fix Peertube server crash when prosody is not installed.
2021-04-18 17:48:21 +02:00
John Livingston
295a55c9f6
Port configuration.
2021-04-16 15:13:46 +02:00
John Livingston
fce0e7c63c
Cleaning config file.
2021-04-16 14:39:25 +02:00
John Livingston
bd91abc5b8
Working prosody configuration.
2021-04-16 14:26:21 +02:00