From nobody Tue May 24 03:03:10 2022 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id C45211B4F9A3; Tue, 24 May 2022 03:03:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4L6fCL4sBWz3kTb; Tue, 24 May 2022 03:03:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1653361390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jI/JmYGVTiiA9H6/aVlazeLVmvH1Djyj6oHGfLECBNo=; b=c31bmUuJUUfV69/sXYrnt+ZXJNupZg8f+PSbtjHRXKZS3GWihqMiWPr3C1SNRyzOT7/5CA Lkr/dvIJ+KNzs4wCp5cwi3kMTSHvGJA9wT0/oUjkKhAWP2PgivN/tzkwcSR7gbxNS+EZxQ usMehhOdzZAaID/rE1wWNwpmi2jw0qRTObYSuvXHT9MLw/Wo/3QUDaI3jtRrgREBLVyfi7 J4+nb2ACjq0o1Q3Xcm87sdOo9arOaeybRV2hKLthqWS+JoYhWcHCBiYuz+ZBqbLgCLzfPn PfyAumq5KTqi7dEB9eg7MRkXeaaFkyvgVLwV8eTEMfRfZUmFhBVUPUpd0KqNlw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 853821C6A9; Tue, 24 May 2022 03:03:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 24O33ArB090104; Tue, 24 May 2022 03:03:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 24O33Ab5090103; Tue, 24 May 2022 03:03:10 GMT (envelope-from git) Date: Tue, 24 May 2022 03:03:10 GMT Message-Id: <202205240303.24O33Ab5090103@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Jose Alonso Cardenas Marquez Subject: git: 1e3948c05cb8 - main - net-im/jitsi-prosody-plugins: New port: Prosody plugins for Jitsi Meet List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: acm X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e3948c05cb80745167aef0b1b427eb8a90517a7 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1653361390; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jI/JmYGVTiiA9H6/aVlazeLVmvH1Djyj6oHGfLECBNo=; b=bXSOLyzWbdsFGJZG9y7xmVDOUIWiS7LVRkDhjFw9d7N39lfykCnRIL+Brpq1nZ32QyXD1K sN3sFhlqByDnbtCQS7+tBq6g9e0KAmXbX2HQ+EbEiPXxELBn1TsTLFA79irUTvjzdElmQw Sxf2iGCN6A9ZZlt7dvpVVWFhkY7Z4eqwrCkiA/N3z267+VyJ+72pRTTtxowG9FwEhJ5Usp GyEx4WgTvx8N/CipQzbLBwgcar6kCHwh1opPS2ShdtTJt7t/5FwLH8oHJybQAAPiQyWrmI bLQ4U0nqIO5NkaGJ2DTFjLCWLXShVvUuF4bvMqzZ5gi2qR3lvSwNGwjt6jmdRg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1653361390; a=rsa-sha256; cv=none; b=xamwiWq/m45neqP1KyLvN+JbNziUGYro+ifirghfPPI06iO36FHEfjHCeOti6SXLZanhTq h3RNWauRFdcUZSj4qagJ9WAMYwdzJMRuYzc+UyB6LIxJMm1tTO5SWrrOKAFHQ9TSBKswfL G85rmTgQx3hVRF5izoCfIuVpunfy4T8RpaMevD2rAlg0IVccIyYm7/17b+4knpnb2hJ2gj US/I8vN4orqWJFjZFzSmQZs1sNKRbmemHmWsf1HOqVOwETOq2dQoZlIasLKaeLepGUGrsA yMdgxoHWiRm+YdOdbxaYDRvTuM2Ppu7szsuJZBvJeMJBOpCkQ66Sl9H9MgbZww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by acm: URL: https://cgit.FreeBSD.org/ports/commit/?id=1e3948c05cb80745167aef0b1b427eb8a90517a7 commit 1e3948c05cb80745167aef0b1b427eb8a90517a7 Author: Jose Alonso Cardenas Marquez AuthorDate: 2022-05-24 02:39:56 +0000 Commit: Jose Alonso Cardenas Marquez CommitDate: 2022-05-24 02:39:56 +0000 net-im/jitsi-prosody-plugins: New port: Prosody plugins for Jitsi Meet Prosody modules for jitsi-meet. WWW: https://github.com/jitsi/jitsi-meet/ PR: 257232 Reported by: grembo --- net-im/Makefile | 1 + net-im/jitsi-prosody-plugins/Makefile | 44 ++++++ net-im/jitsi-prosody-plugins/distinfo | 3 + .../jitsi-prosody-plugins/files/prosody.cfg.lua.in | 170 +++++++++++++++++++++ net-im/jitsi-prosody-plugins/pkg-descr | 3 + net-im/jitsi-prosody-plugins/pkg-plist | 41 +++++ 6 files changed, 262 insertions(+) diff --git a/net-im/Makefile b/net-im/Makefile index def6a62fbcfe..6165cc734779 100644 --- a/net-im/Makefile +++ b/net-im/Makefile @@ -33,6 +33,7 @@ SUBDIR += jarl SUBDIR += jggtrans SUBDIR += jicofo + SUBDIR += jitsi-prosody-plugins SUBDIR += jitsi-videobridge SUBDIR += kaccounts-integration SUBDIR += kaccounts-providers diff --git a/net-im/jitsi-prosody-plugins/Makefile b/net-im/jitsi-prosody-plugins/Makefile new file mode 100644 index 000000000000..ffdefcbeaf11 --- /dev/null +++ b/net-im/jitsi-prosody-plugins/Makefile @@ -0,0 +1,44 @@ +PORTNAME= jitsi +PORTVERSION= 2.0.7287 +CATEGORIES= net-im +PKGNAMESUFFIX= -prosody-plugins + +MAINTAINER= acm@FreeBSD.org +COMMENT= Prosody plugins for Jitsi Meet + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +RUN_DEPENDS= prosodyctl:net-im/prosody + +NO_ARCH= yes +NO_BUILD= yes + +USE_GITHUB= yes +GH_PROJECT= ${PORTNAME}-meet +GH_TAGNAME= stable/jitsi-meet_7287 + +INSTALLPATH= ${PREFIX}/lib/jitsi-prosody-plugins + +USERS= ${PORTNAME} +GROUPS= ${USERS} + +post-extract: + ${INSTALL_DATA} ${FILESDIR}/prosody.cfg.lua.in \ + ${WRKSRC}/prosody.cfg.lua + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ + ${WRKSRC}/prosody.cfg.lua + @${REINPLACE_CMD} -e 's|%%ETCDIR%%|${ETCDIR}|' \ + ${WRKSRC}/prosody.cfg.lua + +do-install: + ${MKDIR} ${STAGEDIR}${INSTALLPATH}/token + cd ${WRKSRC}/resources/prosody-plugins && \ + ${INSTALL_DATA} *.lua ${STAGEDIR}${INSTALLPATH} + cd ${WRKSRC}/resources/prosody-plugins/token && \ + ${INSTALL_DATA} *.lua ${STAGEDIR}${INSTALLPATH}/token + @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKSRC}/prosody.cfg.lua \ + ${STAGEDIR}${EXAMPLESDIR}/prosody.cfg.lua + +.include diff --git a/net-im/jitsi-prosody-plugins/distinfo b/net-im/jitsi-prosody-plugins/distinfo new file mode 100644 index 000000000000..e1c3e270c9cd --- /dev/null +++ b/net-im/jitsi-prosody-plugins/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1653081177 +SHA256 (jitsi-jitsi-meet-2.0.7287-stable-jitsi-meet_7287_GH0.tar.gz) = 4fe30eaf5d77918a3eff24599dd79c72e67763e27283cef13b44ef43d867967b +SIZE (jitsi-jitsi-meet-2.0.7287-stable-jitsi-meet_7287_GH0.tar.gz) = 117185028 diff --git a/net-im/jitsi-prosody-plugins/files/prosody.cfg.lua.in b/net-im/jitsi-prosody-plugins/files/prosody.cfg.lua.in new file mode 100644 index 000000000000..7c20c254d2da --- /dev/null +++ b/net-im/jitsi-prosody-plugins/files/prosody.cfg.lua.in @@ -0,0 +1,170 @@ +-- Place this file in %%LOCALBASE%%/etc/prosody/prosody.cfg.lua +-- +-- Then run +-- +-- prosodyctl cert generate jitsi.example.com +-- prosodyctl cert generate auth.jitsi.example.com +-- keytool -noprompt -keystore %%ETCDIR%%/jicofo/truststore.jks -importcert \ +-- -alias prosody -file /var/db/prosody/auth.jitsi.example.com.crt +-- +-- prosodyctl register jvb auth.jitsi.example.com "supersecret" +-- prosodyctl register focus auth.jitsi.example.com "supersecret" +-- prosodyctl mod_roster_command subscribe focus.jitsi.example.com focus@auth.jitsi.example.com "supersecret" + +plugin_paths = { "%%LOCALBASE%%/lib/jitsi-prosody-plugins/" } + +log = { + -- Log files (change ‘info’ to ‘debug’ for debug logs): + info = "/var/log/prosody.log"; + error = "/var/log/prosody.err"; + -- Syslog: + --debug = "*syslog"; +} + +-- domain mapper options, must at least have domain base set to use the mapper +muc_mapper_domain_base = "jitsi.example.com"; + +-- external_service_secret = "__turnSecret__"; +-- external_services = { +-- { type = "stun", host = "jitsi.example.com", port = 3478 }, +-- { type = "turn", host = "jitsi.example.com", port = 3478, transport = "udp", secret = true, ttl = 86400, algorithm = "turn" }, +-- { type = "turns", host = "jitsi.example.com", port = 5349, transport = "tcp", secret = true, ttl = 86400, algorithm = "turn" } +--}; + +--cross_domain_bosh = true; +consider_bosh_secure = true; +https_ports = { }; -- Remove this line to prevent listening on port 5284 + +-- by default prosody 0.12 sends cors headers, if you want to disable it uncomment the following (the config is available on 0.12.1) +--http_cors_override = { +-- bosh = { +-- enabled = false; +-- }; +-- websocket = { +-- enabled = false; +-- }; +--} + +-- https://ssl-config.mozilla.org/#server=haproxy&version=2.1&config=intermediate&openssl=1.1.0g&guideline=5.4 +ssl = { + protocol = "tlsv1_2+"; + ciphers = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384" +} + +unlimited_jids = { + "focus@auth.jitsi.example.com", + "jvb@auth.jitsi.example.com" +} + +VirtualHost "jitsi.example.com" + -- enabled = false -- Remove this line to enable this host + authentication = "anonymous" + -- Properties below are modified by jitsi-meet-tokens package config + -- and authentication above is switched to "token" + --app_id="example_app_id" + --app_secret="example_app_secret" + -- Assign this host a certificate for TLS, otherwise it would use the one + -- set in the global section (if any). + -- Note that old-style SSL on port 5223 only supports one certificate, and will always + -- use the global one. + ssl = { + key = "/var/db/prosody/jitsi.example.com.key"; + certificate = "/var/db/prosody/jitsi.example.com.crt"; + } + av_moderation_component = "avmoderation.jitsi.example.com" + speakerstats_component = "speakerstats.jitsi.example.com" + conference_duration_component = "conferenceduration.jitsi.example.com" + -- we need bosh + modules_enabled = { + "bosh"; + "pubsub"; + "ping"; -- Enable mod_ping + "speakerstats"; + "external_services"; + "conference_duration"; + "muc_lobby_rooms"; + "muc_breakout_rooms"; + "av_moderation"; + "saslauth"; + } + c2s_require_encryption = false + lobby_muc = "lobby.jitsi.example.com" + breakout_rooms_muc = "breakout.jitsi.example.com" + main_muc = "conference.jitsi.example.com" + -- muc_lobby_whitelist = { "recorder.jitsi.example.com" } -- Here we can whitelist jibri to enter lobby enabled rooms + +Component "conference.jitsi.example.com" "muc" + restrict_room_creation = true + storage = "memory" + modules_enabled = { + "muc_meeting_id"; + "muc_domain_mapper"; + "polls"; + --"token_verification"; + "muc_rate_limit"; + "saslauth"; + } + admins = { "focus@auth.jitsi.example.com" } + muc_room_locking = false + muc_room_default_public_jids = true + c2s_require_encryption = false + +Component "breakout.jitsi.example.com" "muc" + restrict_room_creation = true + storage = "memory" + modules_enabled = { + "muc_meeting_id"; + "muc_domain_mapper"; + --"token_verification"; + "muc_rate_limit"; + "polls"; + "saslauth"; + } + admins = { "focus@auth.jitsi.example.com" } + muc_room_locking = false + muc_room_default_public_jids = true + +-- internal muc component +Component "internal.auth.jitsi.example.com" "muc" + storage = "memory" + modules_enabled = { + "ping"; + } + admins = { "focus@auth.jitsi.example.com", "jvb@auth.jitsi.example.com" } + muc_room_locking = false + muc_room_default_public_jids = true + c2s_require_encryption = false + +VirtualHost "auth.jitsi.example.com" + modules_enabled = { + "limits_exception"; + "saslauth"; + } + -- authentication = "internal_plain" + c2s_require_encryption = false + authentication = "internal_hashed" + +-- Proxy to jicofo's user JID, so that it doesn't have to register as a component. +Component "focus.jitsi.example.com" "client_proxy" + target_address = "focus@auth.jitsi.example.com" + +Component "speakerstats.jitsi.example.com" "speakerstats_component" + muc_component = "conference.jitsi.example.com" + +Component "conferenceduration.jitsi.example.com" "conference_duration_component" + muc_component = "conference.jitsi.example.com" + +Component "avmoderation.jitsi.example.com" "av_moderation_component" + muc_component = "conference.jitsi.example.com" + +Component "lobby.jitsi.example.com" "muc" + storage = "memory" + restrict_room_creation = true + muc_room_locking = false + muc_room_default_public_jids = true + modules_enabled = { + "muc_rate_limit"; + "polls"; + "saslauth"; + } + c2s_require_encryption = false diff --git a/net-im/jitsi-prosody-plugins/pkg-descr b/net-im/jitsi-prosody-plugins/pkg-descr new file mode 100644 index 000000000000..cbf9675bb22b --- /dev/null +++ b/net-im/jitsi-prosody-plugins/pkg-descr @@ -0,0 +1,3 @@ +Prosody modules for jitsi-meet. + +WWW: https://github.com/jitsi/jitsi-meet/ diff --git a/net-im/jitsi-prosody-plugins/pkg-plist b/net-im/jitsi-prosody-plugins/pkg-plist new file mode 100644 index 000000000000..7f83797c149f --- /dev/null +++ b/net-im/jitsi-prosody-plugins/pkg-plist @@ -0,0 +1,41 @@ +lib/jitsi-prosody-plugins/ext_events.lib.lua +lib/jitsi-prosody-plugins/mod_auth_jitsi-anonymous.lua +lib/jitsi-prosody-plugins/mod_auth_token.lua +lib/jitsi-prosody-plugins/mod_av_moderation.lua +lib/jitsi-prosody-plugins/mod_av_moderation_component.lua +lib/jitsi-prosody-plugins/mod_client_proxy.lua +lib/jitsi-prosody-plugins/mod_conference_duration.lua +lib/jitsi-prosody-plugins/mod_conference_duration_component.lua +lib/jitsi-prosody-plugins/mod_external_services.lua +lib/jitsi-prosody-plugins/mod_filter_iq_jibri.lua +lib/jitsi-prosody-plugins/mod_filter_iq_rayo.lua +lib/jitsi-prosody-plugins/mod_jiconop.lua +lib/jitsi-prosody-plugins/mod_jitsi_session.lua +lib/jitsi-prosody-plugins/mod_limits_exception.lua +lib/jitsi-prosody-plugins/mod_muc_allowners.lua +lib/jitsi-prosody-plugins/mod_muc_breakout_rooms.lua +lib/jitsi-prosody-plugins/mod_muc_call.lua +lib/jitsi-prosody-plugins/mod_muc_census.lua +lib/jitsi-prosody-plugins/mod_muc_domain_mapper.lua +lib/jitsi-prosody-plugins/mod_muc_lobby_rooms.lua +lib/jitsi-prosody-plugins/mod_muc_max_occupants.lua +lib/jitsi-prosody-plugins/mod_muc_meeting_id.lua +lib/jitsi-prosody-plugins/mod_muc_password_whitelist.lua +lib/jitsi-prosody-plugins/mod_muc_poltergeist.lua +lib/jitsi-prosody-plugins/mod_muc_rate_limit.lua +lib/jitsi-prosody-plugins/mod_muc_size.lua +lib/jitsi-prosody-plugins/mod_muc_transcription_filter.lua +lib/jitsi-prosody-plugins/mod_polls.lua +lib/jitsi-prosody-plugins/mod_poltergeist_component.lua +lib/jitsi-prosody-plugins/mod_presence_identity.lua +lib/jitsi-prosody-plugins/mod_reservations.lua +lib/jitsi-prosody-plugins/mod_roster_command.lua +lib/jitsi-prosody-plugins/mod_smacks.lua +lib/jitsi-prosody-plugins/mod_speakerstats.lua +lib/jitsi-prosody-plugins/mod_speakerstats_component.lua +lib/jitsi-prosody-plugins/mod_token_verification.lua +lib/jitsi-prosody-plugins/mod_turncredentials.lua +lib/jitsi-prosody-plugins/poltergeist.lib.lua +lib/jitsi-prosody-plugins/token/util.lib.lua +lib/jitsi-prosody-plugins/util.lib.lua +%%EXAMPLESDIR%%/prosody.cfg.lua