From ed5fa8c5813fd326600af9635e6497af5c90af48 Mon Sep 17 00:00:00 2001 From: Joerg Deckert Date: Sun, 29 Mar 2020 11:48:45 +0200 Subject: [PATCH] new: jitsi meet ebuilds --- net-misc/jicofo-bin/Manifest | 6 + net-misc/jicofo-bin/files/config.example | 27 + net-misc/jicofo-bin/files/jicofo-init.d | 28 + net-misc/jicofo-bin/files/jicofo.service | 14 + net-misc/jicofo-bin/jicofo-bin-1.0.508.ebuild | 63 +++ net-misc/jitsi-meet-web-bin/Manifest | 3 + .../files/meet.example.com-config.js | 482 ++++++++++++++++++ .../jitsi-meet-web-bin-1.0.3729.ebuild | 39 ++ net-misc/jitsi-videobridge-bin/Manifest | 5 + .../files/config.example | 19 + .../files/jitsi-videobridge-init.d | 34 ++ .../jitsi-videobridge-bin-1126.ebuild | 61 +++ 12 files changed, 781 insertions(+) create mode 100644 net-misc/jicofo-bin/Manifest create mode 100644 net-misc/jicofo-bin/files/config.example create mode 100755 net-misc/jicofo-bin/files/jicofo-init.d create mode 100644 net-misc/jicofo-bin/files/jicofo.service create mode 100644 net-misc/jicofo-bin/jicofo-bin-1.0.508.ebuild create mode 100644 net-misc/jitsi-meet-web-bin/Manifest create mode 100644 net-misc/jitsi-meet-web-bin/files/meet.example.com-config.js create mode 100644 net-misc/jitsi-meet-web-bin/jitsi-meet-web-bin-1.0.3729.ebuild create mode 100644 net-misc/jitsi-videobridge-bin/Manifest create mode 100644 net-misc/jitsi-videobridge-bin/files/config.example create mode 100755 net-misc/jitsi-videobridge-bin/files/jitsi-videobridge-init.d create mode 100644 net-misc/jitsi-videobridge-bin/jitsi-videobridge-bin-1126.ebuild diff --git a/net-misc/jicofo-bin/Manifest b/net-misc/jicofo-bin/Manifest new file mode 100644 index 0000000..e7da0e5 --- /dev/null +++ b/net-misc/jicofo-bin/Manifest @@ -0,0 +1,6 @@ +AUX config.example 999 BLAKE2B 42178d9dc2a04112f0230a724b3e3cd42bca744fd33b62d321c7d936396f23a0c90cd886c925fe88288d7ca4444eb896da12338090f4461c784909a1b40aa389 SHA512 f49757987c1020eb9637748a3a1d960394aed133e3231f0d2871509791e1c143f546b4720da58a62d2910d8e8c7941f030e2eff183ed3eae2fa1b15da0d792c9 +AUX jicofo-init.d 1058 BLAKE2B 32467d7085786efb52eedc16c59b7ab560d3bbbb122bc9fd7306368432f901e5da18f07df7c4f91157231e3c07fa9479065ea87a005e629d5aeeb80cc3f95441 SHA512 90bf80dd87eed14d2421ee5ce886768103ee09ae8940ff0f1e10d4020cda54d0080d6527fd5988014c8a1a4f869439c5d8e2305389a84f97bff43b810205cca8 +AUX jicofo.service 471 BLAKE2B e1556f938216936a4ee1076d40bc75932f979bf17b654e0a77ea3c419a3365d3f2132bfc2e15fa62877faddb8630bc1194642b919649afd4c1a0d175de4d1294 SHA512 7fc15935d78142fadaf2acf63567070a9f35e5e4c45a188b6cae8ef4b36ea2071975de50cb53217e9cd87462cb583f9455d6f373717ef55a41ea98dd1def1183 +DIST jicofo_1.0-508-1_amd64.deb 32846750 BLAKE2B 6fca30a3bfbd068f6bf4b4d926bebf042d378226d5aef525ddb6cf46f0afaea8cf60e6457b73d388456eab62d3fa3d9fba0afe5fcd39e198b87bed38aa5898dd SHA512 c3fec67bb872df44deee227dbbbbf41d3d74de11b951eb08fa460a46104a5e212cf9266f752bc2e355b49c1246bdbae03e89526dc792495cb5a7145b382d0b37 +DIST jicofo_1.0-508-1_i386.deb 32846864 BLAKE2B 809850e072c8886e8fce990df75ff10ed33dc2e04a327135709ee775acb30f116bed3c6dccdfbc07d17e5c1cfe3c183bebaada1f58647aec85b47601b885a82c SHA512 1c9adcd14cd1a14f725157df171f2604f27b77a7fe8e707a82a8e61f6d8672fdfac5a57f284ae95b4e62beeb2a1f6108bd39b5b412fc445fa987b918aeda5f43 +EBUILD jicofo-bin-1.0.508.ebuild 1429 BLAKE2B 909f4e39ad9ea149b2578fa7391e47a4821c956b54b679f6192dee43184b71e9846ee46dd57553c9855a92239f9c8b03e199cd8b572aabd856f2b3919ace2381 SHA512 6900af10a394f29830dd180ba68e8f735022569a53c47bf92f58c7f03b0e910b8d0bb4caed2445cf98301c4113d22b6d0d1dcf28e2e23b1db9d9872383c8ff6b diff --git a/net-misc/jicofo-bin/files/config.example b/net-misc/jicofo-bin/files/config.example new file mode 100644 index 0000000..c24ec3d --- /dev/null +++ b/net-misc/jicofo-bin/files/config.example @@ -0,0 +1,27 @@ +# Jitsi Conference Focus settings +# sets the host name of the XMPP server +JICOFO_HOST=localhost + +# sets the XMPP domain (default: none) +JICOFO_HOSTNAME=meet.example.com + +# sets the secret used to authenticate as an XMPP component +JICOFO_SECRET=secret + +# sets the port to use for the XMPP component connection +JICOFO_PORT=5347 + +# sets the XMPP domain name to use for XMPP user logins +JICOFO_AUTH_DOMAIN=auth.meet.example.com + +# sets the username to use for XMPP user logins +JICOFO_AUTH_USER=focus + +# sets the password to use for XMPP user logins +JICOFO_AUTH_PASSWORD=secretfocus + +# extra options to pass to the jicofo daemon +JICOFO_OPTS="" + +# adds java system props that are passed to jicofo (default are for home and logging config file) +JAVA_SYS_PROPS="-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=jicofo -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/jitsi/jicofo/logging.properties" diff --git a/net-misc/jicofo-bin/files/jicofo-init.d b/net-misc/jicofo-bin/files/jicofo-init.d new file mode 100755 index 0000000..778ce41 --- /dev/null +++ b/net-misc/jicofo-bin/files/jicofo-init.d @@ -0,0 +1,28 @@ +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later + +# Include jicofo defaults if available +if [ -f /etc/jitsi/jicofo/config ]; then + . /etc/jitsi/jicofo/config +fi +# Assign default host if not configured +if [ ! $JICOFO_HOST ]; then + JICOFO_HOST=localhost +fi + +command="/usr/share/jicofo/jicofo.sh" +command_args=" --host=$JICOFO_HOST --domain=$JICOFO_HOSTNAME --port=$JICOFO_PORT --secret=$JICOFO_SECRET --user_name=$JICOFO_AUTH_USER --user_domain=$JICOFO_AUTH_DOMAIN --user_password=$JICOFO_AUTH_PASSWORD $JICOFO_OPTS" + +start_stop_daemon_args="--chdir /usr/share/jicofo --user jicofo:jitsi" +start_stop_daemon_args="${start_stop_daemon_args} --stdout /var/log/jitsi/jicofo.log" +start_stop_daemon_args="${start_stop_daemon_args} --stderr /var/log/jitsi/jicofo.log" +start_stop_daemon_args="${start_stop_daemon_args} --env JAVA_SYS_PROPS=\"$JAVA_SYS_PROPS\"" + +required_dirs="/var/log/jitsi" +pidfile="/run/jicofo.pid" +command_background="true" + +depend() { + use net logger +} diff --git a/net-misc/jicofo-bin/files/jicofo.service b/net-misc/jicofo-bin/files/jicofo.service new file mode 100644 index 0000000..c7e6780 --- /dev/null +++ b/net-misc/jicofo-bin/files/jicofo.service @@ -0,0 +1,14 @@ +[Unit] +Description=Jitsi conference Focus +After=local-fs.target remote-fs.target +Conflicts=shutdown.target + +[Service] +Restart=always +EnvironmentFile=/etc/jitsi/jicofo/config +User=jicofo +WorkingDirectory=/usr/share/jicofo +ExecStart=/usr/share/jicofo/jicofo.sh --host=${JICOFO_HOST} --domain=${JICOFO_HOSTNAME} --port=${JICOFO_PORT} --secret=${JICOFO_SECRET} --user_domain=${JICOFO_AUTH_DOMAIN} --user_password=${JICOFO_AUTH_PASSWORD} + +[Install] +WantedBy=multi-user.target diff --git a/net-misc/jicofo-bin/jicofo-bin-1.0.508.ebuild b/net-misc/jicofo-bin/jicofo-bin-1.0.508.ebuild new file mode 100644 index 0000000..9da4412 --- /dev/null +++ b/net-misc/jicofo-bin/jicofo-bin-1.0.508.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2020 Unitas Network GmbH +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit eutils systemd unpacker user + +MY_PN=${PN/-bin/} +MY_PV=$(ver_rs 2 '-') + +DESCRIPTION="JItsi Meet COnference FOcus: a conference focus for Jitsi Meet application" +HOMEPAGE="https://jitsi.org/" + +SRC_URI_BASE="https://download.jitsi.org/stable" +SRC_URI="x86? ( ${SRC_URI_BASE}/${MY_PN}_${MY_PV}-1_i386.deb ) + amd64? ( ${SRC_URI_BASE}/${MY_PN}_${MY_PV}-1_amd64.deb )" + +RESTRICT="mirror strip" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND="" +RDEPEND="virtual/jre" + +S=${WORKDIR} + +##QA_PREBUILT="*" + +pkg_setup() { + enewgroup jitsi + enewuser jicofo -1 /bin/bash /usr/share/jicofo jitsi +} + +src_install() { + insinto /etc/jitsi/jicofo/ + doins ${FILESDIR}/config.example + touch etc/jitsi/jicofo/sip-communicator.properties + + dodoc usr/share/doc/jicofo/README.Debian + rm -rf usr/share/doc + rm -rf etc/init.d + + insinto / + doins -r etc usr + + keepdir /var/log/jitsi + fowners root:jitsi /var/log/jitsi + fperms 775 /var/log/jitsi + + fowners -R jicofo:jitsi /usr/share/jicofo + fperms 755 /usr/share/jicofo/collect-dump-logs.sh + fperms 755 /usr/share/jicofo/jicofo.sh + fowners -R jicofo:jitsi /etc/jitsi/jicofo + fperms 750 /etc/jitsi/jicofo + fperms 600 /etc/jitsi/jicofo/sip-communicator.properties + + newinitd "${FILESDIR}/${MY_PN}-init.d" "${MY_PN}" + + systemd_dounit "${FILESDIR}"/${MY_PN}.service +} diff --git a/net-misc/jitsi-meet-web-bin/Manifest b/net-misc/jitsi-meet-web-bin/Manifest new file mode 100644 index 0000000..90b70f9 --- /dev/null +++ b/net-misc/jitsi-meet-web-bin/Manifest @@ -0,0 +1,3 @@ +AUX meet.example.com-config.js 16323 BLAKE2B 81c31b47b96ab3d3459c8e3641fc9df430d11e26541886e48dd562df390fc2210581a75f32d40e83fd656a392d6a163b4171dfff0c3231533875f17b47abe7a0 SHA512 e9cf14279b5f9298dfa1bd4cae62c9e77b23a9dd6ba7cc850564baf4d2f403e55dbd5f9cc37528bb2b39650af2d19d22139246d88349419d3a9df271789e315c +DIST jitsi-meet-web_1.0.3729-1_all.deb 5453166 BLAKE2B a6904b398fd1dd1b403aed4205934f430b0c83207b59c1a1f6ea0b2108379d325c5d18ac5ab21edade2ad59e5561045d68cd96320cc678f192df73348350f863 SHA512 74e1279cfe25f9c196ce80341ea03711ced90219e9e149ace48e9a1c5b2505a6f329d8b15bb67f56399b08dc61fd723e4640a9097cefaa674dca1fe37d191f76 +EBUILD jitsi-meet-web-bin-1.0.3729.ebuild 845 BLAKE2B b613b006dd65169877bbe47b9c6199443f1217ac867f6f203d0fcfd9716e57bd57824c31273583fced205058e8f7d3e439b0814e70f1c2579c03cc29f3032c41 SHA512 42bc6c9bad900c70d90308da087c4638c4427894b9552b8dc24606925deb2e2a2d1659fa63923606a1da303e0c5f79693f8ad10764ae86279d25ba3e9d22f6b7 diff --git a/net-misc/jitsi-meet-web-bin/files/meet.example.com-config.js b/net-misc/jitsi-meet-web-bin/files/meet.example.com-config.js new file mode 100644 index 0000000..f7fcd85 --- /dev/null +++ b/net-misc/jitsi-meet-web-bin/files/meet.example.com-config.js @@ -0,0 +1,482 @@ +/* eslint-disable no-unused-vars, no-var */ + +var config = { + // Connection + // + + hosts: { + // XMPP domain. + domain: 'meet.example.com', + + // When using authentication, domain for guest users. + // anonymousdomain: 'guest.example.com', + + // Domain for authenticated users. Defaults to . + // authdomain: 'meet.example.com', + + // Jirecon recording component domain. + // jirecon: 'jirecon.meet.example.com', + + // Call control component (Jigasi). + // call_control: 'callcontrol.meet.example.com', + + // Focus component domain. Defaults to focus.. + // focus: 'focus.meet.example.com', + + // XMPP MUC domain. FIXME: use XEP-0030 to discover it. + muc: 'conference.meet.example.com' + }, + + // BOSH URL. FIXME: use XEP-0156 to discover it. + bosh: '//meet.example.com/http-bind', + + // The name of client node advertised in XEP-0115 'c' stanza + clientNode: 'http://jitsi.org/jitsimeet', + + // The real JID of focus participant - can be overridden here + // focusUserJid: 'focus@auth.meet.example.com', + + + // Testing / experimental features. + // + + testing: { + // Enables experimental simulcast support on Firefox. + enableFirefoxSimulcast: false, + + // P2P test mode disables automatic switching to P2P when there are 2 + // participants in the conference. + p2pTestMode: false + + // Enables the test specific features consumed by jitsi-meet-torture + // testMode: false + + // Disables the auto-play behavior of *all* newly created video element. + // This is useful when the client runs on a host with limited resources. + // noAutoPlayVideo: false + }, + + // Disables ICE/UDP by filtering out local and remote UDP candidates in + // signalling. + // webrtcIceUdpDisable: false, + + // Disables ICE/TCP by filtering out local and remote TCP candidates in + // signalling. + // webrtcIceTcpDisable: false, + + + // Media + // + + // Audio + + // Disable measuring of audio levels. + // disableAudioLevels: false, + + // Start the conference in audio only mode (no video is being received nor + // sent). + // startAudioOnly: false, + + // Every participant after the Nth will start audio muted. + // startAudioMuted: 10, + + // Start calls with audio muted. Unlike the option above, this one is only + // applied locally. FIXME: having these 2 options is confusing. + // startWithAudioMuted: false, + + // Enabling it (with #params) will disable local audio output of remote + // participants and to enable it back a reload is needed. + // startSilent: false + + // Video + + // Sets the preferred resolution (height) for local video. Defaults to 720. + // resolution: 720, + + // w3c spec-compliant video constraints to use for video capture. Currently + // used by browsers that return true from lib-jitsi-meet's + // util#browser#usesNewGumFlow. The constraints are independency from + // this config's resolution value. Defaults to requesting an ideal aspect + // ratio of 16:9 with an ideal resolution of 720. + // constraints: { + // video: { + // aspectRatio: 16 / 9, + // height: { + // ideal: 720, + // max: 720, + // min: 240 + // } + // } + // }, + + // Enable / disable simulcast support. + // disableSimulcast: false, + + // Enable / disable layer suspension. If enabled, endpoints whose HD + // layers are not in use will be suspended (no longer sent) until they + // are requested again. + // enableLayerSuspension: false, + + // Every participant after the Nth will start video muted. + // startVideoMuted: 10, + + // Start calls with video muted. Unlike the option above, this one is only + // applied locally. FIXME: having these 2 options is confusing. + // startWithVideoMuted: false, + + // If set to true, prefer to use the H.264 video codec (if supported). + // Note that it's not recommended to do this because simulcast is not + // supported when using H.264. For 1-to-1 calls this setting is enabled by + // default and can be toggled in the p2p section. + // preferH264: true, + + // If set to true, disable H.264 video codec by stripping it out of the + // SDP. + // disableH264: false, + + // Desktop sharing + + // The ID of the jidesha extension for Chrome. + desktopSharingChromeExtId: null, + + // Whether desktop sharing should be disabled on Chrome. + // desktopSharingChromeDisabled: false, + + // The media sources to use when using screen sharing with the Chrome + // extension. + desktopSharingChromeSources: [ 'screen', 'window', 'tab' ], + + // Required version of Chrome extension + desktopSharingChromeMinExtVersion: '0.1', + + // Whether desktop sharing should be disabled on Firefox. + // desktopSharingFirefoxDisabled: false, + + // Optional desktop sharing frame rate options. Default value: min:5, max:5. + // desktopSharingFrameRate: { + // min: 5, + // max: 5 + // }, + + // Try to start calls with screen-sharing instead of camera video. + // startScreenSharing: false, + + // Recording + + // Whether to enable file recording or not. + // fileRecordingsEnabled: false, + // Enable the dropbox integration. + // dropbox: { + // appKey: '' // Specify your app key here. + // // A URL to redirect the user to, after authenticating + // // by default uses: + // // 'https://meet.example.com/static/oauth.html' + // redirectURI: + // 'https://meet.example.com/subfolder/static/oauth.html' + // }, + // When integrations like dropbox are enabled only that will be shown, + // by enabling fileRecordingsServiceEnabled, we show both the integrations + // and the generic recording service (its configuration and storage type + // depends on jibri configuration) + // fileRecordingsServiceEnabled: false, + // Whether to show the possibility to share file recording with other people + // (e.g. meeting participants), based on the actual implementation + // on the backend. + // fileRecordingsServiceSharingEnabled: false, + + // Whether to enable live streaming or not. + // liveStreamingEnabled: false, + + // Transcription (in interface_config, + // subtitles and buttons can be configured) + // transcribingEnabled: false, + + // Enables automatic turning on captions when recording is started + // autoCaptionOnRecord: false, + + // Misc + + // Default value for the channel "last N" attribute. -1 for unlimited. + channelLastN: -1, + + // Disables or enables RTX (RFC 4588) (defaults to false). + // disableRtx: false, + + // Disables or enables TCC (the default is in Jicofo and set to true) + // (draft-holmer-rmcat-transport-wide-cc-extensions-01). This setting + // affects congestion control, it practically enables send-side bandwidth + // estimations. + // enableTcc: true, + + // Disables or enables REMB (the default is in Jicofo and set to false) + // (draft-alvestrand-rmcat-remb-03). This setting affects congestion + // control, it practically enables recv-side bandwidth estimations. When + // both TCC and REMB are enabled, TCC takes precedence. When both are + // disabled, then bandwidth estimations are disabled. + // enableRemb: false, + + // Defines the minimum number of participants to start a call (the default + // is set in Jicofo and set to 2). + // minParticipants: 2, + + // Use XEP-0215 to fetch STUN and TURN servers. + // useStunTurn: true, + + // Enable IPv6 support. + // useIPv6: true, + + // Enables / disables a data communication channel with the Videobridge. + // Values can be 'datachannel', 'websocket', true (treat it as + // 'datachannel'), undefined (treat it as 'datachannel') and false (don't + // open any channel). + // openBridgeChannel: true, + + + // UI + // + + // Use display name as XMPP nickname. + // useNicks: false, + + // Require users to always specify a display name. + // requireDisplayName: true, + + // Whether to use a welcome page or not. In case it's false a random room + // will be joined when no room is specified. + enableWelcomePage: true, + + // Enabling the close page will ignore the welcome page redirection when + // a call is hangup. + // enableClosePage: false, + + // Disable hiding of remote thumbnails when in a 1-on-1 conference call. + // disable1On1Mode: false, + + // Default language for the user interface. + defaultLanguage: 'de', + + // If true all users without a token will be considered guests and all users + // with token will be considered non-guests. Only guests will be allowed to + // edit their profile. + enableUserRolesBasedOnToken: false, + + // Whether or not some features are checked based on token. + // enableFeaturesBasedOnToken: false, + + // Enable lock room for all moderators, even when userRolesBasedOnToken is enabled and participants are guests. + // lockRoomGuestEnabled: false, + + // When enabled the password used for locking a room is restricted to up to the number of digits specified + // roomPasswordNumberOfDigits: 10, + // default: roomPasswordNumberOfDigits: false, + + // Message to show the users. Example: 'The service will be down for + // maintenance at 01:00 AM GMT, + // noticeMessage: '', + + // Enables calendar integration, depends on googleApiApplicationClientID + // and microsoftApiApplicationClientID + // enableCalendarIntegration: false, + + // Stats + // + + // Whether to enable stats collection or not in the TraceablePeerConnection. + // This can be useful for debugging purposes (post-processing/analysis of + // the webrtc stats) as it is done in the jitsi-meet-torture bandwidth + // estimation tests. + // gatherStats: false, + + // To enable sending statistics to callstats.io you must provide the + // Application ID and Secret. + // callStatsID: '', + // callStatsSecret: '', + + // enables sending participants display name to callstats + // enableDisplayNameInStats: false + + // enables sending participants email if available to callstats and other analytics + // enableEmailInStats: false + + // Privacy + // + + // If third party requests are disabled, no other server will be contacted. + // This means avatars will be locally generated and callstats integration + // will not function. + // disableThirdPartyRequests: false, + + + // Peer-To-Peer mode: used (if enabled) when there are just 2 participants. + // + + p2p: { + // Enables peer to peer mode. When enabled the system will try to + // establish a direct connection when there are exactly 2 participants + // in the room. If that succeeds the conference will stop sending data + // through the JVB and use the peer to peer connection instead. When a + // 3rd participant joins the conference will be moved back to the JVB + // connection. + enabled: true, + + // Use XEP-0215 to fetch STUN and TURN servers. + // useStunTurn: true, + + // The STUN servers that will be used in the peer to peer connections + stunServers: [ + { urls: 'stun:stun.l.google.com:19302' }, + { urls: 'stun:stun1.l.google.com:19302' }, + { urls: 'stun:stun2.l.google.com:19302' } + ], + + // Sets the ICE transport policy for the p2p connection. At the time + // of this writing the list of possible values are 'all' and 'relay', + // but that is subject to change in the future. The enum is defined in + // the WebRTC standard: + // https://www.w3.org/TR/webrtc/#rtcicetransportpolicy-enum. + // If not set, the effective value is 'all'. + // iceTransportPolicy: 'all', + + // If set to true, it will prefer to use H.264 for P2P calls (if H.264 + // is supported). + preferH264: true + + // If set to true, disable H.264 video codec by stripping it out of the + // SDP. + // disableH264: false, + + // How long we're going to wait, before going back to P2P after the 3rd + // participant has left the conference (to filter out page reload). + // backToP2PDelay: 5 + }, + + analytics: { + // The Google Analytics Tracking ID: + // googleAnalyticsTrackingId: 'your-tracking-id-UA-123456-1' + + // The Amplitude APP Key: + // amplitudeAPPKey: '' + + // Array of script URLs to load as lib-jitsi-meet "analytics handlers". + // scriptURLs: [ + // "libs/analytics-ga.min.js", // google-analytics + // "https://example.com/my-custom-analytics.js" + // ], + }, + + // Information about the jitsi-meet instance we are connecting to, including + // the user region as seen by the server. + deploymentInfo: { + // shard: "shard1", + // region: "europe", + // userRegion: "asia" + } + + // Local Recording + // + + // localRecording: { + // Enables local recording. + // Additionally, 'localrecording' (all lowercase) needs to be added to + // TOOLBAR_BUTTONS in interface_config.js for the Local Recording + // button to show up on the toolbar. + // + // enabled: true, + // + + // The recording format, can be one of 'ogg', 'flac' or 'wav'. + // format: 'flac' + // + + // } + + // Options related to end-to-end (participant to participant) ping. + // e2eping: { + // // The interval in milliseconds at which pings will be sent. + // // Defaults to 10000, set to <= 0 to disable. + // pingInterval: 10000, + // + // // The interval in milliseconds at which analytics events + // // with the measured RTT will be sent. Defaults to 60000, set + // // to <= 0 to disable. + // analyticsInterval: 60000, + // } + + // If set, will attempt to use the provided video input device label when + // triggering a screenshare, instead of proceeding through the normal flow + // for obtaining a desktop stream. + // NOTE: This option is experimental and is currently intended for internal + // use only. + // _desktopSharingSourceDevice: 'sample-id-or-label' + + // If true, any checks to handoff to another application will be prevented + // and instead the app will continue to display in the current browser. + // disableDeepLinking: false + + // A property to disable the right click context menu for localVideo + // the menu has option to flip the locally seen video for local presentations + // disableLocalVideoFlip: false + + // Deployment specific URLs. + // deploymentUrls: { + // // If specified a 'Help' button will be displayed in the overflow menu with a link to the specified URL for + // // user documentation. + // userDocumentationURL: 'https://docs.example.com/video-meetings.html', + // // If specified a 'Download our apps' button will be displayed in the overflow menu with a link + // // to the specified URL for an app download page. + // downloadAppsUrl: 'https://docs.example.com/our-apps.html' + // } + + // List of undocumented settings used in jitsi-meet + /** + _immediateReloadThreshold + autoRecord + autoRecordToken + debug + debugAudioLevels + deploymentInfo + dialInConfCodeUrl + dialInNumbersUrl + dialOutAuthUrl + dialOutCodesUrl + disableRemoteControl + displayJids + etherpad_base + externalConnectUrl + firefox_fake_device + googleApiApplicationClientID + iAmRecorder + iAmSipGateway + microsoftApiApplicationClientID + peopleSearchQueryTypes + peopleSearchUrl + requireDisplayName + tokenAuthUrl + */ + + // List of undocumented settings used in lib-jitsi-meet + /** + _peerConnStatusOutOfLastNTimeout + _peerConnStatusRtcMuteTimeout + abTesting + avgRtpStatsN + callStatsConfIDNamespace + callStatsCustomScriptUrl + desktopSharingSources + disableAEC + disableAGC + disableAP + disableHPF + disableNS + enableLipSync + enableTalkWhileMuted + forceJVB121Ratio + hiddenDomain + ignoreStartMuted + nick + startBitrate + */ + +}; + +/* eslint-enable no-unused-vars, no-var */ diff --git a/net-misc/jitsi-meet-web-bin/jitsi-meet-web-bin-1.0.3729.ebuild b/net-misc/jitsi-meet-web-bin/jitsi-meet-web-bin-1.0.3729.ebuild new file mode 100644 index 0000000..57736a5 --- /dev/null +++ b/net-misc/jitsi-meet-web-bin/jitsi-meet-web-bin-1.0.3729.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2020 Unitas Network GmbH +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit eutils unpacker + +MY_PN=${PN/-bin/} + +DESCRIPTION="Jitsi Meet is a WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, scalable video conferences." +HOMEPAGE="https://jitsi.org/" + +SRC_URI_BASE="https://download.jitsi.org/stable" +SRC_URI="${SRC_URI_BASE}/${MY_PN}_${PV}-1_all.deb" + +##RESTRICT="mirror strip" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND="" +RDEPEND="" + +S=${WORKDIR} + +src_install() { + insinto /etc/jitsi/meet/ + doins ${FILESDIR}/meet.example.com-config.js + + gunzip usr/share/doc/jitsi-meet-web/README.md.gz + dodoc usr/share/doc/jitsi-meet-web/README.md + dodoc usr/share/doc/jitsi-meet-web/README.Debian + rm -rf usr/share/doc + + insinto / + doins -r usr +} diff --git a/net-misc/jitsi-videobridge-bin/Manifest b/net-misc/jitsi-videobridge-bin/Manifest new file mode 100644 index 0000000..455c4cc --- /dev/null +++ b/net-misc/jitsi-videobridge-bin/Manifest @@ -0,0 +1,5 @@ +AUX config.example 767 BLAKE2B 7b0bc9c01c699bc19393302188935635dee08666967b1f1a67e4b7c843c3f6a7ddd38bb89c038bbce633d8c0c296cd763d3c5198de61dd86265b0bb9acb434fb SHA512 2abfecf990a0f90d0baa8bb459c721580b10e383990816ca53c08076f1483866de683ae10267ce9a24d588860a13a7ece974ab58f747e078efbaa08226ff7773 +AUX jitsi-videobridge-init.d 1078 BLAKE2B 5f04bd6f54c3002ebb1ec8d4df9614942de2d6ee22ca531332ae83ed0a3558f33de3673a13e6c0528f6382c895f781300e7b39f32829645cfe48aea2536dbdaa SHA512 9300b363e578bd31967ef895fa33d919ad15ec9dd273367d342867999342e683d6e8f3694cf5d5b35bde6d36579f341bcab0e041b7117d6b425b8e8994596fdb +DIST jitsi-videobridge_1126-1_amd64.deb 30440800 BLAKE2B 0b75094f59ba0178d42f9f3906df9f79729a5debcbc7a11c424bdf705c0599516e53763ff4bd0e973ca4027f77ca038432d5911d8a48c67a2f333ae5fec0b5b5 SHA512 cf01785929f5b408678163984f345d322695c7ec2ce2286735213e69941698258cb32d87e38eac609c098bf3bc79205e5e81da6d32e1d25c95d51da5d9cd782e +DIST jitsi-videobridge_1126-1_i386.deb 30434904 BLAKE2B 882ba4b1f35baf5b39cdc0e7552341db2f37a3670439ec05166e2cf9fa7f8c38f64f65a9d5240950336f65633610ba61414f294cb913d690ec62cf003216ab2c SHA512 2112264da31aa019196188fe6e9dc659463decd872c61c4ad640f4ebd895419c0da836422535098a5460328b6a76a03272d4d8344795089070524e446769370e +EBUILD jitsi-videobridge-bin-1126.ebuild 1599 BLAKE2B c10060a68a845d777a1b2b46d272138851e2a51105374bcd249ab9d25a7bda8bd8e92c992668a5baf6f4b8a47c7189fc4a830cc3abefc9e08aac56dd62e5e35b SHA512 9ecd1f1b462f8ef82c20b82d1ed21d6ca6bd90abdedb6341404ebef5ec143fa7ef5c7a07b8675e9b21bdd14f8d0316978901c74a1930592d654aebb38c9dc9e2 diff --git a/net-misc/jitsi-videobridge-bin/files/config.example b/net-misc/jitsi-videobridge-bin/files/config.example new file mode 100644 index 0000000..d79f797 --- /dev/null +++ b/net-misc/jitsi-videobridge-bin/files/config.example @@ -0,0 +1,19 @@ +# Jitsi Videobridge settings + +# sets the XMPP domain (default: none) +JVB_HOSTNAME=meet.example.com + +# sets the hostname of the XMPP server (default: domain if set, localhost otherwise) +JVB_HOST= + +# sets the port of the XMPP server (default: 5275) +JVB_PORT=5347 + +# sets the shared secret used to authenticate to the XMPP server +JVB_SECRET=secret + +# extra options to pass to the JVB daemon +JVB_OPTS="" + +# adds java system props that are passed to jvb (default are for home and logging config file) +JAVA_SYS_PROPS="-Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=videobridge -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=/var/log/jitsi -Djava.util.logging.config.file=/etc/jitsi/videobridge/logging.properties" diff --git a/net-misc/jitsi-videobridge-bin/files/jitsi-videobridge-init.d b/net-misc/jitsi-videobridge-bin/files/jitsi-videobridge-init.d new file mode 100755 index 0000000..d59f901 --- /dev/null +++ b/net-misc/jitsi-videobridge-bin/files/jitsi-videobridge-init.d @@ -0,0 +1,34 @@ +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later + +TMPPATH=/var/run/jitsi-videobridge +if [ ! -d "$TMPPATH" ]; then + mkdir "$TMPPATH" + chown jvb:root "$TMPPATH" +fi + +# Include jicofo defaults if available +if [ -f /etc/jitsi/videobridge/config ]; then + . /etc/jitsi/videobridge/config +fi +# Assign default host if not configured +if [ ! $JVB_HOST ]; then + JVB_HOST=localhost +fi + +command="/usr/share/jitsi-videobridge/jvb.sh" +command_args=" --host=$JVB_HOST --domain=$JVB_HOSTNAME --port=$JVB_PORT --secret=$JVB_SECRET $JVB_OPTS" + +start_stop_daemon_args="--chdir /usr/share/jicofo --user jvb:jitsi" +start_stop_daemon_args="${start_stop_daemon_args} --stdout /var/log/jitsi/jvb.log" +start_stop_daemon_args="${start_stop_daemon_args} --stderr /var/log/jitsi/jvb.log" +start_stop_daemon_args="${start_stop_daemon_args} --env JAVA_SYS_PROPS=\"$JAVA_SYS_PROPS\"" + +required_dirs="/var/log/jitsi" +pidfile="/var/run/jitsi-videobridge.pid" +command_background="true" + +depend() { + use net logger +} diff --git a/net-misc/jitsi-videobridge-bin/jitsi-videobridge-bin-1126.ebuild b/net-misc/jitsi-videobridge-bin/jitsi-videobridge-bin-1126.ebuild new file mode 100644 index 0000000..323e993 --- /dev/null +++ b/net-misc/jitsi-videobridge-bin/jitsi-videobridge-bin-1126.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2020 Unitas Network GmbH +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit eutils systemd unpacker user + +MY_PN=${PN/-bin/} + +DESCRIPTION="Jitsi Videobridge is a WebRTC compatible Selective Forwarding Unit" +HOMEPAGE="https://jitsi.org/" + +SRC_URI_BASE="https://download.jitsi.org/stable" +SRC_URI="x86? ( ${SRC_URI_BASE}/${MY_PN}_${PV}-1_i386.deb ) + amd64? ( ${SRC_URI_BASE}/${MY_PN}_${PV}-1_amd64.deb )" + +RESTRICT="mirror strip" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +DEPEND="" +RDEPEND="virtual/jre" + +S=${WORKDIR} + +pkg_setup() { + enewgroup jitsi + enewuser jvb -1 /bin/bash /usr/share/jitsi-videobridge jitsi +} + +src_install() { + insinto /etc/jitsi/videobridge/ + doins ${FILESDIR}/config.example + echo "org.jitsi.videobridge.AUTHORIZED_SOURCE_REGEXP=focus@auth.meet.example.com/.*" > etc/jitsi/videobridge/sip-communicator.properties + + dodoc usr/share/doc/jitsi-videobridge/README.Debian + rm -rf usr/share/doc + rm -rf etc/init.d + + insinto / + doins -r etc usr + + keepdir /var/log/jitsi + fowners root:jitsi /var/log/jitsi + fperms 775 /var/log/jitsi + + fowners -R jvb:jitsi /usr/share/jitsi-videobridge + fperms 755 /usr/share/jitsi-videobridge/collect-dump-logs.sh + fperms 755 /usr/share/jitsi-videobridge/jvb.sh + fperms 755 /usr/share/jitsi-videobridge/graceful_shutdown.sh + fowners -R jvb:jitsi /etc/jitsi/videobridge + fperms 750 /etc/jitsi/videobridge + fperms 600 /etc/jitsi/videobridge/sip-communicator.properties + + newinitd "${FILESDIR}/${MY_PN}-init.d" "${MY_PN}" + + systemd_dounit lib/systemd/system/jitsi-videobridge.service +}