7.0.3 #83
234
mode/chp-mode.sh
234
mode/chp-mode.sh
|
@ -4,7 +4,7 @@
|
||||||
# GPLv3 or later.
|
# GPLv3 or later.
|
||||||
|
|
||||||
#Check if user is root
|
#Check if user is root
|
||||||
if ! [ $(id -u) = 0 ]; then
|
if ! [ "$(id -u)" = 0 ]; then
|
||||||
echo "You need to be root or have privileges!"
|
echo "You need to be root or have privileges!"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
@ -32,11 +32,11 @@ while [ $secs -gt 0 ]; do
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
set_once() {
|
set_once() {
|
||||||
if [ -z "$(awk '!/^ *#/ && NF {print}' "$2"|grep $(echo $1|awk -F '=' '{print$1}'))" ]; then
|
if ! grep -q "$(awk '!/^ *#/ && NF {print}' "$2"|grep "$(awk -F '=' '{print$1}' <<< "$1")")" ; then
|
||||||
echo "Setting "$1" on "$2"..."
|
echo "Setting $1 on $2..."
|
||||||
echo "$1" | tee -a "$2"
|
echo "$1" | tee -a "$2"
|
||||||
else
|
else
|
||||||
echo " \"$(echo $1|awk -F '=' '{print$1}')\" seems present, skipping setting this variable"
|
echo " \"$(echo "$1"|awk -F '=' '{print$1}')\" seems present, skipping setting this variable"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
# True if $1 is greater than $2
|
# True if $1 is greater than $2
|
||||||
|
@ -44,7 +44,7 @@ version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; }
|
||||||
|
|
||||||
|
|
||||||
LTS_REL="$(lsb_release -d | awk '{print$4}')"
|
LTS_REL="$(lsb_release -d | awk '{print$4}')"
|
||||||
DOMAIN="$(ls /etc/prosody/conf.d/ | awk -F'.cfg' '!/localhost/{print $1}' | awk '!NF || !seen[$0]++')"
|
DOMAIN="$(find /etc/prosody/conf.d/ -name \*.lua|awk -F'.cfg' '!/localhost/{print $1}'|xargs basename)"
|
||||||
JVB_LOG_POP="/etc/jitsi/videobridge/logging.properties"
|
JVB_LOG_POP="/etc/jitsi/videobridge/logging.properties"
|
||||||
JVB_RC="/usr/share/jitsi-videobridge/lib/videobridge.rc"
|
JVB_RC="/usr/share/jitsi-videobridge/lib/videobridge.rc"
|
||||||
JICOFO_LOG_POP="/etc/jitsi/videobridge/logging.properties"
|
JICOFO_LOG_POP="/etc/jitsi/videobridge/logging.properties"
|
||||||
|
@ -54,17 +54,17 @@ MEET_CONF_HP="/etc/jitsi/meet/${DOMAIN}-chp-config.js"
|
||||||
INT_CONF_JS="/etc/jitsi/meet/${DOMAIN}-interface_config.js"
|
INT_CONF_JS="/etc/jitsi/meet/${DOMAIN}-interface_config.js"
|
||||||
INT_CONF_JS_HP="/etc/jitsi/meet/${DOMAIN}-chp-interface_config.js"
|
INT_CONF_JS_HP="/etc/jitsi/meet/${DOMAIN}-chp-interface_config.js"
|
||||||
WS_CONF="/etc/nginx/sites-available/$DOMAIN.conf"
|
WS_CONF="/etc/nginx/sites-available/$DOMAIN.conf"
|
||||||
FSTAB="/etc/fstab"
|
#FSTAB="/etc/fstab"
|
||||||
CHAT_DISABLED="TBD"
|
CHAT_DISABLED="TBD"
|
||||||
|
|
||||||
if [ -f $MEET_CONF_HP ] || [ -f $INT_CONF_JS_HP ]; then
|
if [ -f "$MEET_CONF_HP" ] || [ -f "$INT_CONF_JS_HP" ]; then
|
||||||
echo "
|
echo "
|
||||||
This script can't be run multiple times on the same system,
|
This script can't be run multiple times on the same system,
|
||||||
idempotence not guaranteed, exiting..."
|
idempotence not guaranteed, exiting..."
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z $LTS_REL ] || [ -z $DOMAIN ];then
|
if [ -z "$LTS_REL" ] || [ -z "$DOMAIN" ];then
|
||||||
echo "This system isn't suitable to configure."
|
echo "This system isn't suitable to configure."
|
||||||
exit
|
exit
|
||||||
else
|
else
|
||||||
|
@ -122,7 +122,7 @@ PS3='Select the desired resolution for high performance mode: '
|
||||||
options=("nHD - 640x360" "qHD - 960x540" "HD - 1280x720")
|
options=("nHD - 640x360" "qHD - 960x540" "HD - 1280x720")
|
||||||
select opt in "${options[@]}"
|
select opt in "${options[@]}"
|
||||||
do
|
do
|
||||||
case $opt in
|
case "$opt" in
|
||||||
"nHD - 640x360")
|
"nHD - 640x360")
|
||||||
echo -e "\n > Setting 640x360 resolution.\n"
|
echo -e "\n > Setting 640x360 resolution.\n"
|
||||||
VID_RES="360"
|
VID_RES="360"
|
||||||
|
@ -152,7 +152,7 @@ while [[ "$CHAT_DISABLED" != "yes" && \
|
||||||
"$CHAT_DISABLED" != "" ]]
|
"$CHAT_DISABLED" != "" ]]
|
||||||
do
|
do
|
||||||
echo "> Do you want to disable jitsi's built-in chat?: (yes or no)"
|
echo "> Do you want to disable jitsi's built-in chat?: (yes or no)"
|
||||||
read -p "(Also you can leave empty to disable)"$'\n' CHAT_DISABLED
|
read -p "(Also you can leave empty to disable)"$'\n' -r CHAT_DISABLED
|
||||||
if [ "$CHAT_DISABLED" = "no" ]; then
|
if [ "$CHAT_DISABLED" = "no" ]; then
|
||||||
echo -e "-- Jitsi's built-in chat will be kept active.\n"
|
echo -e "-- Jitsi's built-in chat will be kept active.\n"
|
||||||
elif [ "$CHAT_DISABLED" = "yes" ] || [ -z "$CHAT_DISABLED" ]; then
|
elif [ "$CHAT_DISABLED" = "yes" ] || [ -z "$CHAT_DISABLED" ]; then
|
||||||
|
@ -162,149 +162,149 @@ done
|
||||||
|
|
||||||
## JMS system tune up
|
## JMS system tune up
|
||||||
if [ "$MODE" = "debug" ]; then
|
if [ "$MODE" = "debug" ]; then
|
||||||
bash $PWD/jms-stu.sh -m debug
|
bash "$PWD"/jms-stu.sh -m debug
|
||||||
else
|
else
|
||||||
bash $PWD/jms-stu.sh
|
bash "$PWD"/jms-stu.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#JVB2
|
#JVB2
|
||||||
##Loose up logging
|
##Loose up logging
|
||||||
# https://community.jitsi.org/t/23641/13
|
# https://community.jitsi.org/t/23641/13
|
||||||
sed -i "/java.util.logging.FileHandler.level/s|ALL|WARNING|g" $JVB_LOG_POP
|
sed -i "/java.util.logging.FileHandler.level/s|ALL|WARNING|g" "$JVB_LOG_POP"
|
||||||
sed -i "s|^.level=INFO|.level=WARNING|" $JVB_LOG_POP
|
sed -i "s|^.level=INFO|.level=WARNING|" "$JVB_LOG_POP"
|
||||||
sed -i "/VIDEOBRIDGE_MAX_MEMORY=/i \ VIDEOBRIDGE_MAX_MEMORY=8192m" $JVB_RC
|
sed -i "/VIDEOBRIDGE_MAX_MEMORY=/i \ VIDEOBRIDGE_MAX_MEMORY=8192m" "$JVB_RC"
|
||||||
|
|
||||||
#JICOFO
|
#JICOFO
|
||||||
sed -i "/java.util.logging.FileHandler.level/s|ALL|OFF|g" $JICOFO_LOG_POP
|
sed -i "/java.util.logging.FileHandler.level/s|ALL|OFF|g" "$JICOFO_LOG_POP"
|
||||||
sed -i "s|^.level=INFO|.level=WARNING|" $JICOFO_LOG_POP
|
sed -i "s|^.level=INFO|.level=WARNING|" "$JICOFO_LOG_POP"
|
||||||
|
|
||||||
#MEET
|
#MEET
|
||||||
sed -i "s|defaultLogLevel:.*|defaultLogLevel: 'error',|" $MEET_LOG_CONF
|
sed -i "s|defaultLogLevel:.*|defaultLogLevel: 'error',|" "$MEET_LOG_CONF"
|
||||||
sed -i "/TraceablePeerConnection.js/s|info|error|" $MEET_LOG_CONF
|
sed -i "/TraceablePeerConnection.js/s|info|error|" "$MEET_LOG_CONF"
|
||||||
sed -i "/CallStats.js/s|info|error|" $MEET_LOG_CONF
|
sed -i "/CallStats.js/s|info|error|" "$MEET_LOG_CONF"
|
||||||
sed -i "/strophe.util.js/s|log|error|" $MEET_LOG_CONF
|
sed -i "/strophe.util.js/s|log|error|" "$MEET_LOG_CONF"
|
||||||
|
|
||||||
#UX - Room settings and interface
|
#UX - Room settings and interface
|
||||||
## config.js
|
## config.js
|
||||||
cp $MEET_CONF $MEET_CONF_HP
|
cp "$MEET_CONF" "$MEET_CONF_HP"
|
||||||
sed -i "s|// disableAudioLevels:.*|disableAudioLevels: true,|" $MEET_CONF_HP
|
sed -i "s|// disableAudioLevels:.*|disableAudioLevels: true,|" "$MEET_CONF_HP"
|
||||||
sed -i "s|enableNoAudioDetection:.*|enableNoAudioDetection: false,|" $MEET_CONF_HP
|
sed -i "s|enableNoAudioDetection:.*|enableNoAudioDetection: false,|" "$MEET_CONF_HP"
|
||||||
sed -i "s|enableNoisyMicDetection:.*|enableNoisyMicDetection: false,|" $MEET_CONF_HP
|
sed -i "s|enableNoisyMicDetection:.*|enableNoisyMicDetection: false,|" "$MEET_CONF_HP"
|
||||||
sed -i "s|startAudioMuted:.*|startAudioMuted: 5,|" $MEET_CONF_HP
|
sed -i "s|startAudioMuted:.*|startAudioMuted: 5,|" "$MEET_CONF_HP"
|
||||||
sed -i "s|// startVideoMuted:.*|startVideoMuted: 5,|" $MEET_CONF_HP
|
sed -i "s|// startVideoMuted:.*|startVideoMuted: 5,|" "$MEET_CONF_HP"
|
||||||
sed -i "s|startWithVideoMuted: true,|startWithVideoMuted: false,|" $MEET_CONF_HP
|
sed -i "s|startWithVideoMuted: true,|startWithVideoMuted: false,|" "$MEET_CONF_HP"
|
||||||
sed -i "s|channelLastN:.*|channelLastN: 10,|" $MEET_CONF_HP
|
sed -i "s|channelLastN:.*|channelLastN: 10,|" "$MEET_CONF_HP"
|
||||||
sed -i "s|// enableLayerSuspension:.*|enableLayerSuspension: true,|" $MEET_CONF_HP
|
sed -i "s|// enableLayerSuspension:.*|enableLayerSuspension: true,|" "$MEET_CONF_HP"
|
||||||
sed -i "s|// apiLogLevels:.*|apiLogLevels: \['warn', 'error'],|" $MEET_CONF_HP
|
sed -i "s|// apiLogLevels:.*|apiLogLevels: \['warn', 'error'],|" "$MEET_CONF_HP"
|
||||||
|
|
||||||
if [ "$VID_RES" = "360" ]; then
|
if [ "$VID_RES" = "360" ]; then
|
||||||
sed -i "/Start QJI/,/End QJI/d" $MEET_CONF_HP
|
sed -i "/Start QJI/,/End QJI/d" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \/\/ Start QJI - Set resolution and widescreen format" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \/\/ Start QJI - Set resolution and widescreen format" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ resolution: 360," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ resolution: 360," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ constraints: {" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ constraints: {" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ aspectRatio: 16 \/ 9," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ aspectRatio: 16 \/ 9," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ video: {" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ video: {" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ height: {" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ height: {" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ideal: 360," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ideal: 360," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ max: 360," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ max: 360," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ min: 180" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ min: 180" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ }," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ }," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ width: {" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ width: {" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ideal: 640," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ideal: 640," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ max: 640," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ max: 640," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ min: 320" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ min: 320" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ }" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ }" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ }" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ }" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ }," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ }," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \/\/ End QJI" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \/\/ End QJI" "$MEET_CONF_HP"
|
||||||
fi
|
fi
|
||||||
if [ "$VID_RES" = "540" ]; then
|
if [ "$VID_RES" = "540" ]; then
|
||||||
sed -i "/Start QJI/,/End QJI/d" $MEET_CONF_HP
|
sed -i "/Start QJI/,/End QJI/d" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \/\/ Start QJI - Set resolution and widescreen format" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \/\/ Start QJI - Set resolution and widescreen format" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ resolution: 540," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ resolution: 540," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ constraints: {" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ constraints: {" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ aspectRatio: 16 \/ 9," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ aspectRatio: 16 \/ 9," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ video: {" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ video: {" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ height: {" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ height: {" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ideal: 540," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ideal: 540," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ max: 540," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ max: 540," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ min: 180" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ min: 180" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ }," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ }," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ width: {" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ width: {" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ideal: 960," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ideal: 960," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ max: 960," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ max: 960," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ min: 320" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ min: 320" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ }" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ }" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ }" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ }" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ }," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ }," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \/\/ End QJI" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \/\/ End QJI" "$MEET_CONF_HP"
|
||||||
fi
|
fi
|
||||||
if [ "$VID_RES" = "720" ]; then
|
if [ "$VID_RES" = "720" ]; then
|
||||||
sed -i "/Start QJI/,/End QJI/d" $MEET_CONF_HP
|
sed -i "/Start QJI/,/End QJI/d" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \/\/ Start QJI - Set resolution and widescreen format" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \/\/ Start QJI - Set resolution and widescreen format" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ resolution: 720," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ resolution: 720," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ constraints: {" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ constraints: {" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ aspectRatio: 16 \/ 9," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ aspectRatio: 16 \/ 9," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ video: {" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ video: {" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ height: {" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ height: {" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ideal: 720," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ideal: 720," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ max: 720," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ max: 720," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ min: 180" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ min: 180" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ }," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ }," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ width: {" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ width: {" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ideal: 1280," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ideal: 1280," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ max: 1280," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ max: 1280," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ min: 320" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ min: 320" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ }" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ \ \ \ \ }" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ }" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ \ \ \ \ }" "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ }," $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \ \ \ \ \ }," "$MEET_CONF_HP"
|
||||||
sed -i "/Enable \/ disable simulcast support/i \/\/ End QJI" $MEET_CONF_HP
|
sed -i "/Enable \/ disable simulcast support/i \/\/ End QJI" "$MEET_CONF_HP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## interface_config.js
|
## interface_config.js
|
||||||
cp $INT_CONF_JS $INT_CONF_JS_HP
|
cp "$INT_CONF_JS" "$INT_CONF_JS_HP"
|
||||||
sed -i "s|CONNECTION_INDICATOR_DISABLED:.*|CONNECTION_INDICATOR_DISABLED: true,|" $INT_CONF_JS_HP
|
sed -i "s|CONNECTION_INDICATOR_DISABLED:.*|CONNECTION_INDICATOR_DISABLED: true,|" "$INT_CONF_JS_HP"
|
||||||
sed -i "s|DISABLE_DOMINANT_SPEAKER_INDICATOR:.*|DISABLE_DOMINANT_SPEAKER_INDICATOR: true,|" $INT_CONF_JS_HP
|
sed -i "s|DISABLE_DOMINANT_SPEAKER_INDICATOR:.*|DISABLE_DOMINANT_SPEAKER_INDICATOR: true,|" "$INT_CONF_JS_HP"
|
||||||
sed -i "s|DISABLE_FOCUS_INDICATOR:.*|DISABLE_FOCUS_INDICATOR: false,|" $INT_CONF_JS_HP
|
sed -i "s|DISABLE_FOCUS_INDICATOR:.*|DISABLE_FOCUS_INDICATOR: false,|" "$INT_CONF_JS_HP"
|
||||||
sed -i "s|DISABLE_JOIN_LEAVE_NOTIFICATIONS:.*|DISABLE_JOIN_LEAVE_NOTIFICATIONS: true,|" $INT_CONF_JS_HP
|
sed -i "s|DISABLE_JOIN_LEAVE_NOTIFICATIONS:.*|DISABLE_JOIN_LEAVE_NOTIFICATIONS: true,|" "$INT_CONF_JS_HP"
|
||||||
sed -i "s|DISABLE_VIDEO_BACKGROUND:.*|DISABLE_VIDEO_BACKGROUND: true,|" $INT_CONF_JS_HP
|
sed -i "s|DISABLE_VIDEO_BACKGROUND:.*|DISABLE_VIDEO_BACKGROUND: true,|" "$INT_CONF_JS_HP"
|
||||||
sed -i "s|OPTIMAL_BROWSERS: \[.*|OPTIMAL_BROWSERS: \[ 'chrome', 'chromium', 'electron' \],|" $INT_CONF_JS_HP
|
sed -i "s|OPTIMAL_BROWSERS: \[.*|OPTIMAL_BROWSERS: \[ 'chrome', 'chromium', 'electron' \],|" "$INT_CONF_JS_HP"
|
||||||
sed -i "s|UNSUPPORTED_BROWSERS: .*|UNSUPPORTED_BROWSERS: \[ 'nwjs', 'safari', 'firefox' \],|" $INT_CONF_JS_HP
|
sed -i "s|UNSUPPORTED_BROWSERS: .*|UNSUPPORTED_BROWSERS: \[ 'nwjs', 'safari', 'firefox' \],|" "$INT_CONF_JS_HP"
|
||||||
|
|
||||||
### Toolbars
|
### Toolbars
|
||||||
if version_gt "$(apt-show-versions jitsi-meet|awk '{print$2}')" "2.0.5390-3" ; then
|
if version_gt "$(apt-show-versions jitsi-meet|awk '{print$2}')" "2.0.5390-3" ; then
|
||||||
#New toolbar in config.js
|
#New toolbar in config.js
|
||||||
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ toolbarButtons:: \[" $MEET_CONF_HP
|
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ toolbarButtons:: \[" "$MEET_CONF_HP"
|
||||||
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \ \ \ \ 'microphone', 'camera', 'desktop', 'fullscreen'," $MEET_CONF_HP
|
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \ \ \ \ 'microphone', 'camera', 'desktop', 'fullscreen'," "$MEET_CONF_HP"
|
||||||
if [ -z "$CHAT_DISABLED" ] || [ "$CHAT_DISABLED" = "yes" ]; then
|
if [ -z "$CHAT_DISABLED" ] || [ "$CHAT_DISABLED" = "yes" ]; then
|
||||||
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \ \ \ \ 'fodeviceselection', 'hangup', 'profile', 'recording'," $MEET_CONF_HP
|
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \ \ \ \ 'fodeviceselection', 'hangup', 'profile', 'recording'," "$MEET_CONF_HP"
|
||||||
else
|
else
|
||||||
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \ \ \ \ 'fodeviceselection', 'hangup', 'profile', 'chat', 'recording'," $MEET_CONF_HP
|
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \ \ \ \ 'fodeviceselection', 'hangup', 'profile', 'chat', 'recording'," "$MEET_CONF_HP"
|
||||||
fi
|
fi
|
||||||
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \ \ \ \ 'livestreaming', 'etherpad', 'settings', 'raisehand'," $MEET_CONF_HP
|
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \ \ \ \ 'livestreaming', 'etherpad', 'settings', 'raisehand'," "$MEET_CONF_HP"
|
||||||
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \ \ \ \ 'videoquality', 'filmstrip', 'feedback'," $MEET_CONF_HP
|
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \ \ \ \ 'videoquality', 'filmstrip', 'feedback'," "$MEET_CONF_HP"
|
||||||
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \ \ \ \ 'tileview', 'download', 'help', 'mute-everyone', 'mute-video-everyone', 'security'" $MEET_CONF_HP
|
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \ \ \ \ 'tileview', 'download', 'help', 'mute-everyone', 'mute-video-everyone', 'security'" "$MEET_CONF_HP"
|
||||||
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \]," $MEET_CONF_HP
|
sed -i "/\/\/ toolbarButtons:/i \ \ \ \ \]," "$MEET_CONF_HP"
|
||||||
else
|
else
|
||||||
#Old toolbar in interface.js (soon deprecated on newer versions)
|
#Old toolbar in interface.js (soon deprecated on newer versions)
|
||||||
sed -i "/^\s*TOOLBAR_BUTTONS*\]$/ s|^|//|; /^\s*TOOLBAR_BUTTONS/, /\],$/ s|^|//|" $INT_CONF_JS_HP
|
sed -i "/^\s*TOOLBAR_BUTTONS*\]$/ s|^|//|; /^\s*TOOLBAR_BUTTONS/, /\],$/ s|^|//|" "$INT_CONF_JS_HP"
|
||||||
|
|
||||||
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ TOOLBAR_BUTTONS: \[" $INT_CONF_JS_HP
|
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ TOOLBAR_BUTTONS: \[" "$INT_CONF_JS_HP"
|
||||||
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \ \ \ \ 'microphone', 'camera', 'desktop', 'fullscreen'," $INT_CONF_JS_HP
|
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \ \ \ \ 'microphone', 'camera', 'desktop', 'fullscreen'," "$INT_CONF_JS_HP"
|
||||||
if [ -z "$CHAT_DISABLED" ] || [ "$CHAT_DISABLED" = "yes" ]; then
|
if [ -z "$CHAT_DISABLED" ] || [ "$CHAT_DISABLED" = "yes" ]; then
|
||||||
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \ \ \ \ 'fodeviceselection', 'hangup', 'profile', 'recording'," $INT_CONF_JS_HP
|
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \ \ \ \ 'fodeviceselection', 'hangup', 'profile', 'recording'," "$INT_CONF_JS_HP"
|
||||||
else
|
else
|
||||||
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \ \ \ \ 'fodeviceselection', 'hangup', 'profile', 'chat', 'recording'," $INT_CONF_JS_HP
|
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \ \ \ \ 'fodeviceselection', 'hangup', 'profile', 'chat', 'recording'," "$INT_CONF_JS_HP"
|
||||||
fi
|
fi
|
||||||
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \ \ \ \ 'livestreaming', 'etherpad', 'settings', 'raisehand'," $INT_CONF_JS_HP
|
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \ \ \ \ 'livestreaming', 'etherpad', 'settings', 'raisehand'," "$INT_CONF_JS_HP"
|
||||||
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \ \ \ \ 'videoquality', 'filmstrip', 'feedback'," $INT_CONF_JS_HP
|
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \ \ \ \ 'videoquality', 'filmstrip', 'feedback'," "$INT_CONF_JS_HP"
|
||||||
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \ \ \ \ 'tileview', 'download', 'help', 'mute-everyone', 'mute-video-everyone', 'security'" $INT_CONF_JS_HP
|
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \ \ \ \ 'tileview', 'download', 'help', 'mute-everyone', 'mute-video-everyone', 'security'" "$INT_CONF_JS_HP"
|
||||||
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \]," $INT_CONF_JS_HP
|
sed -i "/\/\/ TOOLBAR_BUTTONS/i \ \ \ \ \]," "$INT_CONF_JS_HP"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#Check config file
|
#Check config file
|
||||||
echo -e "\n# Checking $MEET_CONF file for errors\n"
|
echo -e "\n# Checking $MEET_CONF file for errors\n"
|
||||||
CHECKJS_MEET_CHP=$(esvalidate $MEET_CONF_HP| cut -d ":" -f2)
|
CHECKJS_MEET_CHP="$(esvalidate "$MEET_CONF_HP"| cut -d ":" -f2)"
|
||||||
if [ -z "$CHECKJS_MEET_CHP" ]; then
|
if [ -z "$CHECKJS_MEET_CHP" ]; then
|
||||||
echo -e "\n# The $MEET_CONF_HP configuration seems correct. =)\n"
|
echo -e "\n# The $MEET_CONF_HP configuration seems correct. =)\n"
|
||||||
else
|
else
|
||||||
|
@ -313,7 +313,7 @@ echo -e "\n Watch out!, there seems to be an issue on $MEET_CONF_HP line:
|
||||||
Most of the times this is due upstream changes, please report to
|
Most of the times this is due upstream changes, please report to
|
||||||
https://github.com/switnet-ltd/quick-jibri-installer/issues\n"
|
https://github.com/switnet-ltd/quick-jibri-installer/issues\n"
|
||||||
fi
|
fi
|
||||||
CHECKJS_INT_CHP=$(esvalidate $INT_CONF_JS_HP| cut -d ":" -f2)
|
CHECKJS_INT_CHP="$(esvalidate "$INT_CONF_JS_HP"| cut -d ":" -f2)"
|
||||||
if [ -z "$CHECKJS_INT_CHP" ]; then
|
if [ -z "$CHECKJS_INT_CHP" ]; then
|
||||||
echo -e "\n# The $INT_CONF_JS_HP configuration seems correct. =)\n"
|
echo -e "\n# The $INT_CONF_JS_HP configuration seems correct. =)\n"
|
||||||
else
|
else
|
||||||
|
@ -323,8 +323,8 @@ echo -e "\n Watch out!, there seems to be an issue on $INT_CONF_JS_HP line:
|
||||||
https://github.com/switnet-ltd/quick-jibri-installer/issues\n"
|
https://github.com/switnet-ltd/quick-jibri-installer/issues\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sed -i "s|$MEET_CONF|$MEET_CONF_HP|g" $WS_CONF
|
sed -i "s|$MEET_CONF|$MEET_CONF_HP|g" "$WS_CONF"
|
||||||
sed -i "s|$INT_CONF_JS|$INT_CONF_JS_HP|" $WS_CONF
|
sed -i "s|$INT_CONF_JS|$INT_CONF_JS_HP|" "$WS_CONF"
|
||||||
nginx -t
|
nginx -t
|
||||||
#systemctl restart nginx
|
#systemctl restart nginx
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
# GPLv3 or later.
|
# GPLv3 or later.
|
||||||
|
|
||||||
#Check if user is root
|
#Check if user is root
|
||||||
if ! [ $(id -u) = 0 ]; then
|
if ! [ "$(id -u)" = 0 ]; then
|
||||||
echo "You need to be root or have sudo privileges!"
|
echo "You need to be root or have sudo privileges!"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
@ -14,7 +14,7 @@ WAN_IP="$(dig +short myip.opendns.com @resolver1.opendns.com)"
|
||||||
AV_SPACE="$(df -h .|grep -v File|awk '{print$4}'|sed -e 's|G||')"
|
AV_SPACE="$(df -h .|grep -v File|awk '{print$4}'|sed -e 's|G||')"
|
||||||
|
|
||||||
echo -e "\n-- Make sure you have at least 10GB of disk space available.\n"
|
echo -e "\n-- Make sure you have at least 10GB of disk space available.\n"
|
||||||
if [ $(echo "$AV_SPACE > 9" | bc) -ne 0 ]; then
|
if [ "$(echo "$AV_SPACE > 9" | bc)" -ne 0 ]; then
|
||||||
echo "> Seems we have enough disk space."
|
echo "> Seems we have enough disk space."
|
||||||
else
|
else
|
||||||
echo "> Please meet the minimum required disk space for this installer, exiting..."
|
echo "> Please meet the minimum required disk space for this installer, exiting..."
|
||||||
|
@ -40,17 +40,17 @@ chmod +x /usr/local/bin/docker-compose
|
||||||
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
||||||
|
|
||||||
# Jitsi Meet Torture
|
# Jitsi Meet Torture
|
||||||
cd /opt
|
cd /opt || exit
|
||||||
git clone https://github.com/jitsi/jitsi-meet-torture
|
git clone https://github.com/jitsi/jitsi-meet-torture
|
||||||
cd jitsi-meet-torture/resources
|
cd jitsi-meet-torture/ || exit
|
||||||
if [ -f FourPeople_1280x720_30.y4m ] ; then
|
if [ -f resources/FourPeople_1280x720_30.y4m ] ; then
|
||||||
echo "FourPeople_1280x720_30.y4m exists"
|
echo "FourPeople_1280x720_30.y4m exists"
|
||||||
else
|
else
|
||||||
echo "FourPeople_1280x720_30.y4m doesn't exists, getting a copy..."
|
echo "FourPeople_1280x720_30.y4m doesn't exists, getting a copy..."
|
||||||
wget -c https://media.xiph.org/video/derf/y4m/FourPeople_1280x720_60.y4m
|
wget -c https://media.xiph.org/video/derf/y4m/FourPeople_1280x720_60.y4m
|
||||||
cp FourPeople_1280x720_60.y4m FourPeople_1280x720_30.y4m
|
mv FourPeople_1280x720_60.y4m resources/
|
||||||
|
cp resources/FourPeople_1280x720_60.y4m resources/FourPeople_1280x720_30.y4m
|
||||||
fi
|
fi
|
||||||
cd ..
|
|
||||||
|
|
||||||
#150 "participants" available
|
#150 "participants" available
|
||||||
## Tested up to 120 with AWS c5.24xlarge
|
## Tested up to 120 with AWS c5.24xlarge
|
||||||
|
@ -145,8 +145,8 @@ sudo bash /opt/jitsi-meet-torture/scripts/malleus.sh \\
|
||||||
--hub-url=http://localhost:4444/wd/hub \\
|
--hub-url=http://localhost:4444/wd/hub \\
|
||||||
--instance-url=https://YOUR.JITSI-MEET-INSTANCE.DOMAIN
|
--instance-url=https://YOUR.JITSI-MEET-INSTANCE.DOMAIN
|
||||||
"
|
"
|
||||||
echo -e "\n-- If using 'hamertesting' as prefix name you can join the room
|
echo -e "\n-- If using 'hamertesting' as prefix name you can join the room
|
||||||
hamertesting0, hamertesting1, hamertestingN
|
hamertesting0, hamertesting1, hamertestingN
|
||||||
according to the 'N' number of conferences you have set to watch the test.
|
according to the 'N' number of conferences you have set to watch the test.
|
||||||
|
|
||||||
*Beware* for 120 \"participants\" to join video-muted it was necessary at least a c5.24xlarge AWS instance.
|
*Beware* for 120 \"participants\" to join video-muted it was necessary at least a c5.24xlarge AWS instance.
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
# GPLv3 or later.
|
# GPLv3 or later.
|
||||||
|
|
||||||
#Check if user is root
|
#Check if user is root
|
||||||
if ! [ $(id -u) = 0 ]; then
|
if ! [ "$(id -u)" = 0 ]; then
|
||||||
echo "You need to be root or have privileges!"
|
echo "You need to be root or have privileges!"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
@ -22,7 +22,7 @@ done
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
# Starting system tune up configuration
|
# Starting system tune up configuration
|
||||||
# for high performance
|
# for high performance
|
||||||
#--------------------------------------------------
|
#--------------------------------------------------
|
||||||
'
|
'
|
||||||
|
@ -33,18 +33,18 @@ set -x
|
||||||
fi
|
fi
|
||||||
|
|
||||||
set_once() {
|
set_once() {
|
||||||
if [ -z "$(awk '!/^ *#/ && NF {print}' "$2"|grep $(echo $1|awk -F '=' '{print$1}'))" ]; then
|
if ! grep -q "$(awk '!/^ *#/ && NF {print}' "$2"|grep "$(awk -F '=' '{print$1}' <<< "$1")")" ; then
|
||||||
echo "Setting "$1" on "$2"..."
|
echo "Setting $1 on $2..."
|
||||||
echo "$1" | tee -a "$2"
|
echo "$1" | tee -a "$2"
|
||||||
else
|
else
|
||||||
echo " \"$(echo $1|awk -F '=' '{print$1}')\" seems present, skipping setting this variable"
|
echo " \"$(echo "$1"|awk -F '=' '{print$1}')\" seems present, skipping setting this variable"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
FSTAB=/etc/fstab
|
FSTAB=/etc/fstab
|
||||||
|
|
||||||
##Disable swap
|
##Disable swap
|
||||||
swapoff -a
|
swapoff -a
|
||||||
sed -r '/\sswap\s/s/^#?/#/' -i $FSTAB
|
sed -r '/\sswap\s/s/^#?/#/' -i "$FSTAB"
|
||||||
|
|
||||||
##Alternative swap tuning (need more documentation).
|
##Alternative swap tuning (need more documentation).
|
||||||
#vm.swappiness=5
|
#vm.swappiness=5
|
||||||
|
|
38
mode/jwt.sh
38
mode/jwt.sh
|
@ -2,15 +2,15 @@
|
||||||
# JWT Mode Setup
|
# JWT Mode Setup
|
||||||
# SwITNet Ltd © - 2021, https://switnet.net/
|
# SwITNet Ltd © - 2021, https://switnet.net/
|
||||||
# GPLv3 or later.
|
# GPLv3 or later.
|
||||||
DOMAIN=$(ls /etc/prosody/conf.d/ | grep -v localhost | awk -F'.cfg' '{print $1}' | awk '!NF || !seen[$0]++')
|
DOMAIN="$(find /etc/prosody/conf.d/ -name \*.lua|awk -F'.cfg' '!/localhost/{print $1}'|xargs basename)"
|
||||||
MEET_CONF="/etc/jitsi/meet/$DOMAIN-config.js"
|
MEET_CONF="/etc/jitsi/meet/$DOMAIN-config.js"
|
||||||
JICOFO_SIP="/etc/jitsi/jicofo/sip-communicator.properties"
|
JICOFO_SIP="/etc/jitsi/jicofo/sip-communicator.properties"
|
||||||
PROSODY_FILE="/etc/prosody/conf.d/$DOMAIN.cfg.lua"
|
PROSODY_FILE="/etc/prosody/conf.d/$DOMAIN.cfg.lua"
|
||||||
PROSODY_SYS="/etc/prosody/prosody.cfg.lua"
|
PROSODY_SYS="/etc/prosody/prosody.cfg.lua"
|
||||||
APP_ID="$(tr -dc "a-zA-Z0-9" < /dev/urandom | fold -w 16 | head -n1)"
|
APP_ID="$(tr -dc "a-zA-Z0-9" < /dev/urandom | fold -w 16 | head -n1)"
|
||||||
SECRET_APP="$(tr -dc "a-zA-Z0-9" < /dev/urandom | fold -w 64 | head -n1)"
|
SECRET_APP="$(tr -dc "a-zA-Z0-9" < /dev/urandom | fold -w 64 | head -n1)"
|
||||||
SRP_STR=$(grep -n "VirtualHost \"$DOMAIN\"" $PROSODY_FILE | head -n1 | cut -d ":" -f1)
|
SRP_STR="$(grep -n "VirtualHost \"$DOMAIN\"" "$PROSODY_FILE" | head -n1 | cut -d ":" -f1)"
|
||||||
SRP_END=$((SRP_STR + 10))
|
SRP_END="$((SRP_STR + 10))"
|
||||||
|
|
||||||
## Required openssl for Focal 20.04
|
## Required openssl for Focal 20.04
|
||||||
if [ "$(lsb_release -sc)" = "focal" ]; then
|
if [ "$(lsb_release -sc)" = "focal" ]; then
|
||||||
|
@ -37,26 +37,26 @@ echo "set jitsi-meet-tokens/appsecret password $SECRET_APP" | debconf-set-select
|
||||||
apt-get install -y jitsi-meet-tokens
|
apt-get install -y jitsi-meet-tokens
|
||||||
|
|
||||||
#Setting up
|
#Setting up
|
||||||
sed -i "s|c2s_require_encryption = true|c2s_require_encryption = false|" $PROSODY_SYS
|
sed -i "s|c2s_require_encryption = true|c2s_require_encryption = false|" "$PROSODY_SYS"
|
||||||
#-
|
#-
|
||||||
sed -i "$SRP_STR,$SRP_END{s|authentication = \"anonymous\"|authentication = \"token\"|}" $PROSODY_FILE
|
sed -i "$SRP_STR,$SRP_END{s|authentication = \"anonymous\"|authentication = \"token\"|}" "$PROSODY_FILE"
|
||||||
sed -i "s|--app_id=\"example_app_id\"|app_id=\"$APP_ID\"|" $PROSODY_FILE
|
sed -i "s|--app_id=\"example_app_id\"|app_id=\"$APP_ID\"|" "$PROSODY_FILE"
|
||||||
sed -i "s|--app_secret=\"example_app_secret\"|app_secret=\"$SECRET_APP\"|" $PROSODY_FILE
|
sed -i "s|--app_secret=\"example_app_secret\"|app_secret=\"$SECRET_APP\"|" "$PROSODY_FILE"
|
||||||
sed -i "/app_secret/a \\\\" $PROSODY_FILE
|
sed -i "/app_secret/a \\\\" "$PROSODY_FILE"
|
||||||
sed -i "/app_secret/a \ \ \ \ allow_empty_token = false" $PROSODY_FILE
|
sed -i "/app_secret/a \ \ \ \ allow_empty_token = false" "$PROSODY_FILE"
|
||||||
sed -i "/app_secret/a \\\\" $PROSODY_FILE
|
sed -i "/app_secret/a \\\\" "$PROSODY_FILE"
|
||||||
sed -i "/app_secret/a \ \ \ \ asap_accepted_issuers = { \"$APP_ID\" }" $PROSODY_FILE
|
sed -i "/app_secret/a \ \ \ \ asap_accepted_issuers = { \"$APP_ID\" }" "$PROSODY_FILE"
|
||||||
sed -i "/app_secret/a \ \ \ \ asap_accepted_audiences = { \"$APP_ID\", \"RocketChat\" }" $PROSODY_FILE
|
sed -i "/app_secret/a \ \ \ \ asap_accepted_audiences = { \"$APP_ID\", \"RocketChat\" }" "$PROSODY_FILE"
|
||||||
sed -i "/app_secret/a \\\\" $PROSODY_FILE
|
sed -i "/app_secret/a \\\\" "$PROSODY_FILE"
|
||||||
sed -i "s|--allow_empty_token =.*|allow_empty_token = false|" $PROSODY_FILE
|
sed -i "s|--allow_empty_token =.*|allow_empty_token = false|" "$PROSODY_FILE"
|
||||||
sed -i 's|--"token_verification"|"token_verification"|' $PROSODY_FILE
|
sed -i 's|--"token_verification"|"token_verification"|' "$PROSODY_FILE"
|
||||||
|
|
||||||
#Request auth
|
#Request auth
|
||||||
sed -i "s|#org.jitsi.jicofo.auth.URL=EXT_JWT:|org.jitsi.jicofo.auth.URL=EXT_JWT:|" $JICOFO_SIP
|
sed -i "s|#org.jitsi.jicofo.auth.URL=EXT_JWT:|org.jitsi.jicofo.auth.URL=EXT_JWT:|" "$JICOFO_SIP"
|
||||||
sed -i "s|// anonymousdomain: 'guest.example.com'|anonymousdomain: \'guest.$DOMAIN\'|" $MEET_CONF
|
sed -i "s|// anonymousdomain: 'guest.example.com'|anonymousdomain: \'guest.$DOMAIN\'|" "$MEET_CONF"
|
||||||
|
|
||||||
#Enable jibri recording
|
#Enable jibri recording
|
||||||
cat << REC-JIBRI >> $PROSODY_FILE
|
cat << REC-JIBRI >> "$PROSODY_FILE"
|
||||||
|
|
||||||
VirtualHost "recorder.$DOMAIN"
|
VirtualHost "recorder.$DOMAIN"
|
||||||
modules_enabled = {
|
modules_enabled = {
|
||||||
|
@ -67,7 +67,7 @@ VirtualHost "recorder.$DOMAIN"
|
||||||
REC-JIBRI
|
REC-JIBRI
|
||||||
|
|
||||||
#Setup guests and lobby
|
#Setup guests and lobby
|
||||||
cat << P_SR >> $PROSODY_FILE
|
cat << P_SR >> "$PROSODY_FILE"
|
||||||
-- #Change back lobby - https://community.jitsi.org/t/64769/136
|
-- #Change back lobby - https://community.jitsi.org/t/64769/136
|
||||||
VirtualHost "guest.$DOMAIN"
|
VirtualHost "guest.$DOMAIN"
|
||||||
authentication = "token"
|
authentication = "token"
|
||||||
|
|
Loading…
Reference in New Issue