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
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
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
b3582e6bfa
Fix missing self signed certificates is some conditions.
2023-05-31 16:52:53 +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
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