Skip to content

Instantly share code, notes, and snippets.

@gigabyteservice
gigabyteservice / jitsi-meet-multi-server.md
Created October 8, 2021 17:48 — forked from facsiaginsa/jitsi-meet-multi-server.md
This tutorial is for jitsi-meet installation using 2 server or more. The main server will contain jitsi-meet react source code, prosody, nginx, and jicofo. The videobridge will be installed seperatelly on the second server and so on.

How to Install Jitsi Meet with Multi Server Configuration

This tutorial is for jitsi-meet installation using 2 server or more. The main server will contain jitsi-meet react source code, prosody, nginx, and jicofo. The videobridge will be installed seperatelly on the second server and so on.

Prerequisite

  1. Minimum 2 server with 1 IP Public each
  2. Ubuntu 18.04

Sudo Privileges

Before start we make sure that we will have no permission issue on the installation.

@gigabyteservice
gigabyteservice / prosody-custom-http-auth.md
Created October 8, 2021 17:50 — forked from facsiaginsa/prosody-custom-http-auth.md
This guide is to show you how to use mod_auth_custom_http in prosody.
@gigabyteservice
gigabyteservice / conference.js
Created October 20, 2021 20:10 — forked from sarahbanas/conference.js
Jitsi issue: when a moderator leaves, the room still exists and participants stick around. Fix: replace original USER_LEFT (around line 1988) with the function below. It will kick all users out and leave/disconnect the room.
room.on(JitsiConferenceEvents.USER_LEFT, (id, user) => {
// The logic shared between RN and web.
commonUserLeftHandling(APP.store, room, user);
// if user is a moderator, kick everyone out
if(user.isModerator) {
let participants = APP.conference.listMembers();
participants.forEach(participant => {
APP.store.dispatch(kickedOut(room, participant));
this.leaveRoomAndDisconnect();
@gigabyteservice
gigabyteservice / jitsi_uploader.sh
Created October 20, 2021 20:14 — forked from sarahbanas/jitsi_uploader.sh
Modified /usr/bin/jitsi_uploader.sh that modifies the video file names and path, allowing you to insert the data into a remote or local MySQL database and move the video file to the static jitsi folder for browser viewing/download.
#!/bin/bash
RECORDINGS_DIR=$1
VIDEO_FILE_PATH=$(find $RECORDINGS_DIR -name *.mp4)
VIDEO_FILE_NAME=${VIDEO_FILE_PATH}
### WE USE THIS FILE FOR UPLOADS
CONFIG_FILE_PATH="/etc/jitsi/uploader"
# pull jitsi uploader environment var overrides if it exists
@gigabyteservice
gigabyteservice / jibri-minio.sh
Created October 20, 2021 20:15 — forked from dimaskiddo/jibri-minio.sh
Jitsi Jibri Automatic MinIO Uploader
#!/bin/bash -e
PATH=${PATH}:/usr/local/bin
# Configure Recordings
RECORDINGS_DIR=$1
# Configure MinIO
MC_PROTOCOL="YOUR_MINIO_PROTOCOL_HTTP_OR_HTTPS"
@gigabyteservice
gigabyteservice / send_jitsi_data.html
Created November 3, 2021 13:57 — forked from r03ert0/send_jitsi_data.html
Script showing how to send data through a Jitsi channel
<div>
<b>Message:</b>
<input
onchange="sendMessage(this.value)"
placeholder="Type and press enter to send message"
style="width: 640px"
/>
</div>
<div
id="info"
@gigabyteservice
gigabyteservice / muc_allow_moderator_enter_lobby.patch
Created November 8, 2021 21:46 — forked from ashiqhassan95/muc_allow_moderator_enter_lobby.patch
Allow moderator to enter meeting without approval in lobby mode
Instruction
1. goto: cd /usr/share/jitsi-meet/prosody-plugins/
2. run: sudo patch -b </var/www/jitsi-meet/resources/prosody-plugins/muc_allow_moderator_enter_lobby.patch
3. You will see following:-
patching file mod_muc_lobby_rooms.lua
Hunk #1 succeeded at 1390 (offset 134 lines).
4. A backup file be saved in that same folder with named as mod_muc_lobby_rooms.lua.orig
==================================================================
--- mod_muc_lobby_rooms.lua 2021-09-16 11:43:45.425000000 +0530
+++ mod_muc_lobby_rooms.lua 2021-09-16 11:42:16.435872526 +0530
@gigabyteservice
gigabyteservice / create-docker-droplet.sh
Created April 8, 2022 23:04 — forked from christianberg/create-docker-droplet.sh
Shell script to create a Digital Ocean Droplet and install docker
#!/bin/bash
set -e
SECRETFILE=~/.digitalocean
if [[ -z $DIGOCEAN_ID ]] || [[ -z $DIGOCEAN_KEY ]]; then
if [ -e $SECRETFILE ]; then
. $SECRETFILE
fi
fi
@gigabyteservice
gigabyteservice / loop-json.sh
Created April 10, 2022 16:50 — forked from IAmStoxe/loop-json.sh
This example shows you how to utilize jq to loop bash script through an array of JSON values.
jsonData='[{"name": "name#1","value": "value#1"},{"name": "name#2","value": "value#2"}]'
for row in $(echo "${jsonData}" | jq -r '.[] | @base64'); do
_jq() {
echo "${row}" | base64 --decode | jq -r "${1}"
}
# OPTIONAL
# Set each property of the row to a variable
name=$(_jq '.name')
value=$(_jq '.value')
@gigabyteservice
gigabyteservice / submit.md
Created April 25, 2022 21:07 — forked from tanaikech/submit.md
Executing Function with Minutes timer in Specific Times using Google Apps Script

Executing Function with Minutes timer in Specific Times using Google Apps Script

This is a sample script for executing a function with the minutes timer in the specific times using Google Apps Script. For example, when this sample script is used, the following situation can be achieved.

  • Execute a function every 10 minutes only in 09:00 - 12:00 and 15:00 - 18:00 for the weekday.

When the above situation is shown as an image, it becomes as follows.